matrix-art-preview

Page to land previews on for matrix art
git clone git://archive.git.mtrnord.blog/MTRNord/matrix-art-preview.git
Log | Files | Refs

commit 293605df0f978fbf6325e45855c5e14aa2357f7c
parent 78707b534cfd47e34f040956c4a867a8575af2de
Author: MTRNord <MTRNord@users.noreply.github.com>
Date:   Wed,  4 Jan 2023 20:06:26 +0000

deploy: MTRNord/matrix-art@0a5cdc29cce1bd89af00f10c1004e4911ba92e42

Diffstat:
Apr-281/.well-known/security.txt | 6++++++
Apr-281/Logo.svg | 11+++++++++++
Apr-281/assets/Join-37a69143.js | 1+
Apr-281/assets/Logo_colored-d78b4c05.svg | 94+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apr-281/assets/Post-5c395aa5.js | 1+
Apr-281/assets/Profile-dd4d5dae.js | 1+
Apr-281/assets/index-36005f12.js | 1+
Apr-281/assets/index-609d90bd.css | 1+
Apr-281/assets/indexeddb.worker-d9606cee.js | 1+
Apr-281/assets/olm-82e831ad.wasm | 0
Apr-281/assets/olm_legacy-086c8bde.js | 180+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apr-281/assets/vendor-10daaadc.js | 92+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apr-281/fonts/Inter-Black.woff2 | 0
Apr-281/fonts/Inter-Bold.woff2 | 0
Apr-281/fonts/Inter-ExtraBold.woff2 | 0
Apr-281/fonts/Inter-ExtraLight.woff2 | 0
Apr-281/fonts/Inter-Light.woff2 | 0
Apr-281/fonts/Inter-Medium.woff2 | 0
Apr-281/fonts/Inter-Regular.woff2 | 0
Apr-281/fonts/Inter-SemiBold.woff2 | 0
Apr-281/fonts/Inter-Thin.woff2 | 0
Apr-281/fonts/Inter-VariableFont_slnt,wght.woff2 | 0
Apr-281/index.html | 27+++++++++++++++++++++++++++
Apr-281/locales/de/translation.json | 1+
Apr-281/locales/en/translation.json | 14++++++++++++++
Apr-281/tick.svg | 5+++++
26 files changed, 436 insertions(+), 0 deletions(-)

diff --git a/pr-281/.well-known/security.txt b/pr-281/.well-known/security.txt @@ -0,0 +1,6 @@ +Contact: mailto:mtrnord@nordgedanken.dev +Contact: matrix:u/mtrnord:nordgedanken.dev +Contact: https://matrix.to/#/@mtrnord:nordgedanken.dev +Expires: 2176-02-14T11:04:00.000Z +Preferred-Languages: en +Canonical: https://art.midnightthoughts.space/.well-known/security.txt diff --git a/pr-281/Logo.svg b/pr-281/Logo.svg @@ -0,0 +1,11 @@ +<svg width="400" height="82" viewBox="0 0 400 82" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M105.578 67.4062C101.016 76.5312 94.5312 81.0938 86.125 81.0938C77.7812 81.0938 71.8125 75.4688 68.2188 64.2188C65.8438 56.7812 64.6562 47.7188 64.6562 37.0312C64.6562 33.0625 64.8125 28.8594 65.125 24.4219C59 36.3906 54.2344 48.2188 50.8281 59.9062H32.875L32.9219 24.3281C26.8594 36.3281 22.2031 48.1875 18.9531 59.9062H0.015625C12.6094 41.1875 22.5312 21.3125 29.7812 0.28125H48.5312C46.7188 11.5938 45.7656 23.4375 45.6719 35.8125C51.6719 23.4688 57.1406 11.625 62.0781 0.28125H83.4062C80.0625 8.84375 78.3906 17.9688 78.3906 27.6562C78.3906 28.875 78.4375 30.3906 78.5312 32.2031C78.8438 38.4844 79.2969 43.2031 79.8906 46.3594C80.7656 51.0469 82.2344 55.5156 84.2969 59.7656C87.7031 66.7656 91.7344 70.2656 96.3906 70.2656C101.141 70.2656 104.203 69.3125 105.578 67.4062Z" fill="black"/> +<path d="M132.062 18.8438C126.781 32.5312 122.609 46.2188 119.547 59.9062H103.844L104.547 57.6094C101.516 59.3281 98.4062 60.1875 95.2188 60.1875C91 60.1875 87.7031 58.7344 85.3281 55.8281C83.1094 53.1406 82 49.6406 82 45.3281C82 38.7656 84.1562 32.75 88.4688 27.2812C93.0938 21.4375 98.5781 18.5156 104.922 18.5156C109.578 18.5156 112.969 20 115.094 22.9688L116.359 18.8438H132.062ZM110.547 33.8906C110.547 30.6094 108.938 28.9688 105.719 28.9688C103.438 28.9688 101.422 29.9375 99.6719 31.875C97.9219 33.8125 97.0469 35.9375 97.0469 38.25C97.0469 41.6875 98.75 43.4062 102.156 43.4062C104.562 43.4062 106.594 42.4062 108.25 40.4062C109.781 38.5312 110.547 36.3594 110.547 33.8906Z" fill="black"/> +<path d="M167.547 18.5156L163.656 31.4531C160.344 31.3281 157.141 31.2188 154.047 31.125C151.234 40.4062 148.953 50 147.203 59.9062H130C132.844 52.625 136.016 43.0156 139.516 31.0781C136.234 31.1719 133.062 31.2969 130 31.4531L133.938 18.5156C136.844 18.6719 139.891 18.7812 143.078 18.8438C144.453 13.8438 145.891 8.5 147.391 2.8125H164.734C162.328 8.09375 160.141 13.4375 158.172 18.8438C161.172 18.75 164.297 18.6406 167.547 18.5156Z" fill="black"/> +<path d="M206.641 29.2969C204.828 28.3906 201.641 27.9375 197.078 27.9375C193.484 27.9375 190.469 28.9688 188.031 31.0312C185.344 33.3125 181.656 42.6875 176.969 59.1562H176.922L176.688 59.9062H160.984L173.453 18.8438H180.391C182.297 18.0312 184.531 17.625 187.094 17.625C192.312 17.625 198.828 21.5156 206.641 29.2969Z" fill="black"/> +<path d="M231.812 9.65625C231.812 11.8125 230.531 13.5469 227.969 14.8594C225.906 15.9219 223.672 16.4531 221.266 16.4531C218.828 16.4531 216.547 15.9219 214.422 14.8594C211.859 13.5781 210.578 11.8281 210.578 9.60938C210.578 7.39062 211.953 5.64062 214.703 4.35938C216.891 3.32812 219.234 2.8125 221.734 2.8125C224.203 2.8125 226.391 3.32812 228.297 4.35938C230.641 5.64062 231.812 7.40625 231.812 9.65625ZM226.375 18.8438L213.906 59.9062H198.203L210.672 18.8438H226.375Z" fill="black"/> +<path d="M271.188 18.8438L250.141 39.9375L258.672 59.9062H244.562L240.203 49.8281L230.125 59.9062H214.469L235.562 38.8594L226.984 18.8438H241.141L245.453 28.9688L255.578 18.8438H271.188Z" fill="black"/> +<path d="M345.344 67.4062C340.781 76.5312 334.312 81.0938 325.938 81.0938C318.719 81.0938 313.266 77.25 309.578 69.5625C306.984 64.1562 305.375 57.1719 304.75 48.6094H294.297C292.953 52.4219 291.719 56.1875 290.594 59.9062H272.078C283.859 38.7188 293.797 18.8438 301.891 0.28125H323.219C319.844 8.875 318.156 18 318.156 27.6562C318.156 28.875 318.203 30.3906 318.297 32.2031C318.609 38.5469 319.062 43.2656 319.656 46.3594C320.531 51.0156 322 55.4844 324.062 59.7656C327.438 66.7656 331.469 70.2656 336.156 70.2656C340.906 70.2656 343.969 69.3125 345.344 67.4062ZM304.984 24.2344C302.766 28.5156 300.734 32.7969 298.891 37.0781H304.469C304.5 33.0781 304.672 28.7969 304.984 24.2344Z" fill="black"/> +<path d="M366.203 29.2969C364.391 28.3906 361.203 27.9375 356.641 27.9375C353.047 27.9375 350.031 28.9688 347.594 31.0312C344.906 33.3125 341.219 42.6875 336.531 59.1562H336.484L336.25 59.9062H320.547L333.016 18.8438H339.953C341.859 18.0312 344.094 17.625 346.656 17.625C351.875 17.625 358.391 21.5156 366.203 29.2969Z" fill="black"/> +<path d="M399.766 18.5156L395.875 31.4531C392.562 31.3281 389.359 31.2188 386.266 31.125C383.453 40.4062 381.172 50 379.422 59.9062H362.219C365.062 52.625 368.234 43.0156 371.734 31.0781C368.453 31.1719 365.281 31.2969 362.219 31.4531L366.156 18.5156C369.062 18.6719 372.109 18.7812 375.297 18.8438C376.672 13.8438 378.109 8.5 379.609 2.8125H396.953C394.547 8.09375 392.359 13.4375 390.391 18.8438C393.391 18.75 396.516 18.6406 399.766 18.5156Z" fill="black"/> +</svg> diff --git a/pr-281/assets/Join-37a69143.js b/pr-281/assets/Join-37a69143.js @@ -0,0 +1 @@ +import{n as y,r as s,u as j,j as e}from"./vendor-10daaadc.js";import{C as N,H as C}from"./index-36005f12.js";const m="inline-block p-4 w-full text-gray-900 bg-gray-100 hover:ring-blue-300 hover:ring-1 focus:ring-transparent focus:outline-none dark:bg-gray-700 dark:text-white",x="inline-block p-4 w-full bg-white hover:text-gray-700 hover:bg-gray-50 hover:ring-blue-300 hover:ring-1 focus:ring-transparent focus:outline-none dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700";function H(){const f=y(),t=s.useContext(N),[n,p]=s.useState("https://matrix.art.midnightthoughts.space"),[o,b]=s.useState(""),[l,w]=s.useState(""),[h,v]=s.useState(!0),[a,g]=s.useState("login"),{t:r}=j(),k=async c=>{t&&(n===""||o===""||l===""||(a==="login"&&!(t!=null&&t.isLoggedIn())?await t.login(n,o,l,h):a==="register"&&!t.isLoggedIn()&&await t.register(n,o,l,h),f("/",{replace:!0})))},i=c=>{const d=c.target,u=d.type==="checkbox"?d.checked:d.value;switch(d.name){case"homeserver":p(u);break;case"username":b(u);break;case"password":w(u);break;case"createProfile":v(u);break}};return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("header",{children:e.jsx(C,{})}),e.jsxs("main",{className:"m-12 mt-6",children:[e.jsx("h1",{className:"text-3xl font-bold mb-4 text-white",children:r("Join")}),e.jsxs("div",{className:"flex items-center flex-col",children:[e.jsxs("ul",{className:"w-1/4 mb-8 hidden text-sm font-medium text-center text-gray-500 rounded-lg divide-x divide-gray-200 shadow sm:flex dark:divide-gray-700 dark:text-gray-400",children:[e.jsx("li",{className:"w-full",children:e.jsx("a",{href:"#",className:a==="login"?`${m} rounded-l-lg`:`${x} rounded-l-lg`,onClick:c=>{g("login")},children:r("Login")})}),e.jsx("li",{className:"w-full",children:e.jsx("a",{href:"#",className:a==="register"?`${m} rounded-r-lg`:`${x} rounded-r-lg`,onClick:c=>{g("register")},children:r("Register")})})]}),e.jsxs("form",{onSubmit:k,className:"flex flex-col items-start w-1/4",children:[e.jsx("input",{className:"search-bg shadow rounded-lg border-0 py-3 px-4 placeholder-data text-white mb-4 w-full",type:"url",placeholder:r("Homeserver"),name:"homeserver",value:n,onInput:i}),e.jsx("input",{className:"search-bg shadow rounded-lg border-0 py-3 px-4 placeholder-data text-white mb-4 w-full",autoComplete:"username",type:"text",placeholder:r("Username"),name:"username",value:o,onInput:i}),e.jsx("input",{className:"search-bg shadow rounded-lg border-0 py-3 px-4 placeholder-data text-white mb-4 w-full",autoComplete:"current-password",type:"password",placeholder:r("Password"),name:"password",value:l,onInput:i}),e.jsxs("label",{className:"mb-4 flex items-center",children:[e.jsx("input",{className:"checked:bg-blue-600 checked:border-transparent checked:bg-no-repeat checked:bg-[url('/tick.svg')] outline-none focus:outline-offset-2 focus:ring-blue-600 focus:ring-offset-2 focus:ring-offset-white p-0 inline-block align-middle box-border select-none shrink-0 shadow h-5 w-5 appearance-none rounded bg-white border-none",type:"checkbox",name:"createProfile",checked:h,onChange:i}),e.jsx("span",{className:"ml-4 text-data text-base font-medium",children:r("Create account")})]}),e.jsx("button",{type:"submit",className:"text-white font-bold text-lg logo-bg rounded-xl py-2 px-10 shadow transform transition-transform ease-in-out duration-300 hover:scale-105 w-1/2 self-center justify-center flex",children:r(a==="login"?"Login":"Register")})]})]})]})]})}export{H as default}; diff --git a/pr-281/assets/Logo_colored-d78b4c05.svg b/pr-281/assets/Logo_colored-d78b4c05.svg @@ -0,0 +1,93 @@ +<svg width="400" height="87" viewBox="20 10 400 87" fill="none" xmlns="http://www.w3.org/2000/svg"> + <g filter="url(#filter0_ddd_7_98)"> + <path + d="M125.562 77.1249C121 86.2499 114.516 90.8126 106.109 90.8126C97.7656 90.8126 91.7969 85.1876 88.2032 73.9376C85.8282 66.5 84.6406 57.4376 84.6406 46.75C84.6406 42.7813 84.7969 38.5781 85.1094 34.1406C78.9844 46.1094 74.2188 57.9376 70.8125 69.625H52.8594L52.9063 34.0469C46.8438 46.0469 42.1875 57.9062 38.9375 69.625H20C32.5938 50.9062 42.5156 31.0312 49.7656 10H68.5156C66.7032 21.3125 65.75 33.1562 65.6563 45.5312C71.6563 33.1875 77.125 21.3438 82.0625 10H103.391C100.047 18.5625 98.375 27.6876 98.375 37.375C98.375 38.5938 98.4219 40.1093 98.5156 41.9218C98.8282 48.2031 99.2813 52.9219 99.875 56.0782C100.75 60.7657 102.219 65.2343 104.281 69.4843C107.687 76.4843 111.719 79.9844 116.375 79.9844C121.125 79.9844 124.187 79.0312 125.562 77.1249Z" + fill="url(#paint0_linear_7_98)" /> + <path + d="M152.046 28.5625C146.765 42.2499 142.593 55.9376 139.531 69.625H123.828L124.531 67.3282C121.5 69.0469 118.391 69.9062 115.203 69.9062C110.984 69.9062 107.687 68.4532 105.312 65.5469C103.094 62.8594 101.984 59.3593 101.984 55.0468C101.984 48.4843 104.141 42.4688 108.453 37C113.078 31.1563 118.562 28.2344 124.906 28.2344C129.562 28.2344 132.953 29.7187 135.078 32.6875L136.343 28.5625H152.046ZM130.531 43.6093C130.531 40.3281 128.922 38.6875 125.703 38.6875C123.422 38.6875 121.406 39.6562 119.656 41.5938C117.906 43.5312 117.031 45.6562 117.031 47.9688C117.031 51.4062 118.734 53.125 122.14 53.125C124.546 53.125 126.578 52.125 128.234 50.125C129.765 48.25 130.531 46.0781 130.531 43.6093Z" + fill="url(#paint1_linear_7_98)" /> + <path + d="M187.531 28.2344L183.64 41.1719C180.328 41.0469 177.125 40.9376 174.031 40.8438C171.218 50.125 168.937 59.7188 167.187 69.625H149.984C152.828 62.3438 156 52.7344 159.5 40.7969C156.218 40.8907 153.046 41.0157 149.984 41.1719L153.922 28.2344C156.828 28.3907 159.875 28.4999 163.062 28.5625C164.437 23.5625 165.875 18.2188 167.375 12.5312H184.718C182.312 17.8125 180.125 23.1562 178.156 28.5625C181.156 28.4687 184.281 28.3594 187.531 28.2344Z" + fill="url(#paint2_linear_7_98)" /> + <path + d="M226.625 39.0156C224.812 38.1093 221.625 37.6562 217.062 37.6562C213.468 37.6562 210.453 38.6876 208.015 40.75C205.328 43.0313 201.64 52.4062 196.953 68.875H196.906L196.672 69.625H180.968L193.437 28.5625H200.375C202.281 27.7499 204.515 27.3438 207.078 27.3438C212.296 27.3438 218.812 31.2343 226.625 39.0156Z" + fill="url(#paint3_linear_7_98)" /> + <path + d="M251.796 19.375C251.796 21.5312 250.515 23.2656 247.953 24.5781C245.89 25.6406 243.656 26.1719 241.25 26.1719C238.812 26.1719 236.531 25.6406 234.406 24.5781C231.843 23.2968 230.562 21.5468 230.562 19.3281C230.562 17.1094 231.937 15.3594 234.687 14.0781C236.875 13.0469 239.218 12.5312 241.718 12.5312C244.187 12.5312 246.375 13.0469 248.281 14.0781C250.625 15.3594 251.796 17.125 251.796 19.375ZM246.359 28.5625L233.89 69.625H218.187L230.656 28.5625H246.359Z" + fill="url(#paint4_linear_7_98)" /> + <path + d="M291.172 28.5625L270.125 49.6562L278.656 69.625H264.546L260.187 59.5468L250.109 69.625H234.453L255.546 48.5782L246.968 28.5625H261.125L265.437 38.6875L275.562 28.5625H291.172Z" + fill="url(#paint5_linear_7_98)" /> + <path + d="M365.328 77.1249C360.765 86.2499 354.296 90.8126 345.922 90.8126C338.703 90.8126 333.25 86.9688 329.562 79.2812C326.968 73.8749 325.359 66.8907 324.734 58.3282H314.281C312.937 62.1407 311.703 65.9063 310.578 69.625H292.062C303.843 48.4375 313.781 28.5625 321.875 10H343.203C339.828 18.5938 338.14 27.7188 338.14 37.375C338.14 38.5938 338.187 40.1093 338.281 41.9218C338.593 48.2656 339.046 52.9844 339.64 56.0782C340.515 60.7344 341.984 65.2031 344.046 69.4843C347.422 76.4843 351.453 79.9844 356.14 79.9844C360.89 79.9844 363.953 79.0312 365.328 77.1249ZM324.968 33.9531C322.75 38.2343 320.718 42.5156 318.875 46.7968H324.453C324.484 42.7968 324.656 38.5156 324.968 33.9531Z" + fill="url(#paint6_linear_7_98)" /> + <path + d="M386.187 39.0156C384.375 38.1093 381.187 37.6562 376.625 37.6562C373.031 37.6562 370.015 38.6876 367.578 40.75C364.89 43.0313 361.203 52.4062 356.515 68.875H356.468L356.234 69.625H340.531L353 28.5625H359.937C361.843 27.7499 364.078 27.3438 366.64 27.3438C371.859 27.3438 378.375 31.2343 386.187 39.0156Z" + fill="url(#paint7_linear_7_98)" /> + <path + d="M419.75 28.2344L415.859 41.1719C412.546 41.0469 409.343 40.9376 406.25 40.8438C403.437 50.125 401.156 59.7188 399.406 69.625H382.203C385.046 62.3438 388.218 52.7344 391.718 40.7969C388.437 40.8907 385.265 41.0157 382.203 41.1719L386.14 28.2344C389.046 28.3907 392.093 28.4999 395.281 28.5625C396.656 23.5625 398.093 18.2188 399.593 12.5312H416.937C414.531 17.8125 412.343 23.1562 410.375 28.5625C413.375 28.4687 416.5 28.3594 419.75 28.2344Z" + fill="url(#paint8_linear_7_98)" /> + </g> + <defs> + <filter id="filter0_ddd_7_98" x="0" y="0" width="439.75" height="120.813" filterUnits="userSpaceOnUse" + color-interpolation-filters="sRGB"> + <feFlood flood-opacity="0" result="BackgroundImageFix" /> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" /> + <feOffset dy="2" /> + <feGaussianBlur stdDeviation="3" /> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0" /> + <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_7_98" /> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" /> + <feOffset dy="10" /> + <feGaussianBlur stdDeviation="10" /> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0" /> + <feBlend mode="normal" in2="effect1_dropShadow_7_98" result="effect2_dropShadow_7_98" /> + <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" + result="hardAlpha" /> + <feOffset dy="4" /> + <feGaussianBlur stdDeviation="2" /> + <feComposite in2="hardAlpha" operator="out" /> + <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" /> + <feBlend mode="normal" in2="effect2_dropShadow_7_98" result="effect3_dropShadow_7_98" /> + <feBlend mode="normal" in="SourceGraphic" in2="effect3_dropShadow_7_98" result="shape" /> + </filter> + <linearGradient id="paint0_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint1_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint2_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint3_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint4_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint5_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint6_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint7_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + <linearGradient id="paint8_linear_7_98" x1="-213.5" y1="50" x2="629.5" y2="50" gradientUnits="userSpaceOnUse"> + <stop stop-color="#751796" /> + <stop offset="1" stop-color="#FE7223" /> + </linearGradient> + </defs> +</svg> +\ No newline at end of file diff --git a/pr-281/assets/Post-5c395aa5.js b/pr-281/assets/Post-5c395aa5.js @@ -0,0 +1 @@ +import{p as e,j as s}from"./vendor-10daaadc.js";import{H as a}from"./index-36005f12.js";function t(){return e(),s.jsxs("div",{className:"flex flex-col",children:[s.jsx("header",{children:s.jsx(a,{})}),s.jsx("main",{className:"m-12 mt-6"})]})}export{t as default}; diff --git a/pr-281/assets/Profile-dd4d5dae.js b/pr-281/assets/Profile-dd4d5dae.js @@ -0,0 +1 @@ +import{p as e,j as s}from"./vendor-10daaadc.js";import{H as a}from"./index-36005f12.js";function i(){return e(),s.jsxs("div",{className:"flex flex-col",children:[s.jsx("header",{children:s.jsx(a,{})}),s.jsx("main",{className:"m-12 mt-6"})]})}export{i as default}; diff --git a/pr-281/assets/index-36005f12.js b/pr-281/assets/index-36005f12.js @@ -0,0 +1 @@ +var L=Object.defineProperty;var R=(n,t,s)=>t in n?L(n,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[t]=s;var h=(n,t,s)=>(R(n,typeof t!="symbol"?t+"":t,s),s);import{r as x,u as _,j as e,L as j,B as O,P as U,l,a,M,b as z,R as Y,c as S,O as F,o as W,d as q,i as V,e as X,f as G,g as $,h as J,k as K,m as Q}from"./vendor-10daaadc.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))o(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const c of r.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&o(c)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerpolicy&&(r.referrerPolicy=i.referrerpolicy),i.crossorigin==="use-credentials"?r.credentials="include":i.crossorigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function o(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();const Z="modulepreload",ee=function(n){return"/pr-281/"+n},T={},E=function(t,s,o){if(!s||s.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(s.map(r=>{if(r=ee(r),r in T)return;T[r]=!0;const c=r.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(!!o)for(let u=i.length-1;u>=0;u--){const p=i[u];if(p.href===r&&(!c||p.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${r}"]${d}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":Z,c||(m.as="script",m.crossOrigin=""),m.href=r,document.head.appendChild(m),c)return new Promise((u,p)=>{m.addEventListener("load",u),m.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${r}`)))})})).then(()=>t())},H=x.createContext(void 0),te="/pr-281/assets/Logo_colored-d78b4c05.svg";function P(){const n=x.useContext(H),{t}=_();return e.jsxs("div",{className:"m-12 flex flex-col lg:flex-row items-center justify-between",children:[e.jsx(j,{to:"/",children:e.jsx("img",{alt:"Matrix Art",src:te})}),e.jsxs("div",{className:"flex items-center mt-8 lg:mt-0 flex-col sm:flex-row",children:[e.jsxs("div",{className:"flex items-center lg:justify-between w-80 max-w-80 mx-6 ease-in-out hover:scale-105 transform transition-transform duration-300",children:[e.jsx("div",{className:"absolute ml-4",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#AAB3CF",children:[e.jsx("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})]})}),e.jsx("input",{className:"search-bg shadow rounded-2xl border-0 py-3 px-4 pl-12 text-data",placeholder:t("Search")})]}),n!=null&&n.isLoggedIn()?e.jsx(j,{to:"/",className:"text-white font-bold text-1xl logo-bg rounded-2xl py-3 px-12 shadow mt-4 sm:mt-0 transform transition-transform ease-in-out duration-300 hover:scale-105",children:t("Post")}):e.jsx(j,{to:"/join",className:"text-white font-bold text-1xl logo-bg rounded-2xl py-3 px-12 shadow mt-4 sm:mt-0 transform transition-transform ease-in-out duration-300 hover:scale-105",children:t("Join")})]})]})}function ie(n){let t="pending",s;const o=n().then(i=>{t="success",s=i},i=>{t="error",s=i});return{read(){switch(t){case"pending":throw o;case"error":throw s;case"success":return s}}}}const A=new Map;function se(n){let t=A.get(n);return t||(t=ie(()=>new Promise((s,o)=>{const i=new window.Image;i.src=n,i.addEventListener("load",()=>s(n)),i.addEventListener("error",()=>o(new Error(`Failed to load image ${n}`)))})),A.set(n,t),t)}function re(n){return se(n.src).read(),e.jsx("img",{...n})}function f({user:n,post:t}){return e.jsx(x.Suspense,{fallback:e.jsx("div",{className:"flex flex-col w-full",children:e.jsx(O,{color:"#FEA500"})}),children:e.jsxs("div",{className:"flex flex-col",children:[e.jsx(j,{"aria-label":`Open post by ${n.display_name}`,to:`/post/${t.event_id}`,className:"w-full",children:e.jsx(re,{className:"rounded-3xl shadow object-cover transform transition-transform ease-in-out duration-300 hover:scale-105",src:t.content.file.url})}),e.jsxs("div",{className:"flex items-center justify-between py-4",children:[e.jsxs(j,{className:"flex items-center",to:`/profile/${n.mxid}`,children:[e.jsx("img",{className:"w-11 h-11 rounded-full mr-4 border-2 border-[#AAB3CF] hover:border-indigo-300 ease-in-out duration-150",src:n.avatar_url}),e.jsx("p",{className:"text-data text-lg font-medium",children:n.display_name})]}),e.jsxs("div",{className:"flex text-data text-lg items-center",children:[e.jsxs("a",{className:"mr-4 flex items-center",href:"#",children:[e.jsx("span",{className:"mr-2 hover:fill-red-600 fill-[#AAB3CF] ease-in-out duration-150",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",children:[e.jsx("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e.jsx("path",{d:"M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z"})]})}),e.jsx("span",{children:"5"})]}),e.jsxs("a",{className:"flex items-center",href:"#",children:[e.jsx("span",{className:"mr-2 fill-[#AAB3CF] ease-in-out duration-150 hover:fill-orange-400",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",children:[e.jsx("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e.jsx("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"})]})}),e.jsx("span",{children:"11"})]})]})]})]})})}class g{constructor(t,s,o){h(this,"mxid");h(this,"display_name");h(this,"avatar_url");this.mxid=t,this.display_name=s,this.avatar_url=o}}class y{constructor(t,s){h(this,"event_id");h(this,"content");this.event_id=t,this.content=s}}const ne=[{size:500,columns:1},{size:800,columns:2},{size:1400,columns:3},{size:1401,columns:4}];function oe(){const{t:n}=_();return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("header",{children:e.jsx(P,{})}),e.jsxs("main",{className:"m-12 mt-6",children:[e.jsx("h1",{className:"text-3xl font-bold mb-4 text-white",children:n("Explore")}),e.jsx("div",{className:"flex justify-center",id:"gallery",children:e.jsxs(U,{gap:"24px",breakpoints:ne,children:[e.jsx(f,{user:new g("a","Person A","https://images.unsplash.com/photo-1519699047748-de8e457a634e?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=922&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3NzYyNA&ixlib=rb-4.0.3&q=80&w=922"),post:new y("a",{file:{url:"https://images.unsplash.com/photo-1648773009733-1eab564f3330?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=922&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3Nzk0MA&ixlib=rb-4.0.3&q=80&w=614"}})}),e.jsx(f,{user:new g("b","Person B","https://images.unsplash.com/photo-1485893086445-ed75865251e0?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=80&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3Nzc2Ng&ixlib=rb-4.0.3&q=80&w=80"),post:new y("b",{file:{url:"https://images.unsplash.com/photo-1648775933902-f633de370964?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=922&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODE1OQ&ixlib=rb-4.0.3&q=80&w=1383"}})}),e.jsx(f,{user:new g("c","Person C","https://images.unsplash.com/photo-1584997159889-8bb96d0a2217?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=80&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODAxNw&ixlib=rb-4.0.3&q=80&w=80"),post:new y("c",{file:{url:"https://images.unsplash.com/photo-1648793633175-f3635585014b?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=922&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODIwNA&ixlib=rb-4.0.3&q=80&w=614"}})}),e.jsx(f,{user:new g("d","Person D","https://images.unsplash.com/photo-1543123820-ac4a5f77da38?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=80&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODA0Ng&ixlib=rb-4.0.3&q=80&w=80"),post:new y("d",{file:{url:"https://images.unsplash.com/photo-1648775170273-dcbe48fb12a0?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=922&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODI1Ng&ixlib=rb-4.0.3&q=80&w=1229"}})}),e.jsx(f,{user:new g("e","Person E","https://images.unsplash.com/photo-1595687825617-10c4d36566e7?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=80&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODA3Mw&ixlib=rb-4.0.3&q=80&w=80"),post:new y("e",{file:{url:"https://images.unsplash.com/photo-1648769244858-6e20b5999a6b?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=922&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODI5Nw&ixlib=rb-4.0.3&q=80&w=651"}})}),e.jsx(f,{user:new g("f","Person E","https://images.unsplash.com/photo-1609010586352-ce4e725aa565?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=80&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODA5Mg&ixlib=rb-4.0.3&q=80&w=80"),post:new y("f",{file:{url:"https://images.unsplash.com/photo-1648750690732-f6eb85984ff8?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=921&ixid=MnwxfDB8MXxyYW5kb218MHx8fHx8fHx8MTY3Mjc3ODM1NQ&ixlib=rb-4.0.3&q=80&w=614"}})})]})})]})]})}const b=new l.UnstableValue("m.image","org.matrix.msc1767.image"),B=new l.UnstableValue("m.file","org.matrix.msc1767.file"),C=new l.UnstableValue("m.thumbnail","org.matrix.msc1767.thumbnail"),N=new l.UnstableValue("blurhash","xyz.amorgan.blurhash"),ae=new l.NamespacedValue("matrixart.description"),le=new l.NamespacedValue("matrixart.tags"),ce=new l.NamespacedValue("matrixart.nsfw"),de=new l.NamespacedValue("matrixart.license");class me extends l.ExtensibleEvent{constructor(s){super(s);h(this,"image");h(this,"text");h(this,"thumbnails");h(this,"blurhash");h(this,"file");h(this,"description");h(this,"tags");h(this,"nsfw",!1);h(this,"license");const o=b.findIn(this.wireContent),i=l.M_TEXT.findIn(this.wireContent),r=B.findIn(this.wireContent),c=C.findIn(this.wireContent),d=N.findIn(this.wireContent),w=ae.findIn(this.wireContent),m=le.findIn(this.wireContent),u=ce.findIn(this.wireContent),p=de.findIn(this.wireContent);if(l.isProvided(o)){if(!o)throw new l.InvalidEventError("m.image is required to be present");this.image=o}if(l.isProvided(r)){if(!r)throw new l.InvalidEventError("m.file is required to be present");this.file=r}if(l.isOptionalAString(i)){if(!o)throw new l.InvalidEventError("m.text is required to be present");this.text=i}if(l.isProvided(c)){if(!Array.isArray(c))throw new l.InvalidEventError("m.thumbnail contents must be an array");this.thumbnails=c}if(l.isOptionalAString(d)&&(this.blurhash=d),l.isOptionalAString(w)&&(this.description=w),l.isProvided(m)){if(!Array.isArray(m))throw new l.InvalidEventError("matrixart.tags contents must be an array");this.tags=m}if(l.isProvided(u)){if(typeof u!="boolean")throw new l.InvalidEventError("matrixart.tags contents must be an boolean");this.nsfw=u}l.isOptionalAString(p)&&(this.license=p)}isEquivalentTo(s){return l.isEventTypeSame(s,b)}serialize(){return{type:"m.image",content:{[l.M_TEXT.name]:this.text,[B.name]:this.file,[b.name]:this.image,[C.name]:this.thumbnails,[N.name]:this.blurhash,["matrixart.description"]:this.description,["matrixart.tags"]:this.tags,["matrixart.nsfw"]:this.nsfw,["matrixart.license"]:this.license}}}}function he(n){const t=n;return new me(t)}l.ExtensibleEvents.registerInterpreter(b,he);l.ExtensibleEvents.unknownInterpretOrder.push(b);function v(){return new Worker("/pr-281/assets/indexeddb.worker-d9606cee.js")}class D{constructor(t){h(this,"events",[]);h(this,"currentUserDirectory");h(this,"rootDirectory");this.client=t}static async new(){global.Olm||console.error("global.Olm does not seem to be present. Did you forget to add olm in the out directory?");let t;if(window.localStorage.getItem("server")!==null?t=window.localStorage.getItem("server"):t="https://matrix.art.midnightthoughts.space",!t)throw new Error("No matrix server URL defined");let s;if(window.localStorage.getItem("mxid_guest")!==null){const i=window.localStorage.getItem("mxid_guest")??void 0,r=window.localStorage.getItem("access_token_guest")??void 0,c=window.localStorage.getItem("device_id_guest")??void 0;s=a.createClient({useAuthorizationHeader:!0,baseUrl:t,userId:i,accessToken:r,deviceId:c,store:new a.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:guest",localStorage:window.localStorage,workerFactory:()=>new v}),cryptoStore:new a.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),s.setGuest(!0)}{const i=a.createClient({baseUrl:"https://matrix.art.midnightthoughts.space"}),{user_id:r,device_id:c,access_token:d}=await i.registerGuest();s=a.createClient({useAuthorizationHeader:!0,baseUrl:t,userId:r,accessToken:d,deviceId:c,store:new a.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:guest",localStorage:window.localStorage,workerFactory:()=>new v}),cryptoStore:new a.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),s.setGuest(!0),window.localStorage.setItem("mxid_guest",r),window.localStorage.setItem("access_token_guest",d),window.localStorage.setItem("device_id_guest",c),window.localStorage.setItem("server",t)}let o;if(window.localStorage.getItem("mxid")!==null){const i=window.localStorage.getItem("mxid")??void 0,r=window.localStorage.getItem("access_token")??void 0,c=window.localStorage.getItem("device_id")??void 0;o=a.createClient({useAuthorizationHeader:!0,baseUrl:t,userId:i,accessToken:r,deviceId:c,store:new a.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:guest",localStorage:window.localStorage,workerFactory:()=>new v}),cryptoStore:new a.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),o.setGuest(!1)}return new D(o??s)}isLoggedIn(){return this.client.isLoggedIn()&&!this.client.isGuest()}async start(){this.client.on(a.MatrixEventEvent.Decrypted,(s,o)=>{const i=s.unstableExtensibleEvent;i!=null&&i.isEquivalentTo(b)&&this.events.push(s)}),console.log("start"),await this.client.store.startup(),await this.client.initCrypto(),await this.client.startClient();const t=await this.client.joinRoom("");await k(1e3),this.rootDirectory=new M.MSC3089TreeSpace(this.client,t.roomId),console.log("started")}async register(t="https://matrix.art.midnightthoughts.space",s,o,i=!1){var r,c;if(this.client.stopClient(),this.client=a.createClient({useAuthorizationHeader:!0,baseUrl:t,userId:s,deviceId:"Matrix Art",store:new a.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:loggedin",localStorage:window.localStorage,workerFactory:()=>new v}),cryptoStore:new a.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),await this.client.register(s,o,null,{type:"m.login.dummy"}),window.localStorage.setItem("server",t),window.localStorage.setItem("mxid",s),window.localStorage.setItem("access_token",this.client.getAccessToken()??"unknown"),window.localStorage.setItem("device_id","Matrix Art"),await this.start(),i){const d=(r=this.rootDirectory)==null?void 0:r.getDirectories(),w=(c=this.client.getUserId())==null?void 0:c.replace(":","_");d!=null&&d.some(m=>m.room.name===w)?this.rootDirectory=d==null?void 0:d.find(m=>m.room.name===w):await this.createProfileFolder()}}async login(t,s,o,i=!1){var r,c;if(this.client.stopClient(),this.client=a.createClient({useAuthorizationHeader:!0,baseUrl:t,userId:s,deviceId:"Matrix Art",store:new a.IndexedDBStore({indexedDB:window.indexedDB,dbName:"matrix-art-sync:loggedin",localStorage:window.localStorage,workerFactory:()=>new v}),cryptoStore:new a.IndexedDBCryptoStore(window.indexedDB,"matrix-art:crypto")}),await this.client.loginWithPassword(s,o),window.localStorage.setItem("server",t),window.localStorage.setItem("mxid",s),window.localStorage.setItem("access_token",this.client.getAccessToken()??"unknown"),window.localStorage.setItem("device_id","Matrix Art"),await this.start(),i){const d=(r=this.rootDirectory)==null?void 0:r.getDirectories();console.log(d);const w=(c=this.client.getUserId())==null?void 0:c.replace(":","_");d!=null&&d.some(m=>m.room.name===w)?this.rootDirectory=d==null?void 0:d.find(m=>m.room.name===w):await this.createProfileFolder()}}async createProfileFolder(){var o;if(this.client.isGuest())throw new Error("Cannot create a file tree space as a guest");const t=await this.client.joinRoom("");await k(1e3),this.rootDirectory=new M.MSC3089TreeSpace(this.client,t.roomId);const s=(o=this.client.getUserId())==null?void 0:o.replace(":","_");this.currentUserDirectory=await this.createPublicSubDirectory(this.rootDirectory,s??"unknown"),await this.createPublicSubDirectory(this.currentUserDirectory,"Timeline")}async createPublicFileTree(t){var r;if(this.client.isGuest())throw new Error("Cannot create a file tree space as a guest");const{room_id:s}=await this.client.createRoom({name:t,preset:a.Preset.PublicChat,power_level_content_override:{...M.DEFAULT_TREE_POWER_LEVELS_TEMPLATE,users:{["@administrator:art.midnightthoughts.space"]:100,[this.client.getUserId()??"broken"]:100}},invite:["@administrator:art.midnightthoughts.space"],creation_content:{[a.RoomCreateTypeField]:a.RoomType.Space},initial_state:[{type:a.UNSTABLE_MSC3088_PURPOSE.name,state_key:a.UNSTABLE_MSC3089_TREE_SUBTYPE.name,content:{[a.UNSTABLE_MSC3088_ENABLED.name]:!0}},{type:a.EventType.RoomEncryption,state_key:"",content:{algorithm:z}},{type:a.EventType.RoomGuestAccess,state_key:"",content:{guest_access:"can_join"}},{type:a.EventType.RoomHistoryVisibility,state_key:"",content:{history_visibility:"world_readable"}}]}),o=this.client.getRoom(s),i=(r=o==null?void 0:o.getLiveTimeline().getState(a.EventTimeline.FORWARDS))==null?void 0:r.getStateEvents(a.EventType.RoomPowerLevels,"");if(!i)throw new Error("Failed to find PL event");return await this.client.setPowerLevel(s,this.client.getUserId()??"unknown",50,i),new M.MSC3089TreeSpace(this.client,s)}async createPublicSubDirectory(t,s){const o=await this.createPublicFileTree(s);return await this.client.sendStateEvent(t.roomId,a.EventType.SpaceChild,{via:[this.client.getDomain()]},o.roomId),await this.client.sendStateEvent(o.roomId,a.EventType.SpaceParent,{via:[this.client.getDomain()]},t.roomId),o}}function k(n){return new Promise(t=>setTimeout(t,n))}const xe=x.lazy(()=>E(()=>import("./Join-37a69143.js"),["assets/Join-37a69143.js","assets/vendor-10daaadc.js"])),we=x.lazy(()=>E(()=>import("./Post-5c395aa5.js"),["assets/Post-5c395aa5.js","assets/vendor-10daaadc.js"])),ue=x.lazy(()=>E(()=>import("./Profile-dd4d5dae.js"),["assets/Profile-dd4d5dae.js","assets/vendor-10daaadc.js"]));function pe(){const[n,t]=x.useState(void 0),s=()=>F.init({locateFile:()=>W}).then(()=>{console.log("Using WebAssembly Olm")}).catch(i=>(console.log("Failed to load Olm: trying legacy version",i),new Promise((r,c)=>{const d=document.createElement("script");d.src=q,d.onload=r,d.onerror=c,document.body.appendChild(d)}).then(()=>window.Olm.init()).then(()=>{console.log("Using legacy Olm")}).catch(r=>{console.log("Both WebAssembly and asm.js Olm failed!",r)}))),o=async()=>{let i=await D.new();t(i),console.log("Client loaded"),await(i==null?void 0:i.start()),console.log("Client started")};return x.useEffect(()=>{async function i(){try{await s(),console.log("Olm loaded")}catch{console.log("Olm not loaded")}await o()}n==null&&i()},[]),e.jsx(H.Provider,{value:n,children:e.jsxs(Y,{children:[e.jsx(S,{path:"/",element:e.jsx(oe,{})}),e.jsx(S,{path:"join",element:e.jsx(x.Suspense,{fallback:e.jsx(I,{}),children:e.jsx(xe,{})})}),e.jsx(S,{path:"/post/:postId",element:e.jsx(x.Suspense,{fallback:e.jsx(I,{}),children:e.jsx(we,{})})}),e.jsx(S,{path:"/profile/:userId",element:e.jsx(x.Suspense,{fallback:e.jsx(I,{}),children:e.jsx(ue,{})})})]})})}function I(){const{t:n}=_();return e.jsxs("div",{className:"flex flex-col",children:[e.jsx("header",{children:e.jsx(P,{})}),e.jsx("main",{className:"m-12 mt-6 flex items-center justify-center",children:e.jsx("p",{className:"text-lg text-data font-bold",children:n("Loading...")})})]})}V.use(X).use(G).use($).init({fallbackLng:"en",debug:!0,interpolation:{escapeValue:!1}});J.createRoot(document.querySelector("#app")).render(e.jsx(K.StrictMode,{children:e.jsx(Q,{basename:"/pr-281/",children:e.jsx(pe,{})})}));export{H as C,P as H}; diff --git a/pr-281/assets/index-609d90bd.css b/pr-281/assets/index-609d90bd.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.static{position:static}.absolute{position:absolute}.m-12{margin:3rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mr-2{margin-right:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.box-border{box-sizing:border-box}.inline-block{display:inline-block}.flex{display:flex}.contents{display:contents}.hidden{display:none}.h-11{height:2.75rem}.h-5{height:1.25rem}.w-80{width:20rem}.w-full{width:100%}.w-11{width:2.75rem}.w-1\/4{width:25%}.w-5{width:1.25rem}.w-1\/2{width:50%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 231 235 / var(--tw-divide-opacity))}.self-center{align-self:center}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded{border-radius:.25rem}.rounded-xl{border-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.border-0{border-width:0px}.border-2{border-width:2px}.border-none{border-style:none}.border-\[\#AAB3CF\]{--tw-border-opacity: 1;border-color:rgb(170 179 207 / var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.fill-\[\#AAB3CF\]{fill:#aab3cf}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.p-0{padding:0}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-12{padding-left:3rem;padding-right:3rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.pl-12{padding-left:3rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-300{transition-duration:.3s}.duration-150{transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@supports not (font-variation-settings: normal){@font-face{font-family:Inter;font-style:normal;font-weight:100;font-display:optional;src:url(/pr-281/fonts/Inter-Thin.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:optional;src:url(/pr-281/fonts/Inter-ExtraLight.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:optional;src:url(/pr-281/fonts/Inter-Light.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:optional;src:url(/pr-281/fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:optional;src:url(/pr-281/fonts/Inter-Medium.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:optional;src:url(/pr-281/fonts/Inter-SemiBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:optional;src:url(/pr-281/fonts/Inter-Bold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:optional;src:url(/pr-281/fonts/Inter-ExtraBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:optional;src:url(/pr-281/fonts/Inter-Black.woff2) format("woff2")}}@supports (font-variation-settings: normal){@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:optional;src:url(/pr-281/fonts/Inter-VariableFont_slnt,wght.woff2) format("woff2 supports variations"),url(/pr-281/fonts/Inter-VariableFont_slnt,wght.woff2) format("woff2-variations")}}html,body,#app{margin:0;height:100%}body{background-color:#424555}.logo-bg{background:linear-gradient(90deg,#751796 -58.41%,#FE7223 152.47%)}.search-bg{background:linear-gradient(90deg,rgba(196,196,196,.11) -33.43%,rgba(196,196,196,.07) 184.14%)}.text-data{color:#aab3cf}.placeholder-data::-moz-placeholder{color:#aab3cf}.placeholder-data::placeholder{color:#aab3cf}.checked\:border-transparent:checked{border-color:transparent}.checked\:bg-blue-600:checked{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.checked\:bg-\[url\(\'\/tick\.svg\'\)\]:checked{background-image:url(/pr-281/tick.svg)}.checked\:bg-no-repeat:checked{background-repeat:no-repeat}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-indigo-300:hover{--tw-border-opacity: 1;border-color:rgb(165 180 252 / var(--tw-border-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.hover\:fill-red-600:hover{fill:#dc2626}.hover\:fill-orange-400:hover{fill:#fb923c}.hover\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.hover\:ring-1:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-blue-300:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-offset-2:focus{outline-offset:2px}.focus\:ring-transparent:focus{--tw-ring-color: transparent}.focus\:ring-blue-600:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(37 99 235 / var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus\:ring-offset-white:focus{--tw-ring-offset-color: #fff}@media (prefers-color-scheme: dark){.dark\:divide-gray-700>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(55 65 81 / var(--tw-divide-opacity))}.dark\:bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity))}.dark\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.dark\:text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.dark\:hover\:bg-gray-700:hover{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity))}.dark\:hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}}@media (min-width: 640px){.sm\:mt-0{margin-top:0}.sm\:flex{display:flex}.sm\:flex-row{flex-direction:row}}@media (min-width: 1024px){.lg\:mt-0{margin-top:0}.lg\:flex-row{flex-direction:row}.lg\:justify-between{justify-content:space-between}} diff --git a/pr-281/assets/indexeddb.worker-d9606cee.js b/pr-281/assets/indexeddb.worker-d9606cee.js @@ -0,0 +1 @@ +(function(){"use strict";var je=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ve(o){if(o.__esModule)return o;var a=o.default;if(typeof a=="function"){var n=function p(){if(this instanceof p){var v=[null];v.push.apply(v,arguments);var f=Function.bind.apply(a,v);return new f}return a.apply(this,arguments)};n.prototype=a.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(o).forEach(function(p){var v=Object.getOwnPropertyDescriptor(o,p);Object.defineProperty(n,p,v.get?v:{enumerable:!0,get:function(){return o[p]}})}),n}var pe={},ne={},q={},qe={get exports(){return q},set exports(o){q=o}};(function(o){function a(n){return n&&n.__esModule?n:{default:n}}o.exports=a,o.exports.__esModule=!0,o.exports.default=o.exports})(qe);function G(o){return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(a){return typeof a}:function(a){return a&&typeof Symbol=="function"&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},G(o)}function Fe(o,a){if(G(o)!=="object"||o===null)return o;var n=o[Symbol.toPrimitive];if(n!==void 0){var p=n.call(o,a||"default");if(G(p)!=="object")return p;throw new TypeError("@@toPrimitive must return a primitive value.")}return(a==="string"?String:Number)(o)}function Ke(o){var a=Fe(o,"string");return G(a)==="symbol"?a:String(a)}function He(o,a,n){return a=Ke(a),a in o?Object.defineProperty(o,a,{value:n,enumerable:!0,configurable:!0,writable:!0}):o[a]=n,o}var $e=Object.freeze({__proto__:null,default:He}),z=Ve($e),Z={},F={},Q={},oe={},Ye={get exports(){return oe},set exports(o){oe=o}},he;function Xe(){return he||(he=1,function(o){(function(a,n){o.exports?o.exports=n():a.log=n()})(je,function(){var a=function(){},n="undefined",p=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent),v=["trace","debug","info","warn","error"];function f(u,i){var r=u[i];if(typeof r.bind=="function")return r.bind(u);try{return Function.prototype.bind.call(r,u)}catch{return function(){return Function.prototype.apply.apply(r,[u,arguments])}}}function d(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function g(u){return u==="debug"&&(u="log"),typeof console===n?!1:u==="trace"&&p?d:console[u]!==void 0?f(console,u):console.log!==void 0?f(console,"log"):a}function k(u,i){for(var r=0;r<v.length;r++){var e=v[r];this[e]=r<u?a:this.methodFactory(e,u,i)}this.log=this.debug}function x(u,i,r){return function(){typeof console!==n&&(k.call(this,i,r),this[u].apply(this,arguments))}}function L(u,i,r){return g(u)||x.apply(this,arguments)}function C(u,i,r){var e=this,s;i=i??"WARN";var l="loglevel";typeof u=="string"?l+=":"+u:typeof u=="symbol"&&(l=void 0);function N(y){var A=(v[y]||"silent").toUpperCase();if(!(typeof window===n||!l)){try{window.localStorage[l]=A;return}catch{}try{window.document.cookie=encodeURIComponent(l)+"="+A+";"}catch{}}}function b(){var y;if(!(typeof window===n||!l)){try{y=window.localStorage[l]}catch{}if(typeof y===n)try{var A=window.document.cookie,D=A.indexOf(encodeURIComponent(l)+"=");D!==-1&&(y=/^([^;]+)/.exec(A.slice(D))[1])}catch{}return e.levels[y]===void 0&&(y=void 0),y}}function O(){if(!(typeof window===n||!l)){try{window.localStorage.removeItem(l);return}catch{}try{window.document.cookie=encodeURIComponent(l)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}e.name=u,e.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},e.methodFactory=r||L,e.getLevel=function(){return s},e.setLevel=function(y,A){if(typeof y=="string"&&e.levels[y.toUpperCase()]!==void 0&&(y=e.levels[y.toUpperCase()]),typeof y=="number"&&y>=0&&y<=e.levels.SILENT){if(s=y,A!==!1&&N(y),k.call(e,y,u),typeof console===n&&y<e.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+y},e.setDefaultLevel=function(y){i=y,b()||e.setLevel(y,!1)},e.resetLevel=function(){e.setLevel(i,!1),O()},e.enableAll=function(y){e.setLevel(e.levels.TRACE,y)},e.disableAll=function(y){e.setLevel(e.levels.SILENT,y)};var P=b();P==null&&(P=i),e.setLevel(P,!1)}var R=new C,w={};R.getLogger=function(i){if(typeof i!="symbol"&&typeof i!="string"||i==="")throw new TypeError("You must supply a name when creating a logger.");var r=w[i];return r||(r=w[i]=new C(i,R.getLevel(),R.methodFactory)),r};var h=typeof window!==n?window.log:void 0;return R.noConflict=function(){return typeof window!==n&&window.log===R&&(window.log=h),R},R.getLoggers=function(){return w},R.default=R,R})}(Ye)),oe}var ge;function le(){if(ge)return Q;ge=1;var o=q;Object.defineProperty(Q,"__esModule",{value:!0}),Q.logger=void 0;var a=o(Xe());const n="matrix";a.default.methodFactory=function(d,g,k){return function(...x){return this.prefix&&x.unshift(this.prefix),d==="error"||d==="warn"||d==="trace"||d==="info"?console[d](...x):console.log(...x)}};const p=a.default.getLogger(n);Q.logger=p,p.setLevel(a.default.levels.DEBUG,!1);function v(d){d.withPrefix=function(g){const k=this.prefix||"";return f(k+g)}}v(p);function f(d){const g=a.default.getLogger(`${n}-${d}`);return g.prefix!==d&&(v(g),g.prefix=d,g.setLevel(a.default.levels.DEBUG,!1)),g}return Q}var S={},Je={0:"O",1:"l","֭":"֖","֮":"֘","֨":"֙","֤":"֚","᪴":"ۛ","⃛":"ۛ","ؙ":"̓","ࣳ":"̓","̓":"̓","̕":"̓","ُ":"̓","ٝ":"̔","֜":"́","֝":"́","ؘ":"́","݇":"́","́":"́","॔":"́","َ":"́","̀":"̀","॓":"̀","̌":"̆","꙼":"̆","٘":"̆","ٚ":"̆","ͮ":"̆","ۨ":"̆̇","̐":"̆̇","ँ":"̆̇","ঁ":"̆̇","ઁ":"̆̇","ଁ":"̆̇","ఀ":"̆̇","ಁ":"̆̇","ഁ":"̆̇","𑒿":"̆̇","᳐":"̂","̑":"̂","ٛ":"̂","߮":"̂","꛰":"̂","֯":"̊","۟":"̊","៓":"̊","゚":"̊","ْ":"̊","ஂ":"̊","ံ":"̊","ំ":"̊","𑌀":"̊","ํ":"̊","ໍ":"̊","ͦ":"̊","ⷪ":"̊","࣫":"̈","߳":"̈","ً":"̋","ࣰ":"̋","͂":"̃","ٓ":"̃","ׄ":"̇","۬":"̇","݀":"̇","࣪":"̇","݁":"̇","͘":"̇","ֹ":"̇","ֺ":"̇","ׂ":"̇","ׁ":"̇","߭":"̇","ं":"̇","ਂ":"̇","ં":"̇","்":"̇","̷":"̸","᪷":"̨","̢":"̨","ͅ":"̨","᳒":"̄","̅":"̄","ٙ":"̄","߫":"̄","꛱":"̄","᳚":"̎","ٗ":"̒","͗":"͐","ࣿ":"͐","ࣸ":"͐","ऀ":"͒","᳭":"̖","᳜":"̩","ٖ":"̩","᳕":"̫","͇":"̳","ࣹ":"͔","ࣺ":"͕","゛":"゙","゜":"゚","̶":"̵","〬":"̉","ׅ":"̣","࣭":"̣","᳝":"̣","ִ":"̣","ٜ":"̣","़":"̣","়":"̣","਼":"̣","઼":"̣","଼":"̣","𑇊":"̣","𑓃":"̣","𐨺":"̣","࣮":"̤","᳞":"̤","༷":"̥","〭":"̥","̧":"̦","̡":"̦","̹":"̦","᳙":"̭","᳘":"̮","॒":"̱","̠":"̱","ࣱ":"ٌ","ࣨ":"ٌ","ࣥ":"ٌ",ﱞ:"ﹲّ","ࣲ":"ٍ",ﱟ:"ﹴّ",ﳲ:"ﹷّ",ﱠ:"ﹶّ",ﳳ:"ﹹّ",ﱡ:"ﹸّ","ؚ":"ِ","̗":"ِ",ﳴ:"ﹻّ",ﱢ:"ﹺّ",ﱣ:"ﹼٰ","ٟ":"ٕ","̍":"ٰ","݂":"ܼ","ਃ":"ঃ","ః":"ঃ","ಃ":"ঃ","ഃ":"ঃ","ඃ":"ঃ","း":"ঃ","𑓁":"ঃ","់":"่","່":"่","້":"้","໊":"๊","໋":"๋","꙯":"⃩","\u2028":" ","\u2029":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" ","ߺ":"_","﹍":"_","﹎":"_","﹏":"_","‐":"-","‑":"-","‒":"-","–":"-","﹘":"-","۔":"-","⁃":"-","˗":"-","−":"-","➖":"-","Ⲻ":"-","⨩":"-̓","⸚":"-̈","﬩":"-̇","∸":"-̇","⨪":"-̣","꓾":"-.","~":"〜","؍":",","٫":",","‚":",","¸":",","ꓹ":",","⸲":"،","٬":"،",";":";","⸵":"؛","ः":":","ઃ":":",":":":","։":":","܃":":","܄":":","᛬":":","︰":":","᠃":":","᠉":":","⁚":":","׃":":","˸":":","꞉":":","∶":":",ː:":","ꓽ":":","⩴":"::=","⧴":":→","!":"!",ǃ:"!","ⵑ":"!","‼":"!!","⁉":"!?",ʔ:"?","Ɂ":"?","ॽ":"?",Ꭾ:"?","ꛫ":"?","⁈":"?!","⁇":"??","⸮":"؟","𝅭":".","․":".","܁":".","܂":".","꘎":".","𐩐":".","٠":".","۰":".","ꓸ":".","ꓻ":".,","‥":"..","ꓺ":"..","…":"...","꛴":"꛳꛳","・":"·","・":"·","᛫":"·","·":"·","⸱":"·","𐄁":"·","•":"·","‧":"·","∙":"·","⋅":"·","ꞏ":"·",ᐧ:"·","⋯":"···","ⵈ":"···",ᑄ:"·<","⋗":"·>",ᐷ:"·>",ᑀ:"·>",ᔯ:"·4",ᑾ:"·b",ᒀ:"·ḃ",ᑺ:"·d",ᒘ:"·J",ᒶ:"·L",ᑶ:"·P",ᑗ:"·U",ᐺ:"·V",ᐼ:"·Ʌ",ᒮ:"·Γ",ᐎ:"·Δ",ᑙ:"·Ո",ᐌ:"·ᐁ",ᐐ:"·ᐄ",ᐒ:"·ᐅ",ᐔ:"·ᐆ",ᐗ:"·ᐊ",ᐙ:"·ᐋ",ᐾ:"·ᐲ",ᑂ:"·ᐴ",ᑆ:"·ᐹ",ᑛ:"·ᑏ",ᑔ:"·ᑐ",ᑝ:"·ᑐ",ᑟ:"·ᑑ",ᑡ:"·ᑕ",ᑣ:"·ᑖ",ᑴ:"·ᑫ",ᑸ:"·ᑮ",ᑼ:"·ᑰ",ᒒ:"·ᒉ",ᒔ:"·ᒋ",ᒖ:"·ᒌ",ᒚ:"·ᒎ",ᒜ:"·ᒐ",ᒞ:"·ᒑ",ᒬ:"·ᒣ",ᒰ:"·ᒦ",ᒲ:"·ᒧ",ᒴ:"·ᒨ",ᒸ:"·ᒫ",ᓉ:"·ᓀ","ᣆ":"·ᓂ","ᣈ":"·ᓃ","ᣊ":"·ᓄ","ᣌ":"·ᓅ",ᓋ:"·ᓇ",ᓍ:"·ᓈ",ᓜ:"·ᓓ",ᓞ:"·ᓕ",ᓠ:"·ᓖ",ᓢ:"·ᓗ",ᓤ:"·ᓘ",ᓦ:"·ᓚ",ᓨ:"·ᓛ",ᓶ:"·ᓭ",ᓸ:"·ᓯ",ᓺ:"·ᓰ",ᓼ:"·ᓱ",ᓾ:"·ᓲ",ᔀ:"·ᓴ",ᔂ:"·ᓵ",ᔗ:"·ᔐ",ᔙ:"·ᔑ",ᔛ:"·ᔒ",ᔝ:"·ᔓ",ᔟ:"·ᔔ",ᔡ:"·ᔕ",ᔣ:"·ᔖ",ᔱ:"·ᔨ",ᔳ:"·ᔩ",ᔵ:"·ᔪ",ᔷ:"·ᔫ",ᔹ:"·ᔭ",ᔻ:"·ᔮ","ᣎ":"·ᕃ","ᣏ":"·ᕆ","ᣐ":"·ᕇ","ᣑ":"·ᕈ","ᣒ":"·ᕉ","ᣓ":"·ᕋ",ᕎ:"·ᕌ",ᕛ:"·ᕚ",ᕨ:"·ᕧ","ᢳ":"·ᢱ","ᢶ":"·ᢴ","ᢹ":"·ᢸ","ᣂ":"·ᣀ","꠰":"।","॥":"।।","᰼":"᰻᰻","။":"၊၊","᪩":"᪨᪨","᪫":"᪪᪨","᭟":"᭞᭞","𐩗":"𐩖𐩖","𑑌":"𑑋𑑋","𑙂":"𑙁𑙁","𑱂":"𑱁𑱁","᱿":"᱾᱾","՝":"'","'":"'","‘":"'","’":"'","‛":"'","′":"'","‵":"'","՚":"'","׳":"'","`":"'","`":"'","`":"'","´":"'","΄":"'","´":"'","᾽":"'","᾿":"'","῾":"'","ʹ":"'","ʹ":"'","ˈ":"'","ˊ":"'","ˋ":"'","˴":"'",ʻ:"'",ʽ:"'",ʼ:"'",ʾ:"'","ꞌ":"'",י:"'","ߴ":"'","ߵ":"'",ᑊ:"'",ᛌ:"'","𖽑":"'","𖽒":"'","᳓":"''",'"':"''",""":"''","“":"''","”":"''","‟":"''","″":"''","‶":"''","〃":"''","״":"''","˝":"''","ʺ":"''","˶":"''",ˮ:"''",ײ:"''","‴":"'''","‷":"'''","⁗":"''''",Ɓ:"'B",Ɗ:"'D",ʼn:"'n",Ƥ:"'P",Ƭ:"'T",Ƴ:"'Y","[":"(","❨":"(","❲":"(","〔":"(","﴾":"(","⸨":"((","㈠":"(ー)","⑵":"(2)","⒇":"(2O)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⒜":"(a)","🄐":"(A)","⒝":"(b)","🄑":"(B)","⒞":"(c)","🄒":"(C)","⒟":"(d)","🄓":"(D)","⒠":"(e)","🄔":"(E)","⒡":"(f)","🄕":"(F)","⒢":"(g)","🄖":"(G)","⒣":"(h)","🄗":"(H)","⒤":"(i)","⒥":"(j)","🄙":"(J)","⒦":"(k)","🄚":"(K)","⑴":"(l)","🄘":"(l)","⒧":"(l)","🄛":"(L)","⑿":"(l2)","⒀":"(l3)","⒁":"(l4)","⒂":"(l5)","⒃":"(l6)","⒄":"(l7)","⒅":"(l8)","⒆":"(l9)","⑾":"(ll)","⑽":"(lO)","🄜":"(M)","⒩":"(n)","🄝":"(N)","⒪":"(o)","🄞":"(O)","⒫":"(p)","🄟":"(P)","⒬":"(q)","🄠":"(Q)","⒭":"(r)","🄡":"(R)","⒨":"(rn)","⒮":"(s)","🄢":"(S)","🄪":"(S)","⒯":"(t)","🄣":"(T)","⒰":"(u)","🄤":"(U)","⒱":"(v)","🄥":"(V)","⒲":"(w)","🄦":"(W)","⒳":"(x)","🄧":"(X)","⒴":"(y)","🄨":"(Y)","⒵":"(z)","🄩":"(Z)","㈀":"(ᄀ)","㈎":"(가)","㈁":"(ᄂ)","㈏":"(나)","㈂":"(ᄃ)","㈐":"(다)","㈃":"(ᄅ)","㈑":"(라)","㈄":"(ᄆ)","㈒":"(마)","㈅":"(ᄇ)","㈓":"(바)","㈆":"(ᄉ)","㈔":"(사)","㈇":"(ᄋ)","㈕":"(아)","㈝":"(오전)","㈞":"(오후)","㈈":"(ᄌ)","㈖":"(자)","㈜":"(주)","㈉":"(ᄎ)","㈗":"(차)","㈊":"(ᄏ)","㈘":"(카)","㈋":"(ᄐ)","㈙":"(타)","㈌":"(ᄑ)","㈚":"(파)","㈍":"(ᄒ)","㈛":"(하)","㈦":"(七)","㈢":"(三)","🉁":"(三)","㈨":"(九)","㈡":"(二)","🉂":"(二)","㈤":"(五)","㈹":"(代)","㈽":"(企)","㉁":"(休)","㈧":"(八)","㈥":"(六)","㈸":"(労)","🉇":"(勝)","㈩":"(十)","㈿":"(協)","㈴":"(名)","㈺":"(呼)","㈣":"(四)","㈯":"(土)","㈻":"(学)","🉃":"(安)","🉅":"(打)","🉈":"(敗)","㈰":"(日)","㈪":"(月)","㈲":"(有)","㈭":"(木)","🉀":"(本)","㈱":"(株)","㈬":"(水)","㈫":"(火)","🉄":"(点)","㈵":"(特)","🉆":"(盗)","㈼":"(監)","㈳":"(社)","㈷":"(祝)","㉀":"(祭)","㉂":"(自)","㉃":"(至)","㈶":"(財)","㈾":"(資)","㈮":"(金)","]":")","❩":")","❳":")","〕":")","﴿":")","⸩":"))","❴":"{","𝄔":"{","❵":"}","〚":"⟦","〛":"⟧","⟨":"❬","〈":"❬","〈":"❬","㇛":"❬",く:"❬","𡿨":"❬","⟩":"❭","〉":"❭","〉":"❭","^":"︿","⸿":"¶","⁎":"*","٭":"*","∗":"*","𐌟":"*","᜵":"/","⁁":"/","∕":"/","⁄":"/","╱":"/","⟋":"/","⧸":"/","𝈺":"/","㇓":"/",〳:"/","Ⳇ":"/",ノ:"/",丿:"/","⼃":"/","⧶":"/̄","⫽":"//","⫻":"///","\":"\\","﹨":"\\","∖":"\\","⟍":"\\","⧵":"\\","⧹":"\\","𝈏":"\\","𝈻":"\\","㇔":"\\",丶:"\\","⼂":"\\","⳹":"\\\\","⑊":"\\\\","⟈":"\\ᑕ","ꝸ":"&","૰":"॰","𑂻":"॰","𑇇":"॰","⚬":"॰","𑇛":"꣼","៙":"๏","៕":"๚","៚":"๛","༌":"་","༎":"།།","˄":"^","ˆ":"^","꙾":"ˇ","˘":"ˇ","‾":"ˉ","﹉":"ˉ","﹊":"ˉ","﹋":"ˉ","﹌":"ˉ","¯":"ˉ"," ̄":"ˉ","▔":"ˉ",ъ:"ˉb","ꙑ":"ˉbi","͵":"ˏ","˻":"˪","꜖":"˪","꜔":"˫","。":"˳","⸰":"°","˚":"°","∘":"°","○":"°","◦":"°","⍜":"°̲","⍤":"°̈","℃":"°C","℉":"°F","௵":"௳","༛":"༚༚","༟":"༚༝","࿎":"༝༚","༞":"༝༝","Ⓒ":"©","Ⓡ":"®","Ⓟ":"℗","𝈛":"⅄","⯬":"↞","⯭":"↟","⯮":"↠","⯯":"↡","↵":"↲","⥥":"⇃⇂","⥯":"⇃ᛚ","𝛛":"∂","𝜕":"∂","𝝏":"∂","𝞉":"∂","𝟃":"∂","𞣌":"∂","𞣍":"∂̵",ð:"∂̵","⌀":"∅","𝛁":"∇","𝛻":"∇","𝜵":"∇","𝝯":"∇","𝞩":"∇","𑢨":"∇","⍢":"∇̈","⍫":"∇̴","█":"∎","■":"∎","⨿":"∐","᛭":"+","➕":"+","𐊛":"+","⨣":"+̂","⨢":"+̊","⨤":"+̃","∔":"+̇","⨥":"+̣","⨦":"+̰","⨧":"+₂","➗":"÷","‹":"<","❮":"<","˂":"<","𝈶":"<",ᐸ:"<",ᚲ:"<","⋖":"<·","Ⲵ":"<·",ᑅ:"<·","≪":"<<","⋘":"<<<","᐀":"=","⹀":"=","゠":"=","꓿":"=","≚":"=̆","≙":"=̂","≗":"=̊","≐":"=̇","≑":"=̣̇","⩮":"=⃰","⩵":"==","⩶":"===","≞":"=ͫ","›":">","❯":">","˃":">","𝈷":">",ᐳ:">","𖼿":">",ᑁ:">·","⪥":"><","≫":">>","⨠":">>","⋙":">>>","⁓":"~","˜":"~","῀":"~","∼":"~","⍨":"~̈","⸞":"~̇","⩪":"~̇","⸟":"~̣","𞣈":"∠","⋀":"∧","∯":"∮∮","∰":"∮∮∮","⸫":"∴","⸪":"∵","⸬":"∷","𑇞":"≈","♎":"≏","🝞":"≏","≣":"≡","⨃":"⊍","⨄":"⊎","𝈸":"⊏","𝈹":"⊐","⨅":"⊓","⨆":"⊔","⨂":"⊗","⍟":"⊛","🝱":"⊠","🝕":"⊡","◁":"⊲","▷":"⊳","⍣":"⋆̈","︴":"⌇","◠":"⌒","⨽":"⌙","⌥":"⌤","⧇":"⌻","◎":"⌾","⦾":"⌾","⧅":"⍂","⦰":"⍉","⏃":"⍋","⏂":"⍎","⏁":"⍕","⏆":"⍭","☸":"⎈","︵":"⏜","︶":"⏝","︷":"⏞","︸":"⏟","︹":"⏠","︺":"⏡","▱":"⏥","⏼":"⏻","︱":"│","|":"│","┃":"│","┏":"┌","┣":"├","▐":"▌","▗":"▖","▝":"▘","☐":"□","■":"▪","▸":"▶","►":"▶","⳩":"☧","🜊":"☩","🌒":"☽","🌙":"☽","⏾":"☾","🌘":"☾","⧙":"⦚","🜺":"⧟","⨾":"⨟","𐆠":"⳨","♩":"𝅘𝅥","♪":"𝅘𝅥𝅮","⓪":"🄍","↺":"🄎","˙":"ॱ","ൎ":"ॱ","-":"ー","—":"ー","―":"ー","─":"ー","━":"ー","㇐":"ー","ꟷ":"ー",ᅳ:"ー",ㅡ:"ー",一:"ー","⼀":"ー",ᆖ:"ーー","ힹ":"ーᅡ","ힺ":"ーᅥ","ힻ":"ーᅥ丨","ힼ":"ーᅩ",ᆕ:"ーᅮ",ᅴ:"ー丨",ㅢ:"ー丨",ᆗ:"ー丨ᅮ","🄏":"$⃠","₤":"£","〒":"₸","〶":"₸","᭜":"᭐","꧆":"꧐","𑓑":"১","೧":"౧","ၥ":"၁","①":"➀","⑩":"➉","⏨":"₁₀","𝟐":"2","𝟚":"2","𝟤":"2","𝟮":"2","𝟸":"2","🯲":"2","Ꝛ":"2",Ƨ:"2",Ϩ:"2","Ꙅ":"2",ᒿ:"2","ꛯ":"2","ꧏ":"٢","۲":"٢","૨":"२","𑓒":"২","೨":"౨","②":"➁",ƻ:"2̵","🄃":"2,","⒉":"2.","㏵":"22日","㍮":"22点","㏶":"23日","㍯":"23点","㏷":"24日","㍰":"24点","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏴":"2l日","㍭":"2l点","⒛":"2O.","㏳":"2O日","㍬":"2O点","෩":"෨ා","෯":"෨ී","㏡":"2日","㋁":"2月","㍚":"2点","𝈆":"3","𝟑":"3","𝟛":"3","𝟥":"3","𝟯":"3","𝟹":"3","🯳":"3","Ɜ":"3",Ȝ:"3",Ʒ:"3","Ꝫ":"3","Ⳍ":"3",З:"3",Ӡ:"3","𖼻":"3","𑣊":"3","۳":"٣","𞣉":"٣","૩":"३","③":"➂",Ҙ:"3̦","🄄":"3,","⒊":"3.","㏾":"3l日","㏽":"3O日","㏢":"3日","㋂":"3月","㍛":"3点","𝟒":"4","𝟜":"4","𝟦":"4","𝟰":"4","𝟺":"4","🯴":"4",Ꮞ:"4","𑢯":"4","۴":"٤","૪":"४","④":"➃","🄅":"4,","⒋":"4.",ᔰ:"4·","㏣":"4日","㋃":"4月","㍜":"4点","𝟓":"5","𝟝":"5","𝟧":"5","𝟱":"5","𝟻":"5","🯵":"5",Ƽ:"5","𑢻":"5","⑤":"➄","🄆":"5,","⒌":"5.","㏤":"5日","㋄":"5月","㍝":"5点","𝟔":"6","𝟞":"6","𝟨":"6","𝟲":"6","𝟼":"6","🯶":"6","Ⳓ":"6",б:"6",Ꮾ:"6","𑣕":"6","۶":"٦","𑓖":"৬","⑥":"➅","🄇":"6,","⒍":"6.","㏥":"6日","㋅":"6月","㍞":"6点","𝈒":"7","𝟕":"7","𝟟":"7","𝟩":"7","𝟳":"7","𝟽":"7","🯷":"7","𐓒":"7","𑣆":"7","⑦":"➆","🄈":"7,","⒎":"7.","㏦":"7日","㋆":"7月","㍟":"7点","ଃ":"8","৪":"8","੪":"8","𞣋":"8","𝟖":"8","𝟠":"8","𝟪":"8","𝟴":"8","𝟾":"8","🯸":"8",ȣ:"8",Ȣ:"8","𐌚":"8","૮":"८","⑧":"➇","🄉":"8,","⒏":"8.","㏧":"8日","㋇":"8月","㍠":"8点","੧":"9","୨":"9","৭":"9","൭":"9","𝟗":"9","𝟡":"9","𝟫":"9","𝟵":"9","𝟿":"9","🯹":"9","Ꝯ":"9","Ⳋ":"9","𑣌":"9","𑢬":"9","𑣖":"9","१":"٩","𑣤":"٩","۹":"٩","೯":"౯","⑨":"➈","🄊":"9,","⒐":"9.","㏨":"9日","㋈":"9月","㍡":"9点","⍺":"a",a:"a","𝐚":"a","𝑎":"a","𝒂":"a","𝒶":"a","𝓪":"a","𝔞":"a","𝕒":"a","𝖆":"a","𝖺":"a","𝗮":"a","𝘢":"a","𝙖":"a","𝚊":"a",ɑ:"a",α:"a","𝛂":"a","𝛼":"a","𝜶":"a","𝝰":"a","𝞪":"a",а:"a","ⷶ":"ͣ",A:"A","𝐀":"A","𝐴":"A","𝑨":"A","𝒜":"A","𝓐":"A","𝔄":"A","𝔸":"A","𝕬":"A","𝖠":"A","𝗔":"A","𝘈":"A","𝘼":"A","𝙰":"A",Α:"A","𝚨":"A","𝛢":"A","𝜜":"A","𝝖":"A","𝞐":"A",А:"A",Ꭺ:"A",ᗅ:"A","ꓮ":"A","𖽀":"A","𐊠":"A","⍶":"a̲",ǎ:"ă",Ǎ:"Ă",ȧ:"å",Ȧ:"Å",ẚ:"ả","℀":"a/c","℁":"a/s","ꜳ":"aa","Ꜳ":"AA",æ:"ae",ӕ:"ae",Æ:"AE",Ӕ:"AE","ꜵ":"ao","Ꜵ":"AO","🜇":"AR","ꜷ":"au","Ꜷ":"AU","ꜹ":"av","ꜻ":"av","Ꜹ":"AV","Ꜻ":"AV","ꜽ":"ay","Ꜽ":"AY","ꭺ":"ᴀ","∀":"Ɐ","𝈗":"Ɐ",ᗄ:"Ɐ","ꓯ":"Ɐ","𐐟":"Ɒ","𝐛":"b","𝑏":"b","𝒃":"b","𝒷":"b","𝓫":"b","𝔟":"b","𝕓":"b","𝖇":"b","𝖻":"b","𝗯":"b","𝘣":"b","𝙗":"b","𝚋":"b",Ƅ:"b",Ь:"b",Ꮟ:"b",ᑲ:"b",ᖯ:"b",B:"B",ℬ:"B","𝐁":"B","𝐵":"B","𝑩":"B","𝓑":"B","𝔅":"B","𝔹":"B","𝕭":"B","𝖡":"B","𝗕":"B","𝘉":"B","𝘽":"B","𝙱":"B","Ꞵ":"B",Β:"B","𝚩":"B","𝛣":"B","𝜝":"B","𝝗":"B","𝞑":"B",В:"B",Ᏼ:"B",ᗷ:"B","ꓐ":"B","𐊂":"B","𐊡":"B","𐌁":"B",ɓ:"b̔",ᑳ:"ḃ",ƃ:"b̄",Ƃ:"b̄",Б:"b̄",ƀ:"b̵",ҍ:"b̵",Ҍ:"b̵",ѣ:"b̵",Ѣ:"b̵",ᑿ:"b·",ᒁ:"ḃ·",ᒈ:"b'",Ы:"bl",в:"ʙ","ᏼ":"ʙ",c:"c","ⅽ":"c","𝐜":"c","𝑐":"c","𝒄":"c","𝒸":"c","𝓬":"c","𝔠":"c","𝕔":"c","𝖈":"c","𝖼":"c","𝗰":"c","𝘤":"c","𝙘":"c","𝚌":"c","ᴄ":"c",ϲ:"c","ⲥ":"c",с:"c","ꮯ":"c","𐐽":"c","ⷭ":"ͨ","🝌":"C","𑣲":"C","𑣩":"C",C:"C","Ⅽ":"C",ℂ:"C",ℭ:"C","𝐂":"C","𝐶":"C","𝑪":"C","𝒞":"C","𝓒":"C","𝕮":"C","𝖢":"C","𝗖":"C","𝘊":"C","𝘾":"C","𝙲":"C","Ϲ":"C","Ⲥ":"C",С:"C",Ꮯ:"C","ꓚ":"C","𐊢":"C","𐌂":"C","𐐕":"C","𐔜":"C","¢":"c̸","ȼ":"c̸","₡":"C⃫","🅮":"C⃠",ç:"c̦",ҫ:"c̦",Ç:"C̦",Ҫ:"C̦",Ƈ:"C'","℅":"c/o","℆":"c/u","🅭":"㏄ ⃝","⋴":"ꞓ",ɛ:"ꞓ",ε:"ꞓ","ϵ":"ꞓ","𝛆":"ꞓ","𝛜":"ꞓ","𝜀":"ꞓ","𝜖":"ꞓ","𝜺":"ꞓ","𝝐":"ꞓ","𝝴":"ꞓ","𝞊":"ꞓ","𝞮":"ꞓ","𝟄":"ꞓ","ⲉ":"ꞓ",є:"ꞓ","ԑ":"ꞓ","ꮛ":"ꞓ","𑣎":"ꞓ","𐐩":"ꞓ","€":"Ꞓ","Ⲉ":"Ꞓ",Є:"Ꞓ","⍷":"ꞓ̲","ͽ":"ꜿ","Ͽ":"Ꜿ","ⅾ":"d","ⅆ":"d","𝐝":"d","𝑑":"d","𝒅":"d","𝒹":"d","𝓭":"d","𝔡":"d","𝕕":"d","𝖉":"d","𝖽":"d","𝗱":"d","𝘥":"d","𝙙":"d","𝚍":"d","ԁ":"d",Ꮷ:"d",ᑯ:"d","ꓒ":"d","Ⅾ":"D","ⅅ":"D","𝐃":"D","𝐷":"D","𝑫":"D","𝒟":"D","𝓓":"D","𝔇":"D","𝔻":"D","𝕯":"D","𝖣":"D","𝗗":"D","𝘋":"D","𝘿":"D","𝙳":"D",Ꭰ:"D",ᗞ:"D",ᗪ:"D","ꓓ":"D",ɗ:"d̔",ɖ:"d̨",ƌ:"d̄",đ:"d̵",Đ:"D̵",Ð:"D̵",Ɖ:"D̵","₫":"ḏ̵","ꝺ":"Ꝺ",ᑻ:"d·",ᒇ:"d'",ʤ:"dȝ",dz:"dz",ʣ:"dz",Dz:"Dz",DZ:"DZ",dž:"dž",Dž:"Dž",DŽ:"DŽ",ʥ:"dʑ","ꭰ":"ᴅ","⸹":"ẟ",δ:"ẟ","𝛅":"ẟ","𝛿":"ẟ","𝜹":"ẟ","𝝳":"ẟ","𝞭":"ẟ",ծ:"ẟ",ᕷ:"ẟ","℮":"e",e:"e",ℯ:"e","ⅇ":"e","𝐞":"e","𝑒":"e","𝒆":"e","𝓮":"e","𝔢":"e","𝕖":"e","𝖊":"e","𝖾":"e","𝗲":"e","𝘦":"e","𝙚":"e","𝚎":"e","ꬲ":"e",е:"e",ҽ:"e","ⷷ":"ͤ","⋿":"E",E:"E",ℰ:"E","𝐄":"E","𝐸":"E","𝑬":"E","𝓔":"E","𝔈":"E","𝔼":"E","𝕰":"E","𝖤":"E","𝗘":"E","𝘌":"E","𝙀":"E","𝙴":"E",Ε:"E","𝚬":"E","𝛦":"E","𝜠":"E","𝝚":"E","𝞔":"E",Е:"E","ⴹ":"E",Ꭼ:"E","ꓰ":"E","𑢦":"E","𑢮":"E","𐊆":"E",ě:"ĕ",Ě:"Ĕ","ɇ":"e̸","Ɇ":"E̸",ҿ:"ę","ꭼ":"ᴇ",ə:"ǝ",ә:"ǝ","∃":"Ǝ","ⴺ":"Ǝ","ꓱ":"Ǝ",ɚ:"ǝ˞","ᴔ":"ǝo","ꭁ":"ǝo̸","ꭂ":"ǝo̵",Ә:"Ə","𝈡":"Ɛ",ℇ:"Ɛ","Ԑ":"Ɛ",Ꮛ:"Ɛ","𖼭":"Ɛ","𐐁":"Ɛ","ᶟ":"ᵋ","ᴈ":"ɜ",з:"ɜ",ҙ:"ɜ̦","𐑂":"ɞ","ꞝ":"ʚ","𐐪":"ʚ","𝐟":"f","𝑓":"f","𝒇":"f","𝒻":"f","𝓯":"f","𝔣":"f","𝕗":"f","𝖋":"f","𝖿":"f","𝗳":"f","𝘧":"f","𝙛":"f","𝚏":"f","ꬵ":"f","ꞙ":"f",ſ:"f","ẝ":"f",ք:"f","𝈓":"F",ℱ:"F","𝐅":"F","𝐹":"F","𝑭":"F","𝓕":"F","𝔉":"F","𝔽":"F","𝕱":"F","𝖥":"F","𝗙":"F","𝘍":"F","𝙁":"F","𝙵":"F","Ꞙ":"F",Ϝ:"F","𝟊":"F",ᖴ:"F","ꓝ":"F","𑣂":"F","𑢢":"F","𐊇":"F","𐊥":"F","𐔥":"F",ƒ:"f̦",Ƒ:"F̦","ᵮ":"f̴","℻":"FAX",ff:"ff",ffi:"ffi",ffl:"ffl",fi:"fi",fl:"fl",ʩ:"fŋ",ᖵ:"Ⅎ","ꓞ":"Ⅎ","𝈰":"ꟻ",ᖷ:"ꟻ",g:"g",ℊ:"g","𝐠":"g","𝑔":"g","𝒈":"g","𝓰":"g","𝔤":"g","𝕘":"g","𝖌":"g","𝗀":"g","𝗴":"g","𝘨":"g","𝙜":"g","𝚐":"g",ɡ:"g","ᶃ":"g",ƍ:"g",ց:"g","𝐆":"G","𝐺":"G","𝑮":"G","𝒢":"G","𝓖":"G","𝔊":"G","𝔾":"G","𝕲":"G","𝖦":"G","𝗚":"G","𝘎":"G","𝙂":"G","𝙶":"G","Ԍ":"G",Ꮐ:"G",Ᏻ:"G","ꓖ":"G","ᶢ":"ᵍ",ɠ:"g̔",ǧ:"ğ",Ǧ:"Ğ",ǵ:"ģ",ǥ:"g̵",Ǥ:"G̵",Ɠ:"G'","ԍ":"ɢ","ꮐ":"ɢ","ᏻ":"ɢ",h:"h",ℎ:"h","𝐡":"h","𝒉":"h","𝒽":"h","𝓱":"h","𝔥":"h","𝕙":"h","𝖍":"h","𝗁":"h","𝗵":"h","𝘩":"h","𝙝":"h","𝚑":"h",һ:"h",հ:"h",Ꮒ:"h",H:"H",ℋ:"H",ℌ:"H",ℍ:"H","𝐇":"H","𝐻":"H","𝑯":"H","𝓗":"H","𝕳":"H","𝖧":"H","𝗛":"H","𝘏":"H","𝙃":"H","𝙷":"H",Η:"H","𝚮":"H","𝛨":"H","𝜢":"H","𝝜":"H","𝞖":"H","Ⲏ":"H",Н:"H",Ꮋ:"H",ᕼ:"H","ꓧ":"H","𐋏":"H","ᵸ":"ᴴ",ɦ:"h̔","ꚕ":"h̔",Ᏺ:"h̔","Ⱨ":"H̩",Ң:"H̩",ħ:"h̵",ℏ:"h̵",ћ:"h̵",Ħ:"H̵","Ӊ":"H̦",Ӈ:"H̦",н:"ʜ","ꮋ":"ʜ",ң:"ʜ̩","ӊ":"ʜ̦",ӈ:"ʜ̦","Ԋ":"Ƕ","ꮀ":"ⱶ","Ͱ":"Ⱶ",Ꭸ:"Ⱶ",Ꮀ:"Ⱶ","ꚱ":"Ⱶ","ꞕ":"ꜧ","˛":"i","⍳":"i",i:"i","ⅰ":"i",ℹ:"i","ⅈ":"i","𝐢":"i","𝑖":"i","𝒊":"i","𝒾":"i","𝓲":"i","𝔦":"i","𝕚":"i","𝖎":"i","𝗂":"i","𝗶":"i","𝘪":"i","𝙞":"i","𝚒":"i",ı:"i","𝚤":"i",ɪ:"i",ɩ:"i",ι:"i",ι:"i",ͺ:"i","𝛊":"i","𝜄":"i","𝜾":"i","𝝸":"i","𝞲":"i",і:"i","ꙇ":"i","ӏ":"i","ꭵ":"i",Ꭵ:"i","𑣃":"i","ⓛ":"Ⓘ","⍸":"i̲",ǐ:"ĭ",Ǐ:"Ĭ",ɨ:"i̵","ᵻ":"i̵","ᵼ":"i̵","ⅱ":"ii","ⅲ":"iii",ij:"ij","ⅳ":"iv","ⅸ":"ix",j:"j","ⅉ":"j","𝐣":"j","𝑗":"j","𝒋":"j","𝒿":"j","𝓳":"j","𝔧":"j","𝕛":"j","𝖏":"j","𝗃":"j","𝗷":"j","𝘫":"j","𝙟":"j","𝚓":"j",ϳ:"j",ј:"j",J:"J","𝐉":"J","𝐽":"J","𝑱":"J","𝒥":"J","𝓙":"J","𝔍":"J","𝕁":"J","𝕵":"J","𝖩":"J","𝗝":"J","𝘑":"J","𝙅":"J","𝙹":"J","Ʝ":"J","Ϳ":"J",Ј:"J",Ꭻ:"J",ᒍ:"J","ꓙ":"J","ɉ":"j̵","Ɉ":"J̵",ᒙ:"J·","𝚥":"ȷ",յ:"ȷ","ꭻ":"ᴊ","𝐤":"k","𝑘":"k","𝒌":"k","𝓀":"k","𝓴":"k","𝔨":"k","𝕜":"k","𝖐":"k","𝗄":"k","𝗸":"k","𝘬":"k","𝙠":"k","𝚔":"k",K:"K",K:"K","𝐊":"K","𝐾":"K","𝑲":"K","𝒦":"K","𝓚":"K","𝔎":"K","𝕂":"K","𝕶":"K","𝖪":"K","𝗞":"K","𝘒":"K","𝙆":"K","𝙺":"K",Κ:"K","𝚱":"K","𝛫":"K","𝜥":"K","𝝟":"K","𝞙":"K","Ⲕ":"K",К:"K",Ꮶ:"K",ᛕ:"K","ꓗ":"K","𐔘":"K",ƙ:"k̔","Ⱪ":"K̩",Қ:"K̩","₭":"K̵","Ꝁ":"K̵",Ҟ:"K̵",Ƙ:"K'","׀":"l","|":"l","∣":"l","⏽":"l","│":"l","١":"l","۱":"l","𐌠":"l","𞣇":"l","𝟏":"l","𝟙":"l","𝟣":"l","𝟭":"l","𝟷":"l","🯱":"l",I:"l",I:"l","Ⅰ":"l",ℐ:"l",ℑ:"l","𝐈":"l","𝐼":"l","𝑰":"l","𝓘":"l","𝕀":"l","𝕴":"l","𝖨":"l","𝗜":"l","𝘐":"l","𝙄":"l","𝙸":"l",Ɩ:"l",l:"l","ⅼ":"l",ℓ:"l","𝐥":"l","𝑙":"l","𝒍":"l","𝓁":"l","𝓵":"l","𝔩":"l","𝕝":"l","𝖑":"l","𝗅":"l","𝗹":"l","𝘭":"l","𝙡":"l","𝚕":"l",ǀ:"l",Ι:"l","𝚰":"l","𝛪":"l","𝜤":"l","𝝞":"l","𝞘":"l","Ⲓ":"l",І:"l",Ӏ:"l",ו:"l",ן:"l",ا:"l","𞸀":"l","𞺀":"l",ﺎ:"l",ﺍ:"l","ߊ":"l","ⵏ":"l",ᛁ:"l","ꓲ":"l","𖼨":"l","𐊊":"l","𐌉":"l","𝈪":"L","Ⅼ":"L",ℒ:"L","𝐋":"L","𝐿":"L","𝑳":"L","𝓛":"L","𝔏":"L","𝕃":"L","𝕷":"L","𝖫":"L","𝗟":"L","𝘓":"L","𝙇":"L","𝙻":"L","Ⳑ":"L",Ꮮ:"L",ᒪ:"L","ꓡ":"L","𖼖":"L","𑢣":"L","𑢲":"L","𐐛":"L","𐔦":"L",ﴼ:"l̋",ﴽ:"l̋",ł:"l̸",Ł:"L̸",ɭ:"l̨",Ɨ:"l̵",ƚ:"l̵",ɫ:"l̴",إ:"lٕ",ﺈ:"lٕ",ﺇ:"lٕ",ٳ:"lٕ",ŀ:"l·",Ŀ:"l·",ᒷ:"l·","🄂":"l,","⒈":"l.",ױ:"l'","⒓":"l2.","㏫":"l2日","㋋":"l2月","㍤":"l2点","⒔":"l3.","㏬":"l3日","㍥":"l3点","⒕":"l4.","㏭":"l4日","㍦":"l4点","⒖":"l5.","㏮":"l5日","㍧":"l5点","⒗":"l6.","㏯":"l6日","㍨":"l6点","⒘":"l7.","㏰":"l7日","㍩":"l7点","⒙":"l8.","㏱":"l8日","㍪":"l8点","⒚":"l9.","㏲":"l9日","㍫":"l9点",lj:"lj",IJ:"lJ",Lj:"Lj",LJ:"LJ","‖":"ll","∥":"ll","Ⅱ":"ll",ǁ:"ll",װ:"ll","𐆙":"l̵l̵","⒒":"ll.","Ⅲ":"lll","𐆘":"l̵l̵S̵","㏪":"ll日","㋊":"ll月","㍣":"ll点",Ю:"lO","⒑":"lO.","㏩":"lO日","㋉":"lO月","㍢":"lO点",ʪ:"ls","₶":"lt","Ⅳ":"lV","Ⅸ":"lX",ɮ:"lȝ",ʫ:"lz",أ:"lٴ",ﺄ:"lٴ",ﺃ:"lٴ",ٲ:"lٴ",ٵ:"lٴ",ﷳ:"lكبر",ﷲ:"lللّٰo","㏠":"l日","㋀":"l月","㍙":"l点","ⳑ":"ʟ","ꮮ":"ʟ","𐑃":"ʟ",M:"M","Ⅿ":"M",ℳ:"M","𝐌":"M","𝑀":"M","𝑴":"M","𝓜":"M","𝔐":"M","𝕄":"M","𝕸":"M","𝖬":"M","𝗠":"M","𝘔":"M","𝙈":"M","𝙼":"M",Μ:"M","𝚳":"M","𝛭":"M","𝜧":"M","𝝡":"M","𝞛":"M","Ϻ":"M","Ⲙ":"M",М:"M",Ꮇ:"M",ᗰ:"M",ᛖ:"M","ꓟ":"M","𐊰":"M","𐌑":"M","Ӎ":"M̦","🝫":"MB","ⷨ":"ᷟ","𝐧":"n","𝑛":"n","𝒏":"n","𝓃":"n","𝓷":"n","𝔫":"n","𝕟":"n","𝖓":"n","𝗇":"n","𝗻":"n","𝘯":"n","𝙣":"n","𝚗":"n",ո:"n",ռ:"n",N:"N",ℕ:"N","𝐍":"N","𝑁":"N","𝑵":"N","𝒩":"N","𝓝":"N","𝔑":"N","𝕹":"N","𝖭":"N","𝗡":"N","𝘕":"N","𝙉":"N","𝙽":"N",Ν:"N","𝚴":"N","𝛮":"N","𝜨":"N","𝝢":"N","𝞜":"N","Ⲛ":"N","ꓠ":"N","𐔓":"N","𐆎":"N̊",ɳ:"n̨",ƞ:"n̩",η:"n̩","𝛈":"n̩","𝜂":"n̩","𝜼":"n̩","𝝶":"n̩","𝞰":"n̩",Ɲ:"N̦","ᵰ":"n̴",nj:"nj",Nj:"Nj",NJ:"NJ","№":"No","ͷ":"ᴎ",и:"ᴎ","𐑍":"ᴎ",ņ:"ɲ","ం":"o","ಂ":"o","ം":"o","ං":"o","०":"o","੦":"o","૦":"o","௦":"o","౦":"o","೦":"o","൦":"o","๐":"o","໐":"o","၀":"o","٥":"o","۵":"o",o:"o",ℴ:"o","𝐨":"o","𝑜":"o","𝒐":"o","𝓸":"o","𝔬":"o","𝕠":"o","𝖔":"o","𝗈":"o","𝗼":"o","𝘰":"o","𝙤":"o","𝚘":"o","ᴏ":"o","ᴑ":"o","ꬽ":"o",ο:"o","𝛐":"o","𝜊":"o","𝝄":"o","𝝾":"o","𝞸":"o",σ:"o","𝛔":"o","𝜎":"o","𝝈":"o","𝞂":"o","𝞼":"o","ⲟ":"o",о:"o","ჿ":"o",օ:"o",ס:"o",ه:"o","𞸤":"o","𞹤":"o","𞺄":"o",ﻫ:"o",ﻬ:"o",ﻪ:"o",ﻩ:"o",ھ:"o",ﮬ:"o",ﮭ:"o",ﮫ:"o",ﮪ:"o",ہ:"o",ﮨ:"o",ﮩ:"o",ﮧ:"o",ﮦ:"o",ە:"o",ഠ:"o",ဝ:"o","𐓪":"o","𑣈":"o","𑣗":"o","𐐬":"o","߀":"O","০":"O","୦":"O","〇":"O","𑓐":"O","𑣠":"O","𝟎":"O","𝟘":"O","𝟢":"O","𝟬":"O","𝟶":"O","🯰":"O",O:"O","𝐎":"O","𝑂":"O","𝑶":"O","𝒪":"O","𝓞":"O","𝔒":"O","𝕆":"O","𝕺":"O","𝖮":"O","𝗢":"O","𝘖":"O","𝙊":"O","𝙾":"O",Ο:"O","𝚶":"O","𝛰":"O","𝜪":"O","𝝤":"O","𝞞":"O","Ⲟ":"O",О:"O",Օ:"O","ⵔ":"O",ዐ:"O",ଠ:"O","𐓂":"O","ꓳ":"O","𑢵":"O","𐊒":"O","𐊫":"O","𐐄":"O","𐔖":"O","⁰":"º","ᵒ":"º",ǒ:"ŏ",Ǒ:"Ŏ","ۿ":"ô",Ő:"Ö",ø:"o̸","ꬾ":"o̸",Ø:"O̸","ⵁ":"O̸",Ǿ:"Ó̸",ɵ:"o̵","ꝋ":"o̵",ө:"o̵",ѳ:"o̵","ꮎ":"o̵","ꮻ":"o̵","⊖":"O̵","⊝":"O̵","⍬":"O̵","𝈚":"O̵","🜔":"O̵",Ɵ:"O̵","Ꝋ":"O̵",θ:"O̵",ϑ:"O̵","𝛉":"O̵","𝛝":"O̵","𝜃":"O̵","𝜗":"O̵","𝜽":"O̵","𝝑":"O̵","𝝷":"O̵","𝞋":"O̵","𝞱":"O̵","𝟅":"O̵",Θ:"O̵","ϴ":"O̵","𝚯":"O̵","𝚹":"O̵","𝛩":"O̵","𝛳":"O̵","𝜣":"O̵","𝜭":"O̵","𝝝":"O̵","𝝧":"O̵","𝞗":"O̵","𝞡":"O̵",Ө:"O̵",Ѳ:"O̵","ⴱ":"O̵",Ꮎ:"O̵",Ꮻ:"O̵","ꭴ":"ơ",ﳙ:"oٰ","🄁":"O,","🄀":"O.",ơ:"o'",Ơ:"O'",Ꭴ:"O'","%":"º/₀","٪":"º/₀","⁒":"º/₀","‰":"º/₀₀","؉":"º/₀₀","‱":"º/₀₀₀","؊":"º/₀₀₀",œ:"oe",Œ:"OE",ɶ:"oᴇ","∞":"oo","ꝏ":"oo","ꚙ":"oo","Ꝏ":"OO","Ꚙ":"OO",ﳗ:"oج",ﱑ:"oج",ﳘ:"oم",ﱒ:"oم",ﶓ:"oمج",ﶔ:"oمم",ﱓ:"oى",ﱔ:"oى","ൟ":"oരo",တ:"oာ","㍘":"O点","ↄ":"ɔ","ᴐ":"ɔ","ͻ":"ɔ","𐑋":"ɔ","Ↄ":"Ɔ","Ͻ":"Ɔ","ꓛ":"Ɔ","𐐣":"Ɔ","ꬿ":"ɔ̸","ꭢ":"ɔe","𐐿":"ɷ","⍴":"p",p:"p","𝐩":"p","𝑝":"p","𝒑":"p","𝓅":"p","𝓹":"p","𝔭":"p","𝕡":"p","𝖕":"p","𝗉":"p","𝗽":"p","𝘱":"p","𝙥":"p","𝚙":"p",ρ:"p",ϱ:"p","𝛒":"p","𝛠":"p","𝜌":"p","𝜚":"p","𝝆":"p","𝝔":"p","𝞀":"p","𝞎":"p","𝞺":"p","𝟈":"p","ⲣ":"p",р:"p",P:"P",ℙ:"P","𝐏":"P","𝑃":"P","𝑷":"P","𝒫":"P","𝓟":"P","𝔓":"P","𝕻":"P","𝖯":"P","𝗣":"P","𝘗":"P","𝙋":"P","𝙿":"P",Ρ:"P","𝚸":"P","𝛲":"P","𝜬":"P","𝝦":"P","𝞠":"P","Ⲣ":"P",Р:"P",Ꮲ:"P",ᑭ:"P","ꓑ":"P","𐊕":"P",ƥ:"p̔","ᵽ":"p̵",ᑷ:"p·",ᒆ:"P'","ᴩ":"ᴘ","ꮲ":"ᴘ",φ:"ɸ",ϕ:"ɸ","𝛗":"ɸ","𝛟":"ɸ","𝜑":"ɸ","𝜙":"ɸ","𝝋":"ɸ","𝝓":"ɸ","𝞅":"ɸ","𝞍":"ɸ","𝞿":"ɸ","𝟇":"ɸ","ⲫ":"ɸ",ф:"ɸ","𝐪":"q","𝑞":"q","𝒒":"q","𝓆":"q","𝓺":"q","𝔮":"q","𝕢":"q","𝖖":"q","𝗊":"q","𝗾":"q","𝘲":"q","𝙦":"q","𝚚":"q","ԛ":"q",գ:"q",զ:"q",ℚ:"Q","𝐐":"Q","𝑄":"Q","𝑸":"Q","𝒬":"Q","𝓠":"Q","𝔔":"Q","𝕼":"Q","𝖰":"Q","𝗤":"Q","𝘘":"Q","𝙌":"Q","𝚀":"Q","ⵕ":"Q",ʠ:"q̔","🜀":"QE","ᶐ":"ɋ","ᴋ":"ĸ",κ:"ĸ",ϰ:"ĸ","𝛋":"ĸ","𝛞":"ĸ","𝜅":"ĸ","𝜘":"ĸ","𝜿":"ĸ","𝝒":"ĸ","𝝹":"ĸ","𝞌":"ĸ","𝞳":"ĸ","𝟆":"ĸ","ⲕ":"ĸ",к:"ĸ","ꮶ":"ĸ",қ:"ĸ̩",ҟ:"ĸ̵","𝐫":"r","𝑟":"r","𝒓":"r","𝓇":"r","𝓻":"r","𝔯":"r","𝕣":"r","𝖗":"r","𝗋":"r","𝗿":"r","𝘳":"r","𝙧":"r","𝚛":"r","ꭇ":"r","ꭈ":"r","ᴦ":"r","ⲅ":"r",г:"r","ꮁ":"r","𝈖":"R",ℛ:"R",ℜ:"R",ℝ:"R","𝐑":"R","𝑅":"R","𝑹":"R","𝓡":"R","𝕽":"R","𝖱":"R","𝗥":"R","𝘙":"R","𝙍":"R","𝚁":"R",Ʀ:"R",Ꭱ:"R",Ꮢ:"R","𐒴":"R",ᖇ:"R","ꓣ":"R","𖼵":"R",ɽ:"r̨",ɼ:"r̩","ɍ":"r̵",ғ:"r̵","ᵲ":"r̴",ґ:"r'","𑣣":"rn",m:"rn","ⅿ":"rn","𝐦":"rn","𝑚":"rn","𝒎":"rn","𝓂":"rn","𝓶":"rn","𝔪":"rn","𝕞":"rn","𝖒":"rn","𝗆":"rn","𝗺":"rn","𝘮":"rn","𝙢":"rn","𝚖":"rn","𑜀":"rn","₥":"rn̸",ɱ:"rn̦","ᵯ":"rn̴","₨":"Rs","ꭱ":"ʀ","ꮢ":"ʀ",я:"ᴙ","ᵳ":"ɾ̴","℩":"ɿ",s:"s","𝐬":"s","𝑠":"s","𝒔":"s","𝓈":"s","𝓼":"s","𝔰":"s","𝕤":"s","𝖘":"s","𝗌":"s","𝘀":"s","𝘴":"s","𝙨":"s","𝚜":"s","ꜱ":"s",ƽ:"s",ѕ:"s","ꮪ":"s","𑣁":"s","𐑈":"s",S:"S","𝐒":"S","𝑆":"S","𝑺":"S","𝒮":"S","𝓢":"S","𝔖":"S","𝕊":"S","𝕾":"S","𝖲":"S","𝗦":"S","𝘚":"S","𝙎":"S","𝚂":"S",Ѕ:"S",Տ:"S",Ꮥ:"S",Ꮪ:"S","ꓢ":"S","𖼺":"S","𐊖":"S","𐐠":"S",ʂ:"s̨","ᵴ":"s̴","ꞵ":"ß",β:"ß",ϐ:"ß","𝛃":"ß","𝛽":"ß","𝜷":"ß","𝝱":"ß","𝞫":"ß",Ᏸ:"ß","🝜":"sss",st:"st","∫":"ʃ","ꭍ":"ʃ","∑":"Ʃ","⅀":"Ʃ",Σ:"Ʃ","𝚺":"Ʃ","𝛴":"Ʃ","𝜮":"Ʃ","𝝨":"Ʃ","𝞢":"Ʃ","ⵉ":"Ʃ","∬":"ʃʃ","∭":"ʃʃʃ","⨌":"ʃʃʃʃ","𝐭":"t","𝑡":"t","𝒕":"t","𝓉":"t","𝓽":"t","𝔱":"t","𝕥":"t","𝖙":"t","𝗍":"t","𝘁":"t","𝘵":"t","𝙩":"t","𝚝":"t","⊤":"T","⟙":"T","🝨":"T",T:"T","𝐓":"T","𝑇":"T","𝑻":"T","𝒯":"T","𝓣":"T","𝔗":"T","𝕋":"T","𝕿":"T","𝖳":"T","𝗧":"T","𝘛":"T","𝙏":"T","𝚃":"T",Τ:"T","𝚻":"T","𝛵":"T","𝜯":"T","𝝩":"T","𝞣":"T","Ⲧ":"T",Т:"T",Ꭲ:"T","ꓔ":"T","𖼊":"T","𑢼":"T","𐊗":"T","𐊱":"T","𐌕":"T",ƭ:"t̔","⍡":"T̈","Ⱦ":"T̸",Ț:"Ţ",Ʈ:"T̨",Ҭ:"T̩","₮":"T⃫",ŧ:"t̵",Ŧ:"T̵","ᵵ":"t̴",Ⴀ:"Ꞇ","Ꜩ":"T3",ʨ:"tɕ","℡":"TEL","ꝷ":"tf",ʦ:"ts",ʧ:"tʃ","ꜩ":"tȝ",τ:"ᴛ","𝛕":"ᴛ","𝜏":"ᴛ","𝝉":"ᴛ","𝞃":"ᴛ","𝞽":"ᴛ",т:"ᴛ","ꭲ":"ᴛ",ҭ:"ᴛ̩",ţ:"ƫ",ț:"ƫ",Ꮏ:"ƫ","𝐮":"u","𝑢":"u","𝒖":"u","𝓊":"u","𝓾":"u","𝔲":"u","𝕦":"u","𝖚":"u","𝗎":"u","𝘂":"u","𝘶":"u","𝙪":"u","𝚞":"u","ꞟ":"u","ᴜ":"u","ꭎ":"u","ꭒ":"u",ʋ:"u",υ:"u","𝛖":"u","𝜐":"u","𝝊":"u","𝞄":"u","𝞾":"u",ս:"u","𐓶":"u","𑣘":"u","∪":"U","⋃":"U","𝐔":"U","𝑈":"U","𝑼":"U","𝒰":"U","𝓤":"U","𝔘":"U","𝕌":"U","𝖀":"U","𝖴":"U","𝗨":"U","𝘜":"U","𝙐":"U","𝚄":"U",Ս:"U",ሀ:"U","𐓎":"U",ᑌ:"U","ꓴ":"U","𖽂":"U","𑢸":"U",ǔ:"ŭ",Ǔ:"Ŭ","ᵾ":"u̵","ꮜ":"u̵","Ʉ":"U̵",Ꮜ:"U̵",ᑘ:"U·",ᑧ:"U'","ᵫ":"ue","ꭣ":"uo",ṃ:"ꭑ",պ:"ɰ",ሣ:"ɰ","℧":"Ʊ",ᘮ:"Ʊ",ᘴ:"Ʊ","ᵿ":"ʊ̵","∨":"v","⋁":"v",v:"v","ⅴ":"v","𝐯":"v","𝑣":"v","𝒗":"v","𝓋":"v","𝓿":"v","𝔳":"v","𝕧":"v","𝖛":"v","𝗏":"v","𝘃":"v","𝘷":"v","𝙫":"v","𝚟":"v","ᴠ":"v",ν:"v","𝛎":"v","𝜈":"v","𝝂":"v","𝝼":"v","𝞶":"v",ѵ:"v",ט:"v","𑜆":"v","ꮩ":"v","𑣀":"v","𝈍":"V","٧":"V","۷":"V","Ⅴ":"V","𝐕":"V","𝑉":"V","𝑽":"V","𝒱":"V","𝓥":"V","𝔙":"V","𝕍":"V","𝖁":"V","𝖵":"V","𝗩":"V","𝘝":"V","𝙑":"V","𝚅":"V",Ѵ:"V","ⴸ":"V",Ꮩ:"V",ᐯ:"V","ꛟ":"V","ꓦ":"V","𖼈":"V","𑢠":"V","𐔝":"V","𐆗":"V̵",ᐻ:"V·","🝬":"VB","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","Ⅵ":"Vl","Ⅶ":"Vll","Ⅷ":"Vlll","🜈":"Vᷤ","ᴧ":"ʌ","𐓘":"ʌ","٨":"Ʌ","۸":"Ʌ",Λ:"Ʌ","𝚲":"Ʌ","𝛬":"Ʌ","𝜦":"Ʌ","𝝠":"Ʌ","𝞚":"Ʌ",Л:"Ʌ","ⴷ":"Ʌ","𐒰":"Ʌ",ᐱ:"Ʌ","ꛎ":"Ʌ","ꓥ":"Ʌ","𖼽":"Ʌ","𐊍":"Ʌ","Ӆ":"Ʌ̦",ᐽ:"Ʌ·",ɯ:"w","𝐰":"w","𝑤":"w","𝒘":"w","𝓌":"w","𝔀":"w","𝔴":"w","𝕨":"w","𝖜":"w","𝗐":"w","𝘄":"w","𝘸":"w","𝙬":"w","𝚠":"w","ᴡ":"w",ѡ:"w","ԝ":"w",ա:"w","𑜊":"w","𑜎":"w","𑜏":"w","ꮃ":"w","𑣯":"W","𑣦":"W","𝐖":"W","𝑊":"W","𝑾":"W","𝒲":"W","𝓦":"W","𝔚":"W","𝕎":"W","𝖂":"W","𝖶":"W","𝗪":"W","𝘞":"W","𝙒":"W","𝚆":"W","Ԝ":"W",Ꮃ:"W",Ꮤ:"W","ꓪ":"W",ѽ:"w҆҇","𑓅":"ẇ","₩":"W̵","ꝡ":"w̦","ᴍ":"ʍ",м:"ʍ","ꮇ":"ʍ","ӎ":"ʍ̦","᙮":"x","×":"x","⤫":"x","⤬":"x","⨯":"x",x:"x","ⅹ":"x","𝐱":"x","𝑥":"x","𝒙":"x","𝓍":"x","𝔁":"x","𝔵":"x","𝕩":"x","𝖝":"x","𝗑":"x","𝘅":"x","𝘹":"x","𝙭":"x","𝚡":"x",х:"x",ᕁ:"x",ᕽ:"x","ⷯ":"ͯ","᙭":"X","╳":"X","𐌢":"X","𑣬":"X",X:"X","Ⅹ":"X","𝐗":"X","𝑋":"X","𝑿":"X","𝒳":"X","𝓧":"X","𝔛":"X","𝕏":"X","𝖃":"X","𝖷":"X","𝗫":"X","𝘟":"X","𝙓":"X","𝚇":"X","Ꭓ":"X",Χ:"X","𝚾":"X","𝛸":"X","𝜲":"X","𝝬":"X","𝞦":"X","Ⲭ":"X",Х:"X","ⵝ":"X",ᚷ:"X","ꓫ":"X","𐊐":"X","𐊴":"X","𐌗":"X","𐔧":"X","⨰":"ẋ",Ҳ:"X̩","𐆖":"X̵","ⅺ":"xi","ⅻ":"xii","Ⅺ":"Xl","Ⅻ":"Xll",ɣ:"y","ᶌ":"y",y:"y","𝐲":"y","𝑦":"y","𝒚":"y","𝓎":"y","𝔂":"y","𝔶":"y","𝕪":"y","𝖞":"y","𝗒":"y","𝘆":"y","𝘺":"y","𝙮":"y","𝚢":"y",ʏ:"y","ỿ":"y","ꭚ":"y",γ:"y","ℽ":"y","𝛄":"y","𝛾":"y","𝜸":"y","𝝲":"y","𝞬":"y",у:"y",ү:"y",ყ:"y","𑣜":"y",Y:"Y","𝐘":"Y","𝑌":"Y","𝒀":"Y","𝒴":"Y","𝓨":"Y","𝔜":"Y","𝕐":"Y","𝖄":"Y","𝖸":"Y","𝗬":"Y","𝘠":"Y","𝙔":"Y","𝚈":"Y",Υ:"Y",ϒ:"Y","𝚼":"Y","𝛶":"Y","𝜰":"Y","𝝪":"Y","𝞤":"Y","Ⲩ":"Y",У:"Y",Ү:"Y",Ꭹ:"Y",Ꮍ:"Y","ꓬ":"Y","𖽃":"Y","𑢤":"Y","𐊲":"Y",ƴ:"y̔","ɏ":"y̵",ұ:"y̵","¥":"Y̵","Ɏ":"Y̵",Ұ:"Y̵",ʒ:"ȝ","ꝫ":"ȝ","ⳍ":"ȝ",ӡ:"ȝ",ჳ:"ȝ","𝐳":"z","𝑧":"z","𝒛":"z","𝓏":"z","𝔃":"z","𝔷":"z","𝕫":"z","𝖟":"z","𝗓":"z","𝘇":"z","𝘻":"z","𝙯":"z","𝚣":"z","ᴢ":"z","ꮓ":"z","𑣄":"z","𐋵":"Z","𑣥":"Z",Z:"Z",ℤ:"Z",ℨ:"Z","𝐙":"Z","𝑍":"Z","𝒁":"Z","𝒵":"Z","𝓩":"Z","𝖅":"Z","𝖹":"Z","𝗭":"Z","𝘡":"Z","𝙕":"Z","𝚉":"Z",Ζ:"Z","𝚭":"Z","𝛧":"Z","𝜡":"Z","𝝛":"Z","𝞕":"Z",Ꮓ:"Z","ꓜ":"Z","𑢩":"Z",ʐ:"z̨",ƶ:"z̵",Ƶ:"Z̵",ȥ:"z̦",Ȥ:"Z̦","ᵶ":"z̴",ƿ:"þ","ϸ":"þ","Ϸ":"Þ","𐓄":"Þ","⁹":"ꝰ","ᴤ":"ƨ",ϩ:"ƨ","ꙅ":"ƨ",ь:"ƅ","ꮟ":"ƅ",ы:"ƅi","ꭾ":"ɂ",ˤ:"ˁ","ꛍ":"ʡ","⊙":"ʘ","☉":"ʘ","⨀":"ʘ","Ꙩ":"ʘ","ⵙ":"ʘ","𐓃":"ʘ","ℾ":"Γ","𝚪":"Γ","𝛤":"Γ","𝜞":"Γ","𝝘":"Γ","𝞒":"Γ","Ⲅ":"Γ",Г:"Γ",Ꮁ:"Γ",ᒥ:"Γ","𖼇":"Γ",Ғ:"Γ̵",ᒯ:"Γ·",Ґ:"Γ'","∆":"Δ","△":"Δ","🜂":"Δ","𝚫":"Δ","𝛥":"Δ","𝜟":"Δ","𝝙":"Δ","𝞓":"Δ","Ⲇ":"Δ","ⵠ":"Δ",ᐃ:"Δ","𖼚":"Δ","𐊅":"Δ","𐊣":"Δ","⍙":"Δ̲",ᐏ:"Δ·",ᐬ:"Δᐠ","𝟋":"ϝ","𝛇":"ζ","𝜁":"ζ","𝜻":"ζ","𝝵":"ζ","𝞯":"ζ","ⳤ":"ϗ","𝛌":"λ","𝜆":"λ","𝝀":"λ","𝝺":"λ","𝞴":"λ","Ⲗ":"λ","𐓛":"λ",µ:"μ","𝛍":"μ","𝜇":"μ","𝝁":"μ","𝝻":"μ","𝞵":"μ","𝛏":"ξ","𝜉":"ξ","𝝃":"ξ","𝝽":"ξ","𝞷":"ξ","𝚵":"Ξ","𝛯":"Ξ","𝜩":"Ξ","𝝣":"Ξ","𝞝":"Ξ",ϖ:"π","ℼ":"π","𝛑":"π","𝛡":"π","𝜋":"π","𝜛":"π","𝝅":"π","𝝕":"π","𝝿":"π","𝞏":"π","𝞹":"π","𝟉":"π","ᴨ":"π",п:"π","∏":"Π","ℿ":"Π","𝚷":"Π","𝛱":"Π","𝜫":"Π","𝝥":"Π","𝞟":"Π","Ⲡ":"Π",П:"Π","ꛛ":"Π","𐊭":"Ϙ","𐌒":"Ϙ",ϛ:"ς","𝛓":"ς","𝜍":"ς","𝝇":"ς","𝞁":"ς","𝞻":"ς","𝚽":"Φ","𝛷":"Φ","𝜱":"Φ","𝝫":"Φ","𝞥":"Φ","Ⲫ":"Φ",Ф:"Φ",Փ:"Φ",ቀ:"Φ","ᛰ":"Φ","𐊳":"Φ","ꭓ":"χ","ꭕ":"χ","𝛘":"χ","𝜒":"χ","𝝌":"χ","𝞆":"χ","𝟀":"χ","ⲭ":"χ","𝛙":"ψ","𝜓":"ψ","𝝍":"ψ","𝞇":"ψ","𝟁":"ψ",ѱ:"ψ","𐓹":"ψ","𝚿":"Ψ","𝛹":"Ψ","𝜳":"Ψ","𝝭":"Ψ","𝞧":"Ψ","Ⲯ":"Ψ",Ѱ:"Ψ","𐓑":"Ψ",ᛘ:"Ψ","𐊵":"Ψ","⍵":"ω","ꞷ":"ω","𝛚":"ω","𝜔":"ω","𝝎":"ω","𝞈":"ω","𝟂":"ω","ⲱ":"ω","ꙍ":"ω",Ω:"Ω","𝛀":"Ω","𝛺":"Ω","𝜴":"Ω","𝝮":"Ω","𝞨":"Ω",ᘯ:"Ω",ᘵ:"Ω","𐊶":"Ω","⍹":"ω̲",ώ:"ῴ","☰":"Ⲷ","Ⳝ":"Ϭ",җ:"ж̩",Җ:"Ж̩","𝈋":"И","Ͷ":"И","ꚡ":"И","𐐥":"И",Й:"Ѝ","Ҋ":"Ѝ̦",ѝ:"й","ҋ":"й̦","𐒼":"Ӄ","ᴫ":"л","ӆ":"л̦","ꭠ":"љ","𐓫":"ꙩ","ᷮ":"ⷬ","𐓍":"Ћ","𝈂":"Ӿ","𝈢":"Ѡ",Ꮗ:"Ѡ",ᗯ:"Ѡ",Ѽ:"Ѡ҆҇","ᣭ":"Ѡ·","Ꞷ":"Ꙍ",ӌ:"ҷ",Ӌ:"Ҷ",Ҿ:"Ҽ̨","ⲽ":"ш","Ⲽ":"Ш","Ꙑ":"Ъl","℈":"Э","🜁":"Ꙙ","𖼜":"Ꙙ","ꦒ":"ⰿ",և:"եւ",ኔ:"ձ",ﬔ:"մե",ﬕ:"մի",ﬗ:"մխ",ﬓ:"մն","∩":"Ո","⋂":"Ո","𝉅":"Ո",በ:"Ո",ᑎ:"Ո","ꓵ":"Ո",ᑚ:"Ո·",ᑨ:"Ո'",ﬖ:"վն","₽":"Ք","˓":"ՙ",ʿ:"ՙ",ℵ:"א",ﬡ:"א",אָ:"אַ",אּ:"אַ",ﭏ:"אל",ℶ:"ב",ℷ:"ג",ℸ:"ד",ﬢ:"ד",ﬣ:"ה",יּ:"יִ",ﬤ:"כ",ﬥ:"ל",ﬦ:"ם",ﬠ:"ע",ﬧ:"ר",שׂ:"שׁ",שּ:"שׁ",שּׂ:"שּׁ",ﬨ:"ת",ﺀ:"ء","۽":"ء͈",ﺂ:"آ",ﺁ:"آ",ﭑ:"ٱ",ﭐ:"ٱ","𞸁":"ب","𞸡":"ب","𞹡":"ب","𞺁":"ب","𞺡":"ب",ﺑ:"ب",ﺒ:"ب",ﺐ:"ب",ﺏ:"ب","ݑ":"بۛ","ࢶ":"بۢ","ࢡ":"بٔ",ﲠ:"بo",ﳢ:"بo",ﲜ:"بج",ﰅ:"بج",ﲝ:"بح",ﰆ:"بح",ﷂ:"بحى",ﲞ:"بخ",ﰇ:"بخ",ﳒ:"بخ",ﱋ:"بخ",ﶞ:"بخى",ﱪ:"بر",ﱫ:"بز",ﲟ:"بم",ﳡ:"بم",ﱬ:"بم",ﰈ:"بم",ﱭ:"بن",ﱮ:"بى",ﰉ:"بى",ﱯ:"بى",ﰊ:"بى",ﭔ:"ٻ",ﭕ:"ٻ",ﭓ:"ٻ",ﭒ:"ٻ",ې:"ٻ",ﯦ:"ٻ",ﯧ:"ٻ",ﯥ:"ٻ",ﯤ:"ٻ",ﭜ:"ڀ",ﭝ:"ڀ",ﭛ:"ڀ",ﭚ:"ڀ","ࢩ":"ݔ","ݧ":"ݔ","⍥":"ة",ö:"ة",ﺔ:"ة",ﺓ:"ة",ۃ:"ة","𞸕":"ت","𞸵":"ت","𞹵":"ت","𞺕":"ت","𞺵":"ت",ﺗ:"ت",ﺘ:"ت",ﺖ:"ت",ﺕ:"ت",ﲥ:"تo",ﳤ:"تo",ﲡ:"تج",ﰋ:"تج",ﵐ:"تجم",ﶠ:"تجى",ﶟ:"تجى",ﲢ:"تح",ﰌ:"تح",ﵒ:"تحج",ﵑ:"تحج",ﵓ:"تحم",ﲣ:"تخ",ﰍ:"تخ",ﵔ:"تخم",ﶢ:"تخى",ﶡ:"تخى",ﱰ:"تر",ﱱ:"تز",ﲤ:"تم",ﳣ:"تم",ﱲ:"تم",ﰎ:"تم",ﵕ:"تمج",ﵖ:"تمح",ﵗ:"تمخ",ﶤ:"تمى",ﶣ:"تمى",ﱳ:"تن",ﱴ:"تى",ﰏ:"تى",ﱵ:"تى",ﰐ:"تى",ﭠ:"ٺ",ﭡ:"ٺ",ﭟ:"ٺ",ﭞ:"ٺ",ﭤ:"ٿ",ﭥ:"ٿ",ﭣ:"ٿ",ﭢ:"ٿ","𞸂":"ج","𞸢":"ج","𞹂":"ج","𞹢":"ج","𞺂":"ج","𞺢":"ج",ﺟ:"ج",ﺠ:"ج",ﺞ:"ج",ﺝ:"ج",ﲧ:"جح",ﰕ:"جح",ﶦ:"جحى",ﶾ:"جحى",ﷻ:"جل جلlلo",ﲨ:"جم",ﰖ:"جم",ﵙ:"جمح",ﵘ:"جمح",ﶧ:"جمى",ﶥ:"جمى",ﴝ:"جى",ﴁ:"جى",ﴞ:"جى",ﴂ:"جى",ﭸ:"ڃ",ﭹ:"ڃ",ﭷ:"ڃ",ﭶ:"ڃ",ﭴ:"ڄ",ﭵ:"ڄ",ﭳ:"ڄ",ﭲ:"ڄ",ﭼ:"چ",ﭽ:"چ",ﭻ:"چ",ﭺ:"چ",ﮀ:"ڇ",ﮁ:"ڇ",ﭿ:"ڇ",ﭾ:"ڇ","𞸇":"ح","𞸧":"ح","𞹇":"ح","𞹧":"ح","𞺇":"ح","𞺧":"ح",ﺣ:"ح",ﺤ:"ح",ﺢ:"ح",ﺡ:"ح",څ:"حۛ",ځ:"حٔ","ݲ":"حٔ",ﲩ:"حج",ﰗ:"حج",ﶿ:"حجى",ﲪ:"حم",ﰘ:"حم",ﵛ:"حمى",ﵚ:"حمى",ﴛ:"حى",ﳿ:"حى",ﴜ:"حى",ﴀ:"حى","𞸗":"خ","𞸷":"خ","𞹗":"خ","𞹷":"خ","𞺗":"خ","𞺷":"خ",ﺧ:"خ",ﺨ:"خ",ﺦ:"خ",ﺥ:"خ",ﲫ:"خج",ﰙ:"خج",ﰚ:"خح",ﲬ:"خم",ﰛ:"خم",ﴟ:"خى",ﴃ:"خى",ﴠ:"خى",ﴄ:"خى","𐋡":"د","𞸃":"د","𞺃":"د","𞺣":"د",ﺪ:"د",ﺩ:"د",ڈ:"دؕ",ﮉ:"دؕ",ﮈ:"دؕ",ڎ:"دۛ",ﮇ:"دۛ",ﮆ:"دۛ","ۮ":"د̂","ࢮ":"د̤̣","𞸘":"ذ","𞺘":"ذ","𞺸":"ذ",ﺬ:"ذ",ﺫ:"ذ",ﱛ:"ذٰ",ڋ:"ڊؕ",ﮅ:"ڌ",ﮄ:"ڌ",ﮃ:"ڍ",ﮂ:"ڍ","𞸓":"ر","𞺓":"ر","𞺳":"ر",ﺮ:"ر",ﺭ:"ر",ڑ:"رؕ",ﮍ:"رؕ",ﮌ:"رؕ",ژ:"رۛ",ﮋ:"رۛ",ﮊ:"رۛ",ڒ:"ر̆","ࢹ":"ر̆̇","ۯ":"ر̂","ݬ":"رٔ",ﱜ:"رٰ",ﷶ:"رسول","﷼":"رىlل","𞸆":"ز","𞺆":"ز","𞺦":"ز",ﺰ:"ز",ﺯ:"ز","ࢲ":"ز̂","ݱ":"ڗؕ","𞸎":"س","𞸮":"س","𞹎":"س","𞹮":"س","𞺎":"س","𞺮":"س",ﺳ:"س",ﺴ:"س",ﺲ:"س",ﺱ:"س",ش:"سۛ","𞸔":"سۛ","𞸴":"سۛ","𞹔":"سۛ","𞹴":"سۛ","𞺔":"سۛ","𞺴":"سۛ",ﺷ:"سۛ",ﺸ:"سۛ",ﺶ:"سۛ",ﺵ:"سۛ","ݾ":"س̂",ﴱ:"سo",ﳨ:"سo",ﴲ:"سۛo",ﳪ:"سۛo",ﲭ:"سج",ﴴ:"سج",ﰜ:"سج",ﴭ:"سۛج",ﴷ:"سۛج",ﴥ:"سۛج",ﴉ:"سۛج",ﵝ:"سجح",ﵞ:"سجى",ﵩ:"سۛجى",ﲮ:"سح",ﴵ:"سح",ﰝ:"سح",ﴮ:"سۛح",ﴸ:"سۛح",ﴦ:"سۛح",ﴊ:"سۛح",ﵜ:"سحج",ﵨ:"سۛحم",ﵧ:"سۛحم",ﶪ:"سۛحى",ﲯ:"سخ",ﴶ:"سخ",ﰞ:"سخ",ﴯ:"سۛخ",ﴹ:"سۛخ",ﴧ:"سۛخ",ﴋ:"سۛخ",ﶨ:"سخى",ﷆ:"سخى",ﴪ:"سر",ﴎ:"سر",ﴩ:"سۛر",ﴍ:"سۛر",ﲰ:"سم",ﳧ:"سم",ﰟ:"سم",ﴰ:"سۛم",ﳩ:"سۛم",ﴨ:"سۛم",ﴌ:"سۛم",ﵡ:"سمج",ﵠ:"سمح",ﵟ:"سمح",ﵫ:"سۛمخ",ﵪ:"سۛمخ",ﵣ:"سمم",ﵢ:"سمم",ﵭ:"سۛمم",ﵬ:"سۛمم",ﴗ:"سى",ﳻ:"سى",ﴘ:"سى",ﳼ:"سى",ﴙ:"سۛى",ﳽ:"سۛى",ﴚ:"سۛى",ﳾ:"سۛى","𐋲":"ص","𞸑":"ص","𞸱":"ص","𞹑":"ص","𞹱":"ص","𞺑":"ص","𞺱":"ص",ﺻ:"ص",ﺼ:"ص",ﺺ:"ص",ﺹ:"ص",ڞ:"صۛ","ࢯ":"ص̤̣",ﲱ:"صح",ﰠ:"صح",ﵥ:"صحح",ﵤ:"صحح",ﶩ:"صحى",ﲲ:"صخ",ﴫ:"صر",ﴏ:"صر",ﷵ:"صلعم",ﷹ:"صلى",ﷰ:"صلى",ﷺ:"صلى lللo علىo وسلم",ﲳ:"صم",ﰡ:"صم",ﷅ:"صمم",ﵦ:"صمم",ﴡ:"صى",ﴅ:"صى",ﴢ:"صى",ﴆ:"صى","𞸙":"ض","𞸹":"ض","𞹙":"ض","𞹹":"ض","𞺙":"ض","𞺹":"ض",ﺿ:"ض",ﻀ:"ض",ﺾ:"ض",ﺽ:"ض",ﲴ:"ضج",ﰢ:"ضج",ﲵ:"ضح",ﰣ:"ضح",ﵮ:"ضحى",ﶫ:"ضحى",ﲶ:"ضخ",ﰤ:"ضخ",ﵰ:"ضخم",ﵯ:"ضخم",ﴬ:"ضر",ﴐ:"ضر",ﲷ:"ضم",ﰥ:"ضم",ﴣ:"ضى",ﴇ:"ضى",ﴤ:"ضى",ﴈ:"ضى","𐋨":"ط","𞸈":"ط","𞹨":"ط","𞺈":"ط","𞺨":"ط",ﻃ:"ط",ﻄ:"ط",ﻂ:"ط",ﻁ:"ط",ڟ:"طۛ",ﲸ:"طح",ﰦ:"طح",ﴳ:"طم",ﴺ:"طم",ﰧ:"طم",ﵲ:"طمح",ﵱ:"طمح",ﵳ:"طمم",ﵴ:"طمى",ﴑ:"طى",ﳵ:"طى",ﴒ:"طى",ﳶ:"طى","𞸚":"ظ","𞹺":"ظ","𞺚":"ظ","𞺺":"ظ",ﻇ:"ظ",ﻈ:"ظ",ﻆ:"ظ",ﻅ:"ظ",ﲹ:"ظم",ﴻ:"ظم",ﰨ:"ظم","؏":"ع","𞸏":"ع","𞸯":"ع","𞹏":"ع","𞹯":"ع","𞺏":"ع","𞺯":"ع",ﻋ:"ع",ﻌ:"ع",ﻊ:"ع",ﻉ:"ع",ﲺ:"عج",ﰩ:"عج",ﷄ:"عجم",ﵵ:"عجم",ﷷ:"علىo",ﲻ:"عم",ﰪ:"عم",ﵷ:"عمم",ﵶ:"عمم",ﵸ:"عمى",ﶶ:"عمى",ﴓ:"عى",ﳷ:"عى",ﴔ:"عى",ﳸ:"عى","𞸛":"غ","𞸻":"غ","𞹛":"غ","𞹻":"غ","𞺛":"غ","𞺻":"غ",ﻏ:"غ",ﻐ:"غ",ﻎ:"غ",ﻍ:"غ",ﲼ:"غج",ﰫ:"غج",ﲽ:"غم",ﰬ:"غم",ﵹ:"غمم",ﵻ:"غمى",ﵺ:"غمى",ﴕ:"غى",ﳹ:"غى",ﴖ:"غى",ﳺ:"غى","𞸐":"ف","𞸰":"ف","𞹰":"ف","𞺐":"ف","𞺰":"ف",ﻓ:"ف",ﻔ:"ف",ﻒ:"ف",ﻑ:"ف",ڧ:"ف",ﲾ:"فج",ﰭ:"فج",ﲿ:"فح",ﰮ:"فح",ﳀ:"فخ",ﰯ:"فخ",ﵽ:"فخم",ﵼ:"فخم",ﳁ:"فم",ﰰ:"فم",ﷁ:"فمى",ﱼ:"فى",ﰱ:"فى",ﱽ:"فى",ﰲ:"فى","𞸞":"ڡ","𞹾":"ڡ","ࢻ":"ڡ","ٯ":"ڡ","𞸟":"ڡ","𞹟":"ڡ","ࢼ":"ڡ",ڤ:"ڡۛ",ﭬ:"ڡۛ",ﭭ:"ڡۛ",ﭫ:"ڡۛ",ﭪ:"ڡۛ",ڨ:"ڡۛ","ࢤ":"ڢۛ",ﭰ:"ڦ",ﭱ:"ڦ",ﭯ:"ڦ",ﭮ:"ڦ","𞸒":"ق","𞸲":"ق","𞹒":"ق","𞹲":"ق","𞺒":"ق","𞺲":"ق",ﻗ:"ق",ﻘ:"ق",ﻖ:"ق",ﻕ:"ق",ﳂ:"قح",ﰳ:"قح",ﷱ:"قلى",ﳃ:"قم",ﰴ:"قم",ﶴ:"قمح",ﵾ:"قمح",ﵿ:"قمم",ﶲ:"قمى",ﱾ:"قى",ﰵ:"قى",ﱿ:"قى",ﰶ:"قى","𞸊":"ك","𞸪":"ك","𞹪":"ك",ﻛ:"ك",ﻜ:"ك",ﻚ:"ك",ﻙ:"ك",ک:"ك",ﮐ:"ك",ﮑ:"ك",ﮏ:"ك",ﮎ:"ك",ڪ:"ك",ڭ:"كۛ",ﯕ:"كۛ",ﯖ:"كۛ",ﯔ:"كۛ",ﯓ:"كۛ","ݣ":"كۛ",ﲀ:"كl",ﰷ:"كl",ﳄ:"كج",ﰸ:"كج",ﳅ:"كح",ﰹ:"كح",ﳆ:"كخ",ﰺ:"كخ",ﳇ:"كل",ﳫ:"كل",ﲁ:"كل",ﰻ:"كل",ﳈ:"كم",ﳬ:"كم",ﲂ:"كم",ﰼ:"كم",ﷃ:"كمم",ﶻ:"كمم",ﶷ:"كمى",ﲃ:"كى",ﰽ:"كى",ﲄ:"كى",ﰾ:"كى","ݢ":"ڬ",ﮔ:"گ",ﮕ:"گ",ﮓ:"گ",ﮒ:"گ","ࢰ":"گ",ڴ:"گۛ",ﮜ:"ڱ",ﮝ:"ڱ",ﮛ:"ڱ",ﮚ:"ڱ",ﮘ:"ڳ",ﮙ:"ڳ",ﮗ:"ڳ",ﮖ:"ڳ","𞸋":"ل","𞸫":"ل","𞹋":"ل","𞺋":"ل","𞺫":"ل",ﻟ:"ل",ﻠ:"ل",ﻞ:"ل",ﻝ:"ل",ڷ:"لۛ",ڵ:"ل̆",ﻼ:"لl",ﻻ:"لl",ﻺ:"لlٕ",ﻹ:"لlٕ",ﻸ:"لlٴ",ﻷ:"لlٴ",ﳍ:"لo",ﻶ:"لآ",ﻵ:"لآ",ﳉ:"لج",ﰿ:"لج",ﶃ:"لجج",ﶄ:"لجج",ﶺ:"لجم",ﶼ:"لجم",ﶬ:"لجى",ﳊ:"لح",ﱀ:"لح",ﶵ:"لحم",ﶀ:"لحم",ﶂ:"لحى",ﶁ:"لحى",ﳋ:"لخ",ﱁ:"لخ",ﶆ:"لخم",ﶅ:"لخم",ﳌ:"لم",ﳭ:"لم",ﲅ:"لم",ﱂ:"لم",ﶈ:"لمح",ﶇ:"لمح",ﶭ:"لمى",ﲆ:"لى",ﱃ:"لى",ﲇ:"لى",ﱄ:"لى","𞸌":"م","𞸬":"م","𞹬":"م","𞺌":"م","𞺬":"م",ﻣ:"م",ﻤ:"م",ﻢ:"م",ﻡ:"م","ࢧ":"مۛ","۾":"م͈",ﲈ:"مl",ﳎ:"مج",ﱅ:"مج",ﶌ:"مجح",ﶒ:"مجخ",ﶍ:"مجم",ﷀ:"مجى",ﳏ:"مح",ﱆ:"مح",ﶉ:"محج",ﶊ:"محم",ﷴ:"محمد",ﶋ:"محى",ﳐ:"مخ",ﱇ:"مخ",ﶎ:"مخج",ﶏ:"مخم",ﶹ:"مخى",ﳑ:"مم",ﲉ:"مم",ﱈ:"مم",ﶱ:"ممى",ﱉ:"مى",ﱊ:"مى","𞸍":"ن","𞸭":"ن","𞹍":"ن","𞹭":"ن","𞺍":"ن","𞺭":"ن",ﻧ:"ن",ﻨ:"ن",ﻦ:"ن",ﻥ:"ن","ݨ":"نؕ","ݩ":"ن̆",ﳖ:"نo",ﳯ:"نo",ﶸ:"نجح",ﶽ:"نجح",ﶘ:"نجم",ﶗ:"نجم",ﶙ:"نجى",ﷇ:"نجى",ﳓ:"نح",ﱌ:"نح",ﶕ:"نحم",ﶖ:"نحى",ﶳ:"نحى",ﳔ:"نخ",ﱍ:"نخ",ﲊ:"نر",ﲋ:"نز",ﳕ:"نم",ﳮ:"نم",ﲌ:"نم",ﱎ:"نم",ﶛ:"نمى",ﶚ:"نمى",ﲍ:"نن",ﲎ:"نى",ﱏ:"نى",ﲏ:"نى",ﱐ:"نى",ۂ:"ۀ",ﮥ:"ۀ",ﮤ:"ۀ","𐋤":"و","𞸅":"و","𞺅":"و","𞺥":"و",ﻮ:"و",ﻭ:"و","ࢱ":"و",ۋ:"وۛ",ﯟ:"وۛ",ﯞ:"وۛ",ۇ:"و̓",ﯘ:"و̓",ﯗ:"و̓",ۆ:"و̆",ﯚ:"و̆",ﯙ:"و̆",ۉ:"و̂",ﯣ:"و̂",ﯢ:"و̂",ۈ:"وٰ",ﯜ:"وٰ",ﯛ:"وٰ",ؤ:"وٴ",ﺆ:"وٴ",ﺅ:"وٴ",ٶ:"وٴ",ٷ:"و̓ٴ",ﯝ:"و̓ٴ",ﷸ:"وسلم",ﯡ:"ۅ",ﯠ:"ۅ","ٮ":"ى","𞸜":"ى","𞹼":"ى",ں:"ى","𞸝":"ى","𞹝":"ى",ﮟ:"ى",ﮞ:"ى","ࢽ":"ى",ﯨ:"ى",ﯩ:"ى",ﻰ:"ى",ﻯ:"ى",ي:"ى","𞸉":"ى","𞸩":"ى","𞹉":"ى","𞹩":"ى","𞺉":"ى","𞺩":"ى",ﻳ:"ى",ﻴ:"ى",ﻲ:"ى",ﻱ:"ى",ی:"ى",ﯾ:"ى",ﯿ:"ى",ﯽ:"ى",ﯼ:"ى",ے:"ى",ﮯ:"ى",ﮮ:"ى",ٹ:"ىؕ",ﭨ:"ىؕ",ﭩ:"ىؕ",ﭧ:"ىؕ",ﭦ:"ىؕ",ڻ:"ىؕ",ﮢ:"ىؕ",ﮣ:"ىؕ",ﮡ:"ىؕ",ﮠ:"ىؕ",پ:"ىۛ",ﭘ:"ىۛ",ﭙ:"ىۛ",ﭗ:"ىۛ",ﭖ:"ىۛ",ث:"ىۛ","𞸖":"ىۛ","𞸶":"ىۛ","𞹶":"ىۛ","𞺖":"ىۛ","𞺶":"ىۛ",ﺛ:"ىۛ",ﺜ:"ىۛ",ﺚ:"ىۛ",ﺙ:"ىۛ",ڽ:"ىۛ",ۑ:"ىۛ","ؿ":"ىۛ","ࢷ":"ىۛۢ","ݖ":"ى̆",ێ:"ى̆","ࢺ":"ى̆̇","ؽ":"ى̂","ࢨ":"ىٔ",ﲐ:"ىٰ",ﱝ:"ىٰ",ﳞ:"ىo",ﳱ:"ىo",ﳦ:"ىۛo",ئ:"ىٴ",ﺋ:"ىٴ",ﺌ:"ىٴ",ﺊ:"ىٴ",ﺉ:"ىٴ",ٸ:"ىٴ",ﯫ:"ىٴl",ﯪ:"ىٴl",ﲛ:"ىٴo",ﳠ:"ىٴo",ﯭ:"ىٴo",ﯬ:"ىٴo",ﯸ:"ىٴٻ",ﯷ:"ىٴٻ",ﯶ:"ىٴٻ",ﲗ:"ىٴج",ﰀ:"ىٴج",ﲘ:"ىٴح",ﰁ:"ىٴح",ﲙ:"ىٴخ",ﱤ:"ىٴر",ﱥ:"ىٴز",ﲚ:"ىٴم",ﳟ:"ىٴم",ﱦ:"ىٴم",ﰂ:"ىٴم",ﱧ:"ىٴن",ﯯ:"ىٴو",ﯮ:"ىٴو",ﯱ:"ىٴو̓",ﯰ:"ىٴو̓",ﯳ:"ىٴو̆",ﯲ:"ىٴو̆",ﯵ:"ىٴوٰ",ﯴ:"ىٴوٰ",ﯻ:"ىٴى",ﯺ:"ىٴى",ﱨ:"ىٴى",ﯹ:"ىٴى",ﰃ:"ىٴى",ﱩ:"ىٴى",ﰄ:"ىٴى",ﳚ:"ىج",ﱕ:"ىج",ﰑ:"ىۛج",ﶯ:"ىجى",ﳛ:"ىح",ﱖ:"ىح",ﶮ:"ىحى",ﳜ:"ىخ",ﱗ:"ىخ",ﲑ:"ىر",ﱶ:"ىۛر",ﲒ:"ىز",ﱷ:"ىۛز",ﳝ:"ىم",ﳰ:"ىم",ﲓ:"ىم",ﱘ:"ىم",ﲦ:"ىۛم",ﳥ:"ىۛم",ﱸ:"ىۛم",ﰒ:"ىۛم",ﶝ:"ىمم",ﶜ:"ىمم",ﶰ:"ىمى",ﲔ:"ىن",ﱹ:"ىۛن",ﲕ:"ىى",ﱙ:"ىى",ﲖ:"ىى",ﱚ:"ىى",ﱺ:"ىۛى",ﰓ:"ىۛى",ﱻ:"ىۛى",ﰔ:"ىۛى",ﮱ:"ۓ",ﮰ:"ۓ","𐊸":"ⵀ","⁞":"ⵂ","⸽":"ⵂ","⦙":"ⵂ","︙":"ⵗ","⁝":"ⵗ","⋮":"ⵗ",Մ:"ሆ",Ռ:"ቡ",Ի:"ኮ",Պ:"ጣ",आ:"अा",ऒ:"अाॆ",ओ:"अाे",औ:"अाै","ऄ":"अॆ",ऑ:"अॉ",ऍ:"एॅ",ऎ:"एॆ",ऐ:"एे",ई:"र्इ",ઽ:"ऽ","𑇜":"ꣻ","𑇋":"ऺ","ુ":"ु","ૂ":"ू","ੋ":"ॆ","੍":"्","્":"्",আ:"অা",ৠ:"ঋৃ",ৡ:"ঋৃ","𑒒":"ঘ","𑒔":"চ","𑒖":"জ","𑒘":"ঞ","𑒙":"ট","𑒛":"ড","𑒪":"ণ","𑒞":"ত","𑒟":"থ","𑒠":"দ","𑒡":"ধ","𑒢":"ন","𑒣":"প","𑒩":"ব","𑒧":"ম","𑒨":"য","𑒫":"র","𑒝":"ল","𑒭":"ষ","𑒮":"স","𑓄":"ঽ","𑒰":"া","𑒱":"ি","𑒹":"ে","𑒼":"ো","𑒾":"ৌ","𑓂":"্","𑒽":"ৗ",ਉ:"ੳੁ",ਊ:"ੳੂ",ਆ:"ਅਾ",ਐ:"ਅੈ",ਔ:"ਅੌ",ਇ:"ੲਿ",ਈ:"ੲੀ",ਏ:"ੲੇ",આ:"અા",ઑ:"અાૅ",ઓ:"અાે",ઔ:"અાૈ",ઍ:"અૅ",એ:"અે",ઐ:"અૈ",ଆ:"ଅା","௮":"அ",ர:"ஈ","ா":"ஈ","௫":"ஈு","௨":"உ",ഉ:"உ",ஊ:"உள",ഊ:"உൗ","௭":"எ","௷":"எவ",ஜ:"ஐ",ജ:"ஐ","௧":"க","௪":"ச","௬":"சு","௲":"சூ","ഺ":"டி",ണ:"ண","௺":"நீ","௴":"மீ","௰":"ய",ഴ:"ழ","ௗ":"ள","ை":"ன",ശ:"ஶ","௸":"ஷ","ി":"ி","ീ":"ி","ொ":"ெஈ","ௌ":"ெள","ோ":"ேஈ",ಅ:"అ",ಆ:"ఆ",ಇ:"ఇ",ౠ:"ఋా",ౡ:"ఌా",ಒ:"ఒ",ఔ:"ఒౌ",ಔ:"ఒౌ",ఓ:"ఒౕ",ಓ:"ఒౕ",ಜ:"జ",ಞ:"ఞ",ఢ:"డ̣",ಣ:"ణ",థ:"ధּ",భ:"బ̣",ಯ:"య",ఠ:"రּ",ಱ:"ఱ",ಲ:"ల",ష:"వ̣",హ:"వా",మ:"వు","ూ":"ుా","ౄ":"ృా",ೡ:"ಌಾ",ഈ:"ഇൗ",ഐ:"എെ",ഓ:"ഒാ",ഔ:"ഒൗ",ൡ:"ഞ","൫":"ദ്ര","൹":"നു",ഌ:"നു",ങ:"നു","൯":"ന്","ൻ":"ന്","൬":"ന്ന","൚":"ന്മ",റ:"ര","൪":"ര്","ർ":"ര്","൮":"വ്ര","൶":"ഹ്മ","ൂ":"ു","ൃ":"ു","ൈ":"െെ","෪":"ජ","෫":"ද","𑐓":"𑐴𑑂𑐒","𑐙":"𑐴𑑂𑐘","𑐤":"𑐴𑑂𑐣","𑐪":"𑐴𑑂𑐩","𑐭":"𑐴𑑂𑐬","𑐯":"𑐴𑑂𑐮","𑗘":"𑖂","𑗙":"𑖂","𑗚":"𑖃","𑗛":"𑖄","𑗜":"𑖲","𑗝":"𑖳",ฃ:"ข",ด:"ค",ต:"ค",ม:"ฆ",ຈ:"จ",ซ:"ช",ฏ:"ฎ",ท:"ฑ",ບ:"บ",ປ:"ป",ຝ:"ฝ",ພ:"พ",ຟ:"ฟ",ฦ:"ภ",ຍ:"ย","។":"ฯ",ๅ:"า",ำ:"̊า","ិ":"ิ","ី":"ี","ឹ":"ึ","ឺ":"ื","ຸ":"ุ","ູ":"ู",แ:"เเ",ໜ:"ຫນ",ໝ:"ຫມ",ຳ:"̊າ","༂":"འུྂཿ","༃":"འུྂ༔",ཪ:"ར",ༀ:"ཨོཾ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ","𑲲":"𑲪","ႁ":"ဂှ",က:"ဂာ","ၰ":"ဃှ","ၦ":"ပှ",ဟ:"ပာ","ၯ":"ပာှ","ၾ":"ၽှ",ဩ:"သြ",ဪ:"သြော်","႞":"ႃ̊",ឣ:"អ","᧐":"ᦞ","᧑":"ᦱ","᪀":"ᩅ","᪐":"ᩅ","꩓":"ꨁ","꩖":"ꨣ","᭒":"ᬍ","᭓":"ᬑ","᭘":"ᬨ","ꦣ":"ꦝ",ᢖ:"ᡜ",ᡕ:"ᠵ",ῶ:"Ꮿ",ᐍ:"ᐁ·",ᐫ:"ᐁᐠ",ᐑ:"ᐄ·",ᐓ:"ᐅ·",ᐭ:"ᐅᐠ",ᐕ:"ᐆ·",ᐘ:"ᐊ·",ᐮ:"ᐊᐠ",ᐚ:"ᐋ·","ᣝ":"ᐞᣟ",ᓑ:"ᐡ",ᕀ:"ᐩ",ᐿ:"ᐲ·",ᑃ:"ᐴ·","⍩":"ᐵ",ᑇ:"ᐹ·",ᑜ:"ᑏ·","⸧":"ᑐ","⊃":"ᑐ",ᑞ:"ᑐ·",ᑩ:"ᑐ'","⟉":"ᑐ/","⫗":"ᑐᑕ",ᑠ:"ᑑ·","⸦":"ᑕ","⊂":"ᑕ",ᑢ:"ᑕ·",ᑪ:"ᑕ'",ᑤ:"ᑖ·",ᑵ:"ᑫ·",ᒅ:"ᑫ'",ᑹ:"ᑮ·",ᑽ:"ᑰ·",ᘃ:"ᒉ",ᒓ:"ᒉ·",ᒕ:"ᒋ·",ᒗ:"ᒌ·",ᒛ:"ᒎ·",ᘂ:"ᒐ",ᒝ:"ᒐ·",ᒟ:"ᒑ·",ᒭ:"ᒣ·",ᒱ:"ᒦ·",ᒳ:"ᒧ·",ᒵ:"ᒨ·",ᒹ:"ᒫ·",ᓊ:"ᓀ·","ᣇ":"ᓂ·","ᣉ":"ᓃ·","ᣋ":"ᓄ·","ᣍ":"ᓅ·",ᓌ:"ᓇ·",ᓎ:"ᓈ·",ᘄ:"ᓓ",ᓝ:"ᓓ·",ᓟ:"ᓕ·",ᓡ:"ᓖ·",ᓣ:"ᓗ·",ᓥ:"ᓘ·",ᘇ:"ᓚ",ᓧ:"ᓚ·",ᓩ:"ᓛ·",ᓷ:"ᓭ·",ᓹ:"ᓯ·",ᓻ:"ᓰ·",ᓽ:"ᓱ·",ᓿ:"ᓲ·",ᔁ:"ᓴ·",ᔃ:"ᓵ·",ᔌ:"ᔋ<",ᔎ:"ᔋb",ᔍ:"ᔋᑕ",ᔏ:"ᔋᒐ",ᔘ:"ᔐ·",ᔚ:"ᔑ·",ᔜ:"ᔒ·",ᔞ:"ᔓ·",ᔠ:"ᔔ·",ᔢ:"ᔕ·",ᔤ:"ᔖ·",ᔲ:"ᔨ·",ᔴ:"ᔩ·",ᔶ:"ᔪ·",ᔸ:"ᔫ·",ᔺ:"ᔭ·",ᔼ:"ᔮ·",ᘢ:"ᕃ","ᣠ":"ᕃ·",ᘣ:"ᕆ",ᘤ:"ᕊ",ᕏ:"ᕌ·",ᖃ:"ᕐb",ᖄ:"ᕐḃ",ᖁ:"ᕐd",ᕿ:"ᕐP",ᙯ:"ᕐᑫ",ᕾ:"ᕐᑬ",ᖀ:"ᕐᑮ",ᖂ:"ᕐᑰ",ᖅ:"ᕐᒃ",ᕜ:"ᕚ·","ᣣ":"ᕞ·","ᣤ":"ᕦ·",ᕩ:"ᕧ·","ᣥ":"ᕫ·","ᣨ":"ᖆ·",ᖑ:"ᖕJ",ᙰ:"ᖕᒉ",ᖎ:"ᖕᒊ",ᖏ:"ᖕᒋ",ᖐ:"ᖕᒌ",ᖒ:"ᖕᒎ",ᖓ:"ᖕᒐ",ᖔ:"ᖕᒑ",ᙳ:"ᖖJ",ᙱ:"ᖖᒋ",ᙲ:"ᖖᒌ",ᙴ:"ᖖᒎ",ᙵ:"ᖖᒐ",ᙶ:"ᖖᒑ","ᣪ":"ᖗ·","ᙷ":"ᖧ·","ᙸ":"ᖨ·","ᙹ":"ᖩ·","ᙺ":"ᖪ·","ᙻ":"ᖫ·","ᙼ":"ᖬ·","ᙽ":"ᖭ·","⪫":"ᗒ","⪪":"ᗕ","ꓷ":"ᗡ","ᣰ":"ᗴ·","ᣲ":"ᘛ·","ᶻ":"ᙆ","ꓭ":"ᙠ","ᶺ":"ᣔ","ᴾ":"ᣖ","ᣜ":"ᣟᐞ",ˡ:"ᣳ",ʳ:"ᣴ",ˢ:"ᣵ","ᣛ":"ᣵ","ꚰ":"ᚹ",ᛡ:"ᚼ","⍿":"ᚽ",ᛂ:"ᚽ","𝈿":"ᛋ","↑":"ᛏ","↿":"ᛐ","⥮":"ᛐ⇂","⥣":"ᛐᛚ","ⵣ":"ᛯ","↾":"ᛚ","⨡":"ᛚ","⋄":"ᛜ","◇":"ᛜ","◊":"ᛜ","♢":"ᛜ","🝔":"ᛜ","𑢷":"ᛜ","𐊔":"ᛜ","⍚":"ᛜ̲","⋈":"ᛞ","⨝":"ᛞ","𐓐":"ᛦ","↕":"ᛨ","𐳼":"𐲂","𐳺":"𐲥",ㄱ:"ᄀ",ᆨ:"ᄀ",ᄁ:"ᄀᄀ",ㄲ:"ᄀᄀ",ᆩ:"ᄀᄀ","ᇺ":"ᄀᄂ","ᅚ":"ᄀᄃ",ᇃ:"ᄀᄅ","ᇻ":"ᄀᄇ",ᆪ:"ᄀᄉ",ㄳ:"ᄀᄉ",ᇄ:"ᄀᄉᄀ","ᇼ":"ᄀᄎ","ᇽ":"ᄀᄏ","ᇾ":"ᄀᄒ",ㄴ:"ᄂ",ᆫ:"ᄂ",ᄓ:"ᄂᄀ",ᇅ:"ᄂᄀ",ᄔ:"ᄂᄂ",ㅥ:"ᄂᄂ","ᇿ":"ᄂᄂ",ᄕ:"ᄂᄃ",ㅦ:"ᄂᄃ",ᇆ:"ᄂᄃ","ퟋ":"ᄂᄅ",ᄖ:"ᄂᄇ","ᅛ":"ᄂᄉ",ᇇ:"ᄂᄉ",ㅧ:"ᄂᄉ","ᅜ":"ᄂᄌ",ᆬ:"ᄂᄌ",ㄵ:"ᄂᄌ","ퟌ":"ᄂᄎ",ᇉ:"ᄂᄐ","ᅝ":"ᄂᄒ",ᆭ:"ᄂᄒ",ㄶ:"ᄂᄒ",ᇈ:"ᄂᅀ",ㅨ:"ᄂᅀ",ㄷ:"ᄃ",ᆮ:"ᄃ",ᄗ:"ᄃᄀ",ᇊ:"ᄃᄀ",ᄄ:"ᄃᄃ",ㄸ:"ᄃᄃ","ퟍ":"ᄃᄃ","ퟎ":"ᄃᄃᄇ","ᅞ":"ᄃᄅ",ᇋ:"ᄃᄅ","ꥠ":"ᄃᄆ","ꥡ":"ᄃᄇ","ퟏ":"ᄃᄇ","ꥢ":"ᄃᄉ","ퟐ":"ᄃᄉ","ퟑ":"ᄃᄉᄀ","ꥣ":"ᄃᄌ","ퟒ":"ᄃᄌ","ퟓ":"ᄃᄎ","ퟔ":"ᄃᄐ",ㄹ:"ᄅ",ᆯ:"ᄅ","ꥤ":"ᄅᄀ",ᆰ:"ᄅᄀ",ㄺ:"ᄅᄀ","ꥥ":"ᄅᄀᄀ","ퟕ":"ᄅᄀᄀ",ᇌ:"ᄅᄀᄉ",ㅩ:"ᄅᄀᄉ","ퟖ":"ᄅᄀᄒ",ᄘ:"ᄅᄂ",ᇍ:"ᄅᄂ","ꥦ":"ᄅᄃ",ᇎ:"ᄅᄃ",ㅪ:"ᄅᄃ","ꥧ":"ᄅᄃᄃ",ᇏ:"ᄅᄃᄒ",ᄙ:"ᄅᄅ",ᇐ:"ᄅᄅ","ퟗ":"ᄅᄅᄏ","ꥨ":"ᄅᄆ",ᆱ:"ᄅᄆ",ㄻ:"ᄅᄆ",ᇑ:"ᄅᄆᄀ",ᇒ:"ᄅᄆᄉ","ퟘ":"ᄅᄆᄒ","ꥩ":"ᄅᄇ",ᆲ:"ᄅᄇ",ㄼ:"ᄅᄇ","ퟙ":"ᄅᄇᄃ","ꥪ":"ᄅᄇᄇ",ᇓ:"ᄅᄇᄉ",ㅫ:"ᄅᄇᄉ","ꥫ":"ᄅᄇᄋ",ᇕ:"ᄅᄇᄋ","ퟚ":"ᄅᄇᄑ",ᇔ:"ᄅᄇᄒ","ꥬ":"ᄅᄉ",ᆳ:"ᄅᄉ",ㄽ:"ᄅᄉ",ᇖ:"ᄅᄉᄉ",ᄛ:"ᄅᄋ","ퟝ":"ᄅᄋ","ꥭ":"ᄅᄌ","ꥮ":"ᄅᄏ",ᇘ:"ᄅᄏ",ᆴ:"ᄅᄐ",ㄾ:"ᄅᄐ",ᆵ:"ᄅᄑ",ㄿ:"ᄅᄑ",ᄚ:"ᄅᄒ",ㅀ:"ᄅᄒ",ᄻ:"ᄅᄒ",ᆶ:"ᄅᄒ","ퟲ":"ᄅᄒ",ᇗ:"ᄅᅀ",ㅬ:"ᄅᅀ","ퟛ":"ᄅᅌ",ᇙ:"ᄅᅙ",ㅭ:"ᄅᅙ","ퟜ":"ᄅᅙᄒ",ㅁ:"ᄆ",ᆷ:"ᄆ","ꥯ":"ᄆᄀ",ᇚ:"ᄆᄀ","ퟞ":"ᄆᄂ","ퟟ":"ᄆᄂᄂ","ꥰ":"ᄆᄃ",ᇛ:"ᄆᄅ","ퟠ":"ᄆᄆ",ᄜ:"ᄆᄇ",ㅮ:"ᄆᄇ",ᇜ:"ᄆᄇ","ퟡ":"ᄆᄇᄉ","ꥱ":"ᄆᄉ",ᇝ:"ᄆᄉ",ㅯ:"ᄆᄉ",ᇞ:"ᄆᄉᄉ",ᄝ:"ᄆᄋ",ㅱ:"ᄆᄋ",ᇢ:"ᄆᄋ","ퟢ":"ᄆᄌ",ᇠ:"ᄆᄎ",ᇡ:"ᄆᄒ",ᇟ:"ᄆᅀ",ㅰ:"ᄆᅀ",ㅂ:"ᄇ",ᆸ:"ᄇ",ᄞ:"ᄇᄀ",ㅲ:"ᄇᄀ",ᄟ:"ᄇᄂ",ᄠ:"ᄇᄃ",ㅳ:"ᄇᄃ","ퟣ":"ᄇᄃ",ᇣ:"ᄇᄅ","ퟤ":"ᄇᄅᄑ","ퟥ":"ᄇᄆ",ᄈ:"ᄇᄇ",ㅃ:"ᄇᄇ","ퟦ":"ᄇᄇ",ᄬ:"ᄇᄇᄋ",ㅹ:"ᄇᄇᄋ",ᄡ:"ᄇᄉ",ㅄ:"ᄇᄉ",ᆹ:"ᄇᄉ",ᄢ:"ᄇᄉᄀ",ㅴ:"ᄇᄉᄀ",ᄣ:"ᄇᄉᄃ",ㅵ:"ᄇᄉᄃ","ퟧ":"ᄇᄉᄃ",ᄤ:"ᄇᄉᄇ",ᄥ:"ᄇᄉᄉ",ᄦ:"ᄇᄉᄌ","ꥲ":"ᄇᄉᄐ",ᄫ:"ᄇᄋ",ㅸ:"ᄇᄋ",ᇦ:"ᄇᄋ",ᄧ:"ᄇᄌ",ㅶ:"ᄇᄌ","ퟨ":"ᄇᄌ",ᄨ:"ᄇᄎ","ퟩ":"ᄇᄎ","ꥳ":"ᄇᄏ",ᄩ:"ᄇᄐ",ㅷ:"ᄇᄐ",ᄪ:"ᄇᄑ",ᇤ:"ᄇᄑ","ꥴ":"ᄇᄒ",ᇥ:"ᄇᄒ",ㅅ:"ᄉ",ᆺ:"ᄉ",ᄭ:"ᄉᄀ",ㅺ:"ᄉᄀ",ᇧ:"ᄉᄀ",ᄮ:"ᄉᄂ",ㅻ:"ᄉᄂ",ᄯ:"ᄉᄃ",ㅼ:"ᄉᄃ",ᇨ:"ᄉᄃ",ᄰ:"ᄉᄅ",ᇩ:"ᄉᄅ",ᄱ:"ᄉᄆ","ퟪ":"ᄉᄆ",ᄲ:"ᄉᄇ",ㅽ:"ᄉᄇ",ᇪ:"ᄉᄇ",ᄳ:"ᄉᄇᄀ","ퟫ":"ᄉᄇᄋ",ᄊ:"ᄉᄉ",ㅆ:"ᄉᄉ",ᆻ:"ᄉᄉ","ퟬ":"ᄉᄉᄀ","ퟭ":"ᄉᄉᄃ","ꥵ":"ᄉᄉᄇ",ᄴ:"ᄉᄉᄉ",ᄵ:"ᄉᄋ",ᄶ:"ᄉᄌ",ㅾ:"ᄉᄌ","ퟯ":"ᄉᄌ",ᄷ:"ᄉᄎ","ퟰ":"ᄉᄎ",ᄸ:"ᄉᄏ",ᄹ:"ᄉᄐ","ퟱ":"ᄉᄐ",ᄺ:"ᄉᄑ","ퟮ":"ᄉᅀ",ㅇ:"ᄋ",ᆼ:"ᄋ",ᅁ:"ᄋᄀ",ᇬ:"ᄋᄀ",ᇭ:"ᄋᄀᄀ",ᅂ:"ᄋᄃ","ꥶ":"ᄋᄅ",ᅃ:"ᄋᄆ",ᅄ:"ᄋᄇ",ᅅ:"ᄋᄉ",ᇱ:"ᄋᄉ",ㆂ:"ᄋᄉ",ᅇ:"ᄋᄋ",ㆀ:"ᄋᄋ",ᇮ:"ᄋᄋ",ᅈ:"ᄋᄌ",ᅉ:"ᄋᄎ",ᇯ:"ᄋᄏ",ᅊ:"ᄋᄐ",ᅋ:"ᄋᄑ","ꥷ":"ᄋᄒ",ᅆ:"ᄋᅀ",ᇲ:"ᄋᅀ",ㆃ:"ᄋᅀ",ㅈ:"ᄌ",ᆽ:"ᄌ","ퟷ":"ᄌᄇ","ퟸ":"ᄌᄇᄇ",ᅍ:"ᄌᄋ",ᄍ:"ᄌᄌ",ㅉ:"ᄌᄌ","ퟹ":"ᄌᄌ","ꥸ":"ᄌᄌᄒ",ㅊ:"ᄎ",ᆾ:"ᄎ",ᅒ:"ᄎᄏ",ᅓ:"ᄎᄒ",ㅋ:"ᄏ",ᆿ:"ᄏ",ㅌ:"ᄐ",ᇀ:"ᄐ","ꥹ":"ᄐᄐ",ㅍ:"ᄑ",ᇁ:"ᄑ",ᅖ:"ᄑᄇ",ᇳ:"ᄑᄇ","ퟺ":"ᄑᄉ",ᅗ:"ᄑᄋ",ㆄ:"ᄑᄋ",ᇴ:"ᄑᄋ","ퟻ":"ᄑᄐ","ꥺ":"ᄑᄒ",ㅎ:"ᄒ",ᇂ:"ᄒ",ᇵ:"ᄒᄂ",ᇶ:"ᄒᄅ",ᇷ:"ᄒᄆ",ᇸ:"ᄒᄇ","ꥻ":"ᄒᄉ",ᅘ:"ᄒᄒ",ㆅ:"ᄒᄒ",ᄽ:"ᄼᄼ",ᄿ:"ᄾᄾ",ㅿ:"ᅀ",ᇫ:"ᅀ","ퟳ":"ᅀᄇ","ퟴ":"ᅀᄇᄋ",ㆁ:"ᅌ",ᇰ:"ᅌ","ퟵ":"ᅌᄆ","ퟶ":"ᅌᄒ",ᅏ:"ᅎᅎ",ᅑ:"ᅐᅐ",ㆆ:"ᅙ",ᇹ:"ᅙ","ꥼ":"ᅙᅙ",ㅤ:"ᅠ",ㅏ:"ᅡ","ᆣ":"ᅡー",ᅶ:"ᅡᅩ",ᅷ:"ᅡᅮ",ᅢ:"ᅡ丨",ㅐ:"ᅡ丨",ㅑ:"ᅣ",ᅸ:"ᅣᅩ",ᅹ:"ᅣᅭ","ᆤ":"ᅣᅮ",ᅤ:"ᅣ丨",ㅒ:"ᅣ丨",ㅓ:"ᅥ",ᅼ:"ᅥー",ᅺ:"ᅥᅩ",ᅻ:"ᅥᅮ",ᅦ:"ᅥ丨",ㅔ:"ᅥ丨",ㅕ:"ᅧ","ᆥ":"ᅧᅣ",ᅽ:"ᅧᅩ",ᅾ:"ᅧᅮ",ᅨ:"ᅧ丨",ㅖ:"ᅧ丨",ㅗ:"ᅩ",ᅪ:"ᅩᅡ",ㅘ:"ᅩᅡ",ᅫ:"ᅩᅡ丨",ㅙ:"ᅩᅡ丨","ᆦ":"ᅩᅣ","ᆧ":"ᅩᅣ丨",ᅿ:"ᅩᅥ",ᆀ:"ᅩᅥ丨","ힰ":"ᅩᅧ",ᆁ:"ᅩᅧ丨",ᆂ:"ᅩᅩ","ힱ":"ᅩᅩ丨",ᆃ:"ᅩᅮ",ᅬ:"ᅩ丨",ㅚ:"ᅩ丨",ㅛ:"ᅭ","ힲ":"ᅭᅡ","ힳ":"ᅭᅡ丨",ᆄ:"ᅭᅣ",ㆇ:"ᅭᅣ",ᆆ:"ᅭᅣ",ᆅ:"ᅭᅣ丨",ㆈ:"ᅭᅣ丨","ힴ":"ᅭᅥ",ᆇ:"ᅭᅩ",ᆈ:"ᅭ丨",ㆉ:"ᅭ丨",ㅜ:"ᅮ",ᆉ:"ᅮᅡ",ᆊ:"ᅮᅡ丨",ᅯ:"ᅮᅥ",ㅝ:"ᅮᅥ",ᆋ:"ᅮᅥー",ᅰ:"ᅮᅥ丨",ㅞ:"ᅮᅥ丨","ힵ":"ᅮᅧ",ᆌ:"ᅮᅧ丨",ᆍ:"ᅮᅮ",ᅱ:"ᅮ丨",ㅟ:"ᅮ丨","ힶ":"ᅮ丨丨",ㅠ:"ᅲ",ᆎ:"ᅲᅡ","ힷ":"ᅲᅡ丨",ᆏ:"ᅲᅥ",ᆐ:"ᅲᅥ丨",ᆑ:"ᅲᅧ",ㆊ:"ᅲᅧ",ᆒ:"ᅲᅧ丨",ㆋ:"ᅲᅧ丨","ힸ":"ᅲᅩ",ᆓ:"ᅲᅮ",ᆔ:"ᅲ丨",ㆌ:"ᅲ丨",ㆍ:"ᆞ","ퟅ":"ᆞᅡ",ᆟ:"ᆞᅥ","ퟆ":"ᆞᅥ丨",ᆠ:"ᆞᅮ",ᆢ:"ᆞᆞ",ᆡ:"ᆞ丨",ㆎ:"ᆞ丨",ヘ:"へ","⍁":"〼","⧄":"〼","꒞":"ꁊ","꒬":"ꁐ","꒜":"ꃀ","꒨":"ꄲ","꒿":"ꉙ","꒾":"ꊱ","꒔":"ꋍ","꓀":"ꎫ","꓂":"ꎵ","꒺":"ꎿ","꒰":"ꏂ","꒧":"ꑘ","⊥":"ꓕ","⟂":"ꓕ","𝈜":"ꓕ","Ʇ":"ꓕ","Ꞟ":"ꓤ","⅁":"ꓨ","⅂":"ꓶ","𝈕":"ꓶ","𝈫":"ꓶ","𖼦":"ꓶ","𐐑":"ꓶ","⅃":"𖼀","𑫦":"𑫥𑫯","𑫨":"𑫥𑫥","𑫩":"𑫥𑫥𑫯","𑫪":"𑫥𑫥𑫰","𑫧":"𑫥𑫰","𑫴":"𑫳𑫯","𑫶":"𑫳𑫳","𑫷":"𑫳𑫳𑫯","𑫸":"𑫳𑫳𑫰","𑫵":"𑫳𑫰","𑫬":"𑫫𑫯","𑫭":"𑫫𑫫","𑫮":"𑫫𑫫𑫯","⊕":"𐊨","⨁":"𐊨","🜨":"𐊨","Ꚛ":"𐊨","▽":"𐊼","𝈔":"𐊼","🜄":"𐊼","⧖":"𐋀","ꞛ":"𐐺","Ꞛ":"𐐒","𐒠":"𐒆","𐏑":"𐎂","𐏓":"𐎓","𒀸":"𐎚","☥":"𐦞","𓋹":"𐦞","〹":"卄",不:"不","丽":"丽","並":"並","⎜":"丨","⎟":"丨","⎢":"丨","⎥":"丨","⎪":"丨","⎮":"丨","㇑":"丨",ᅵ:"丨",ㅣ:"丨","⼁":"丨",ᆜ:"丨ー",ᆘ:"丨ᅡ",ᆙ:"丨ᅣ","ힽ":"丨ᅣᅩ","ힾ":"丨ᅣ丨","ힿ":"丨ᅧ","ퟀ":"丨ᅧ丨",ᆚ:"丨ᅩ","ퟁ":"丨ᅩ丨","ퟂ":"丨ᅭ",ᆛ:"丨ᅮ","ퟃ":"丨ᅲ",ᆝ:"丨ᆞ","ퟄ":"丨丨",串:"串","丸":"丸",丹:"丹","乁":"乁","㇠":"乙","⼄":"乙","㇟":"乚","⺃":"乚","㇖":"乛","⺂":"乛","⻲":"亀",亂:"亂","㇚":"亅","⼅":"亅",了:"了",ニ:"二","⼆":"二","𠄢":"𠄢","⼇":"亠",亮:"亮","⼈":"人",イ:"亻","⺅":"亻",什:"什","仌":"仌",令:"令","你":"你",倂:"併","倂":"併","侀":"侀",來:"來",例:"例","侮":"侮","侮":"侮","侻":"侻",便:"便",值:"値",倫:"倫","偺":"偺","備":"備","像":"像",僚:"僚","僧":"僧","僧":"僧","㒞":"㒞","⼉":"儿",兀:"兀","⺎":"兀","充":"充","免":"免","免":"免","兔":"兔","兤":"兤","⼊":"入","內":"內","全":"全",兩:"兩",ハ:"八","⼋":"八",六:"六","具":"具","𠔜":"𠔜","𠔥":"𠔥","冀":"冀","㒹":"㒹","⼌":"冂","再":"再","𠕋":"𠕋","冒":"冒","冕":"冕","㒻":"㒻","最":"最","⼍":"冖","冗":"冗","冤":"冤","⼎":"冫","冬":"冬","况":"况","况":"况",冷:"冷",凉:"凉",凌:"凌",凜:"凜",凞:"凞","⼏":"几","𠘺":"𠘺","凵":"凵","⼐":"凵","⼑":"刀","⺉":"刂","刃":"刃",切:"切","切":"切",列:"列",利:"利","㓟":"㓟",刺:"刺","刻":"刻","剆":"剆","割":"割","剷":"剷",劉:"劉","𠠄":"𠠄",カ:"力",力:"力","⼒":"力",劣:"劣","㔕":"㔕","劳":"劳","勇":"勇","勇":"勇","勉":"勉","勉":"勉",勒:"勒",勞:"勞","勤":"勤","勤":"勤",勵:"勵","⼓":"勹","勺":"勺","勺":"勺","包":"包","匆":"匆","𠣞":"𠣞","⼔":"匕",北:"北","北":"北","⼕":"匚","⼖":"匸",匿:"匿","⼗":"十","〸":"十","〺":"卅","卉":"卉","࿖":"卍","࿕":"卐","卑":"卑","卑":"卑","博":"博",ト:"卜","⼘":"卜","⼙":"卩","⺋":"㔾","即":"即",卵:"卵","卽":"卽","卿":"卿","卿":"卿","卿":"卿","⼚":"厂","𠨬":"𠨬","⼛":"厶",參:"參","⼜":"又","及":"及","叟":"叟","𠭣":"𠭣",ロ:"口","⼝":"口",囗:"口","⼞":"口",句:"句","叫":"叫","叱":"叱","吆":"吆",吏:"吏",吝:"吝","吸":"吸",呂:"呂","呈":"呈","周":"周","咞":"咞","咢":"咢",咽:"咽",䎛:"㖈","哶":"哶","唐":"唐","啓":"啓",啟:"啓","啕":"啕","啣":"啣","善":"善","善":"善",喇:"喇","喙":"喙","喙":"喙","喝":"喝","喝":"喝","喫":"喫","喳":"喳",嗀:"嗀","嗂":"嗂","嗢":"嗢","嘆":"嘆","嘆":"嘆","噑":"噑","噴":"噴","器":"器",囹:"囹","圖":"圖","圗":"圗","⼟":"土",士:"土","⼠":"土","型":"型","城":"城",㦳:"㘽","埴":"埴","堍":"堍","報":"報","堲":"堲","塀":"塀",塚:"塚","塚":"塚",塞:"塞",填:"塡",壿:"墫","墬":"墬","墳":"墳",壘:"壘",壟:"壟","𡓤":"𡓤","壮":"壮","売":"売","壷":"壷","⼡":"夂","夆":"夆","⼢":"夊",タ:"夕","⼣":"夕","多":"多","夢":"夢","⼤":"大","奄":"奄",奈:"奈",契:"契","奔":"奔","奢":"奢",女:"女","⼥":"女","𡚨":"𡚨","𡛪":"𡛪","姘":"姘","姬":"姬","娛":"娛","娧":"娧","婢":"婢","婦":"婦",嬀:"媯","㛮":"㛮","㛼":"㛼","媵":"媵","嬈":"嬈","嬨":"嬨","嬾":"嬾","嬾":"嬾","⼦":"子","⼧":"宀",宅:"宅","𡧈":"𡧈","寃":"寃","寘":"寘",寧:"寧",寧:"寧","寧":"寧",寮:"寮","寳":"寳","𡬘":"𡬘","⼨":"寸","寿":"寿","将":"将","⼩":"小","尢":"尢","⺐":"尢","⼪":"尢","⺏":"尣","㞁":"㞁","⼫":"尸",尿:"尿","屠":"屠",屢:"屢","層":"層",履:"履","屮":"屮","屮":"屮","⼬":"屮","𡴋":"𡴋","⼭":"山","峀":"峀","岍":"岍","𡷤":"𡷤","𡷦":"𡷦",崙:"崙","嵃":"嵃",嵐:"嵐","嵫":"嵫","嵮":"嵮","嵼":"嵼","嶲":"嶲",嶺:"嶺","⼮":"巛","巢":"巢",エ:"工","⼯":"工","⼰":"己","⺒":"巳","㠯":"㠯","巽":"巽","⼱":"巾",帲:"帡","帨":"帨","帽":"帽","幩":"幩","㡢":"㡢","𢆃":"𢆃","⼲":"干",年:"年","𢆟":"𢆟","⺓":"幺","⼳":"幺","⼴":"广",度:"度","㡼":"㡼","庰":"庰","庳":"庳","庶":"庶",廊:"廊","廊":"廊",廉:"廉","廒":"廒",廓:"廓","廙":"廙",廬:"廬","⼵":"廴","廾":"廾","⼶":"廾","𢌱":"𢌱","𢌱":"𢌱",弄:"弄","⼷":"弋","⼸":"弓","弢":"弢","弢":"弢","⼹":"彐","⺔":"彑","当":"当","㣇":"㣇","⼺":"彡","形":"形","彩":"彩","彫":"彫","⼻":"彳",律:"律","㣣":"㣣","徚":"徚",復:"復","徭":"徭","⼼":"心","⺖":"忄","⺗":"㣺","忍":"忍","志":"志",念:"念","忹":"忹",怒:"怒",怜:"怜","恵":"恵","㤜":"㤜","㤺":"㤺","悁":"悁","悔":"悔","悔":"悔","惇":"惇","惘":"惘",惡:"惡","𢛔":"𢛔","愈":"愈","慨":"慨",慄:"慄","慈":"慈","慌":"慌","慌":"慌","慎":"慎","慎":"慎","慠":"慠","慺":"慺","憎":"憎","憎":"憎","憎":"憎",憐:"憐","憤":"憤","憯":"憯","憲":"憲","𢡄":"𢡄","𢡊":"𢡊","懞":"懞","懲":"懲","懲":"懲","懲":"懲",懶:"懶","懶":"懶",戀:"戀","⼽":"戈","成":"成","戛":"戛",戮:"戮","戴":"戴","⼾":"戶",戸:"戶","⼿":"手","⺘":"扌","扝":"扝","抱":"抱",拉:"拉",拏:"拏",拓:"拓","拔":"拔","拼":"拼",拾:"拾","𢬌":"𢬌","挽":"挽","捐":"捐","捨":"捨",捻:"捻","掃":"掃",掠:"掠","掩":"掩","揄":"揄","揤":"揤","摒":"摒","𢯱":"𢯱","搜":"搜","搢":"搢","揅":"揅","摩":"摩","摷":"摷","摾":"摾","㨮":"㨮",搉:"㩁",撚:"撚","撝":"撝",擄:"擄","㩬":"㩬","⽀":"支","⽁":"攴","⺙":"攵","敏":"敏","敏":"敏","敖":"敖","敬":"敬",數:"數","𣀊":"𣀊","⽂":"文","⻫":"斉","⽃":"斗",料:"料","⽄":"斤","⽅":"方",旅:"旅","⽆":"无","⺛":"旡","既":"既","旣":"旣","⽇":"日",易:"易",曶:"㫚","㫤":"㫤","晉":"晉",晩:"晚",晴:"晴","晴":"晴","暑":"暑","暑":"暑",暈:"暈","㬈":"㬈","暜":"暜",暴:"暴",曆:"曆","㬙":"㬙","𣊸":"𣊸","⽈":"曰",更:"更","書":"書","⽉":"月","𣍟":"𣍟",肦:"朌",胐:"朏",胊:"朐",脁:"朓",胶:"㬵",朗:"朗","朗":"朗","朗":"朗",脧:"朘","望":"望","望":"望",幐:"㬺",䐠:"㬻","𣎓":"𣎓",膧:"朣","𣎜":"𣎜","⽊":"木",李:"李","杓":"杓","杖":"杖","杞":"杞","𣏃":"𣏃",柿:"杮",杻:"杻","枅":"枅",林:"林","㭉":"㭉","𣏕":"𣏕",柳:"柳","柺":"柺",栗:"栗","栟":"栟","桒":"桒","𣑭":"𣑭",梁:"梁","梅":"梅","梅":"梅","梎":"梎",梨:"梨","椔":"椔","楂":"楂","㮝":"㮝","㮝":"㮝",槩:"㮣",樧:"榝","榣":"榣","槪":"槪",樂:"樂",樂:"樂",樂:"樂",樓:"樓","𣚣":"𣚣","檨":"檨",櫓:"櫓","櫛":"櫛",欄:"欄","㰘":"㰘","⽋":"欠","次":"次","𣢧":"𣢧","歔":"歔","㱎":"㱎","⽌":"止","⻭":"歯","歲":"歲",歷:"歷","歹":"歹","⽍":"歹","⺞":"歺","殟":"殟",殮:"殮","⽎":"殳",殺:"殺","殺":"殺","殺":"殺","殻":"殻","𣪍":"𣪍","⽏":"毋","⺟":"母","𣫺":"𣫺","⽐":"比","⽑":"毛","⽒":"氏","⺠":"民","⽓":"气","⽔":"水","⺡":"氵","⺢":"氺","汎":"汎","汧":"汧",沈:"沈","沿":"沿",泌:"泌","泍":"泍",泥:"泥","𣲼":"𣲼",洛:"洛",洞:"洞","洴":"洴","派":"派",流:"流","流":"流","流":"流","洖":"洖","浩":"浩",浪:"浪","海":"海","海":"海","浸":"浸","涅":"涅","𣴞":"𣴞",淋:"淋",淚:"淚",淪:"淪","淹":"淹","渚":"渚","港":"港","湮":"湮",潙:"溈","滋":"滋","滋":"滋",溜:"溜",溺:"溺","滇":"滇",滑:"滑","滛":"滛","㴳":"㴳",漏:"漏","漢":"漢","漢":"漢",漣:"漣","𣻑":"𣻑","潮":"潮","𣽞":"𣽞","𣾎":"𣾎","濆":"濆",濫:"濫",濾:"濾","瀛":"瀛","瀞":"瀞","瀞":"瀞","瀹":"瀹","灊":"灊","㶖":"㶖","⽕":"火","⺣":"灬","灰":"灰","灷":"灷","災":"災",炙:"炙","炭":"炭",烈:"烈",烙:"烙","煮":"煮","煮":"煮","𤉣":"𤉣","煅":"煅",煉:"煉","𤋮":"𤋮","熜":"熜",燎:"燎",燐:"燐","𤎫":"𤎫",爐:"爐",爛:"爛","爨":"爨","⽖":"爪","爫":"爫","⺤":"爫","爵":"爵","爵":"爵","⽗":"父","⽘":"爻","⺦":"丬","⽙":"爿","⽚":"片","牐":"牐","⽛":"牙","𤘈":"𤘈","⽜":"牛",牢:"牢","犀":"犀","犕":"犕","⽝":"犬","⺨":"犭","犯":"犯",狀:"狀","𤜵":"𤜵",狼:"狼",猪:"猪","猪":"猪","𤠔":"𤠔",獵:"獵","獺":"獺","⽞":"玄",率:"率",率:"率","⽟":"玉","王":"王","㺬":"㺬","玥":"玥",玲:"玲","㺸":"㺸","㺸":"㺸",珞:"珞",琉:"琉",理:"理","琢":"琢","瑇":"瑇","瑜":"瑜",瑩:"瑩","瑱":"瑱","瑱":"瑱","璅":"璅",璉:"璉",璘:"璘","瓊":"瓊","⽠":"瓜","⽡":"瓦","㼛":"㼛","甆":"甆","⽢":"甘","⽣":"生","甤":"甤","⽤":"用","⽥":"田","画":"画","甾":"甾","𤰶":"𤰶",留:"留",略:"略",異:"異","異":"異","𤲒":"𤲒","⽦":"疋","⽧":"疒",痢:"痢","瘐":"瘐","瘟":"瘟","瘝":"瘝",療:"療",癩:"癩","⽨":"癶","⽩":"白","𤾡":"𤾡","𤾸":"𤾸","⽪":"皮","⽫":"皿","𥁄":"𥁄","㿼":"㿼",益:"益","益":"益","盛":"盛",盧:"盧","䀈":"䀈","⽬":"目","直":"直","直":"直","𥃲":"𥃲","𥃳":"𥃳",省:"省","䀘":"䀘","𥄙":"𥄙","眞":"眞","真":"真","真":"真","𥄳":"𥄳","着":"着","睊":"睊","睊":"睊","鿃":"䀹","䀹":"䀹","䀹":"䀹",晣:"䀿","䁆":"䁆","瞋":"瞋","𥉉":"𥉉","瞧":"瞧","⽭":"矛","⽮":"矢","⽯":"石","䂖":"䂖","𥐝":"𥐝",硏:"研","硎":"硎",硫:"硫",碌:"碌","碌":"碌","碑":"碑",磊:"磊","磌":"磌","磌":"磌",磻:"磻","䃣":"䃣",礪:"礪","⽰":"示","⺭":"礻",礼:"礼","社":"社","祈":"祈","祉":"祉","𥘦":"𥘦","祐":"祐","祖":"祖","祖":"祖","祝":"祝",神:"神",祥:"祥","視":"視","視":"視",祿:"祿","𥚚":"𥚚","禍":"禍","禎":"禎",福:"福","福":"福","𥛅":"𥛅",禮:"禮","⽱":"禸","⽲":"禾",秊:"秊","䄯":"䄯","秫":"秫",稜:"稜","穊":"穊","穀":"穀","穀":"穀","穏":"穏","⽳":"穴","突":"突","𥥼":"𥥼","窱":"窱",立:"立","⽴":"立","⻯":"竜","𥪧":"𥪧","𥪧":"𥪧","竮":"竮","⽵":"竹",笠:"笠","節":"節","節":"節","䈂":"䈂","𥮫":"𥮫","篆":"篆","䈧":"䈧","築":"築","𥲀":"𥲀","𥳐":"𥳐",簾:"簾",籠:"籠","⽶":"米","类":"类",粒:"粒",精:"精","糒":"糒",糖:"糖","糨":"糨","䊠":"䊠","糣":"糣",糧:"糧","⽷":"糸","⺯":"糹","𥾆":"𥾆","紀":"紀",紐:"紐",索:"索",累:"累",絶:"絕","絣":"絣","絛":"絛",綠:"綠",綾:"綾","緇":"緇",練:"練","練":"練","練":"練","縂":"縂","䌁":"䌁","縉":"縉",縷:"縷","繁":"繁","繅":"繅","𦇚":"𦇚","䌴":"䌴","⽸":"缶","𦈨":"𦈨","缾":"缾","𦉇":"𦉇","⽹":"网","⺫":"罒","⺲":"罒","⺱":"罓","䍙":"䍙","署":"署","𦋙":"𦋙",罹:"罹","罺":"罺",羅:"羅","𦌾":"𦌾","⽺":"羊","羕":"羕",羚:"羚",羽:"羽","⽻":"羽","翺":"翺",老:"老","⽼":"老","⺹":"耂","者":"者","者":"者","者":"者","⽽":"而","𦓚":"𦓚","⽾":"耒","𦔣":"𦔣","⽿":"耳",聆:"聆","聠":"聠","𦖨":"𦖨",聯:"聯","聰":"聰",聾:"聾","⾀":"聿","⺺":"肀","⾁":"肉",肋:"肋","肭":"肭","育":"育","䏕":"䏕","䏙":"䏙",腁:"胼","脃":"脃","脾":"脾","䐋":"䐋","朡":"朡","𦞧":"𦞧","𦞵":"𦞵",朦:"䑃",臘:"臘","⾂":"臣",臨:"臨","⾃":"自","臭":"臭","⾄":"至","⾅":"臼","舁":"舁","舁":"舁","舄":"舄","⾆":"舌","舘":"舘","⾇":"舛","⾈":"舟","䑫":"䑫","⾉":"艮",良:"良","⾊":"色","⾋":"艸","艹":"艹","艹":"艹","⺾":"艹","⺿":"艹","⻀":"艹","芋":"芋","芑":"芑","芝":"芝","花":"花","芳":"芳","芽":"芽",若:"若","若":"若","苦":"苦","𦬼":"𦬼",茶:"茶","荒":"荒","荣":"荣","茝":"茝","茣":"茣","莽":"莽","荓":"荓",菉:"菉","菊":"菊","菌":"菌","菜":"菜","菧":"菧","華":"華",菱:"菱","著":"著","著":"著","𦰶":"𦰶","莭":"莭",落:"落",葉:"葉",蔿:"蒍","𦳕":"𦳕","𦵫":"𦵫",蓮:"蓮","蓱":"蓱","蓳":"蓳",蓼:"蓼","蔖":"蔖","䔫":"䔫","蕤":"蕤","𦼬":"𦼬",藍:"藍","䕝":"䕝","𦾱":"𦾱","䕡":"䕡",藺:"藺",蘆:"蘆","䕫":"䕫",蘒:"蘒",蘭:"蘭","𧃒":"𧃒",虁:"蘷",蘿:"蘿","⾌":"虍","⻁":"虎","虐":"虐",虜:"虜","虜":"虜","虧":"虧","虩":"虩","⾍":"虫","蚩":"蚩","蚈":"蚈","蛢":"蛢","蜎":"蜎","蜨":"蜨","蝫":"蝫","蟡":"蟡","蝹":"蝹","蝹":"蝹","螆":"螆","䗗":"䗗","𧏊":"𧏊",螺:"螺","蠁":"蠁","䗹":"䗹",蠟:"蠟","⾎":"血",行:"行","⾏":"行","衠":"衠","衣":"衣","⾐":"衣","⻂":"衤",裂:"裂","𧙧":"𧙧",裏:"裏","裗":"裗","裞":"裞",裡:"裡",裸:"裸","裺":"裺","䘵":"䘵","褐":"褐","襁":"襁",襤:"襤","⾑":"襾","⻄":"西","⻃":"覀","覆":"覆",見:"見","⾒":"見","𧢮":"𧢮","⻅":"见","⾓":"角","⾔":"言","𧥦":"𧥦",詽:"訮",訞:"䚶","䚾":"䚾","䛇":"䛇","誠":"誠",說:"說",說:"說","調":"調","請":"請",諒:"諒",論:"論","諭":"諭","諭":"諭",諸:"諸","諸":"諸",諾:"諾","諾":"諾","謁":"謁","謁":"謁","謹":"謹","謹":"謹",識:"識",讀:"讀",讏:"讆","變":"變","變":"變","⻈":"讠","⾕":"谷","⾖":"豆",豈:"豈","豕":"豕","⾗":"豕",豣:"豜","⾘":"豸","𧲨":"𧲨","⾙":"貝","貫":"貫","賁":"賁",賂:"賂",賈:"賈","賓":"賓","贈":"贈","贈":"贈","贛":"贛","⻉":"贝","⾚":"赤","⾛":"走","起":"起",趆:"赿","𧻓":"𧻓","𧼯":"𧼯","⾜":"足","跋":"跋","趼":"趼",跺:"跥",路:"路","跰":"跰",躛:"躗","⾝":"身",車:"車","⾞":"車","軔":"軔",輧:"軿",輦:"輦",輪:"輪","輸":"輸","輸":"輸",輻:"輻",轢:"轢","⻋":"车","⾟":"辛","辞":"辞",辰:"辰","⾠":"辰","⾡":"辵","辶":"辶","⻌":"辶","⻍":"辶","巡":"巡",連:"連",逸:"逸","逸":"逸","遲":"遲",遼:"遼","𨗒":"𨗒","𨗭":"𨗭",邏:"邏","⾢":"邑","邔":"邔",郎:"郎",郞:"郎","郞":"郎","郱":"郱",都:"都","𨜮":"𨜮","鄑":"鄑","鄛":"鄛","⾣":"酉",酪:"酪","醙":"醙",醴:"醴","⾤":"釆",里:"里","⾥":"里",量:"量",金:"金","⾦":"金",鈴:"鈴","鈸":"鈸","鉶":"鉶","鋗":"鋗","鋘":"鋘","鉼":"鉼",錄:"錄",鍊:"鍊",鎮:"鎭","鏹":"鏹","鐕":"鐕","𨯺":"𨯺","⻐":"钅","⻑":"長","⾧":"長","⻒":"镸","⻓":"长","⾨":"門","開":"開","䦕":"䦕",閭:"閭","閷":"閷","𨵷":"𨵷","⻔":"门","⾩":"阜","⻏":"阝","⻖":"阝",阮:"阮",陋:"陋",降:"降",陵:"陵",陸:"陸","陼":"陼",隆:"隆",隣:"隣","䧦":"䧦","⾪":"隶","隷":"隷",隸:"隷",隸:"隷","⾫":"隹","雃":"雃",離:"離","難":"難","難":"難","⾬":"雨",零:"零",雷:"雷","霣":"霣","𩅅":"𩅅",露:"露",靈:"靈","⾭":"靑","⻘":"青",靖:"靖","靖":"靖","𩇟":"𩇟","⾮":"非","⾯":"面","𩈚":"𩈚","⾰":"革","䩮":"䩮","䩶":"䩶","⾱":"韋","韛":"韛","韠":"韠","⻙":"韦","⾲":"韭","𩐊":"𩐊","⾳":"音","響":"響","響":"響","⾴":"頁","䪲":"䪲","頋":"頋","頋":"頋","頋":"頋",領:"領","頩":"頩","𩒖":"𩒖","頻":"頻","頻":"頻",類:"類","⻚":"页","⾵":"風","𩖶":"𩖶","⻛":"风","⾶":"飛","⻜":"飞","⻝":"食","⾷":"食","⻟":"飠","飢":"飢",飯:"飯",飼:"飼","䬳":"䬳",館:"館","餩":"餩","⻠":"饣","⾸":"首","⾹":"香","馧":"馧","⾺":"馬","駂":"駂",駱:"駱","駾":"駾",驪:"驪","⻢":"马","⾻":"骨","䯎":"䯎","⾼":"高","⾽":"髟","𩬰":"𩬰","鬒":"鬒","鬒":"鬒","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⻤":"鬼","⿂":"魚",魯:"魯","鱀":"鱀",鱗:"鱗","⻥":"鱼","⿃":"鳥","鳽":"鳽","䳎":"䳎","鵧":"鵧","䳭":"䳭","𪃎":"𪃎",鶴:"鶴","𪄅":"𪄅","䳸":"䳸",鷺:"鷺","𪈎":"𪈎",鸞:"鸞",鹃:"鹂","⿄":"鹵",鹿:"鹿","⿅":"鹿","𪊑":"𪊑",麗:"麗",麟:"麟","⿆":"麥","⻨":"麦","麻":"麻","⿇":"麻","𪎒":"𪎒","⿈":"黃","⻩":"黄","⿉":"黍",黎:"黎","䵖":"䵖","⿊":"黑",黒:"黑","墨":"墨","黹":"黹","⿋":"黹","⿌":"黽","鼅":"鼅","黾":"黾","⿍":"鼎","鼏":"鼏","⿎":"鼓","鼖":"鼖","⿏":"鼠","鼻":"鼻","⿐":"鼻","齃":"齃","⿑":"齊","⻬":"齐","⿒":"齒","𪘀":"𪘀","⻮":"齿",龍:"龍","⿓":"龍","龎":"龎","⻰":"龙",龜:"龜",龜:"龜","龜":"龜","⿔":"龜","⻳":"龟","⿕":"龠"},ue,_e;function We(){if(_e)return ue;_e=1;var o=Je;function a(f){return f.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}var n=RegExp(Object.keys(o).map(a).join("|"),"g");function p(f){return o[f]}function v(f){return f.replace(n,p)}return ue=v,ue}var $={},Ge={get exports(){return $},set exports(o){$=o}},ie={},ze={get exports(){return ie},set exports(o){ie=o}},de={},fe,ve;function Ze(){if(ve)return fe;ve=1;function o(a,n){typeof n=="boolean"&&(n={forever:n}),this._originalTimeouts=JSON.parse(JSON.stringify(a)),this._timeouts=a,this._options=n||{},this._maxRetryTime=n&&n.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}return fe=o,o.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},o.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},o.prototype.retry=function(a){if(this._timeout&&clearTimeout(this._timeout),!a)return!1;var n=new Date().getTime();if(a&&n-this._operationStart>=this._maxRetryTime)return this._errors.push(a),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(a);var p=this._timeouts.shift();if(p===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),p=this._cachedTimeouts.slice(-1);else return!1;var v=this;return this._timer=setTimeout(function(){v._attempts++,v._operationTimeoutCb&&(v._timeout=setTimeout(function(){v._operationTimeoutCb(v._attempts)},v._operationTimeout),v._options.unref&&v._timeout.unref()),v._fn(v._attempts)},p),this._options.unref&&this._timer.unref(),!0},o.prototype.attempt=function(a,n){this._fn=a,n&&(n.timeout&&(this._operationTimeout=n.timeout),n.cb&&(this._operationTimeoutCb=n.cb));var p=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){p._operationTimeoutCb()},p._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},o.prototype.try=function(a){console.log("Using RetryOperation.try() is deprecated"),this.attempt(a)},o.prototype.start=function(a){console.log("Using RetryOperation.start() is deprecated"),this.attempt(a)},o.prototype.start=o.prototype.try,o.prototype.errors=function(){return this._errors},o.prototype.attempts=function(){return this._attempts},o.prototype.mainError=function(){if(this._errors.length===0)return null;for(var a={},n=null,p=0,v=0;v<this._errors.length;v++){var f=this._errors[v],d=f.message,g=(a[d]||0)+1;a[d]=g,g>=p&&(n=f,p=g)}return n},fe}var ye;function Qe(){return ye||(ye=1,function(o){var a=Ze();o.operation=function(n){var p=o.timeouts(n);return new a(p,{forever:n&&(n.forever||n.retries===1/0),unref:n&&n.unref,maxRetryTime:n&&n.maxRetryTime})},o.timeouts=function(n){if(n instanceof Array)return[].concat(n);var p={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var v in n)p[v]=n[v];if(p.minTimeout>p.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var f=[],d=0;d<p.retries;d++)f.push(this.createTimeout(d,p));return n&&n.forever&&!f.length&&f.push(this.createTimeout(d,p)),f.sort(function(g,k){return g-k}),f},o.createTimeout=function(n,p){var v=p.randomize?Math.random()+1:1,f=Math.round(v*Math.max(p.minTimeout,1)*Math.pow(p.factor,n));return f=Math.min(f,p.maxTimeout),f},o.wrap=function(n,p,v){if(p instanceof Array&&(v=p,p=null),!v){v=[];for(var f in n)typeof n[f]=="function"&&v.push(f)}for(var d=0;d<v.length;d++){var g=v[d],k=n[g];n[g]=function(L){var C=o.operation(p),R=Array.prototype.slice.call(arguments,1),w=R.pop();R.push(function(h){C.retry(h)||(h&&(arguments[0]=C.mainError()),w.apply(this,arguments))}),C.attempt(function(){L.apply(n,R)})}.bind(n,k),n[g].options=p}}}(de)),de}var be;function et(){return be||(be=1,function(o){o.exports=Qe()}(ze)),ie}var Oe;function tt(){if(Oe)return $;Oe=1;const o=et(),a=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class n extends Error{constructor(g){super(),g instanceof Error?(this.originalError=g,{message:g}=g):(this.originalError=new Error(g),this.originalError.stack=this.stack),this.name="AbortError",this.message=g}}const p=(d,g,k)=>{const x=k.retries-(g-1);return d.attemptNumber=g,d.retriesLeft=x,d},v=d=>a.includes(d),f=(d,g)=>new Promise((k,x)=>{g={onFailedAttempt:()=>{},retries:10,...g};const L=o.operation(g);L.attempt(async C=>{try{k(await d(C))}catch(R){if(!(R instanceof Error)){x(new TypeError(`Non-error was thrown: "${R}". You should only throw errors.`));return}if(R instanceof n)L.stop(),x(R.originalError);else if(R instanceof TypeError&&!v(R.message))L.stop(),x(R);else{p(R,C,g);try{await g.onFailedAttempt(R)}catch(w){x(w);return}L.retry(R)||x(L.mainError())}}})});return Ge.exports=f,$.default=f,$.AbortError=n,$}var U={},V={},Se;function ae(){if(Se)return V;Se=1;var o=q;Object.defineProperty(V,"__esModule",{value:!0}),V.UnstableValue=V.ServerControlledNamespacedValue=V.NamespacedValue=void 0;var a=o(z);let n=class{constructor(d,g){if(this.stable=d,this.unstable=g,!this.unstable&&!this.stable)throw new Error("One of stable or unstable values must be supplied")}get name(){return this.stable?this.stable:this.unstable}get altName(){return this.stable?this.unstable:null}get names(){const d=[this.name],g=this.altName;return g&&d.push(g),d}matches(d){return this.name===d||this.altName===d}findIn(d){let g;return this.name&&(g=d==null?void 0:d[this.name]),!g&&this.altName&&(g=d==null?void 0:d[this.altName]),g}includedIn(d){let g=!1;return this.name&&(g=d.includes(this.name)),!g&&this.altName&&(g=d.includes(this.altName)),g}};V.NamespacedValue=n;class p extends n{constructor(...d){super(...d),(0,a.default)(this,"preferUnstable",!1)}setPreferUnstable(d){this.preferUnstable=d}get name(){return this.stable&&!this.preferUnstable?this.stable:this.unstable}}V.ServerControlledNamespacedValue=p;class v extends n{constructor(d,g){if(super(d,g),!this.unstable)throw new Error("Unstable value must be supplied")}get name(){return this.unstable}get altName(){return this.stable}}return V.UnstableValue=v,V}var ee={},Ee;function rt(){if(Ee)return ee;Ee=1,Object.defineProperty(ee,"__esModule",{value:!0}),ee.TEXT_NODE_TYPE=void 0;var o=ae();const a=new o.UnstableValue("m.text","org.matrix.msc1767.text");return ee.TEXT_NODE_TYPE=a,ee}var Te;function nt(){if(Te)return U;Te=1,Object.defineProperty(U,"__esModule",{value:!0}),U.M_TIMESTAMP=U.M_LOCATION=U.M_ASSET=U.LocationAssetType=void 0;var o=ae();rt();let a;U.LocationAssetType=a,function(f){f.Self="m.self",f.Pin="m.pin"}(a||(U.LocationAssetType=a={}));const n=new o.UnstableValue("m.asset","org.matrix.msc3488.asset");U.M_ASSET=n;const p=new o.UnstableValue("m.ts","org.matrix.msc3488.ts");U.M_TIMESTAMP=p;const v=new o.UnstableValue("m.location","org.matrix.msc3488.location");return U.M_LOCATION=v,U}var K={},Re;function we(){if(Re)return K;Re=1,Object.defineProperty(K,"__esModule",{value:!0}),K.ReceiptType=K.MAIN_ROOM_TIMELINE=void 0;let o;K.ReceiptType=o,function(n){n.Read="m.read",n.FullyRead="m.fully_read",n.ReadPrivate="m.read.private"}(o||(K.ReceiptType=o={}));const a="main";return K.MAIN_ROOM_TIMELINE=a,K}var Pe;function Ae(){if(Pe)return S;Pe=1;var o=q;Object.defineProperty(S,"__esModule",{value:!0}),S.DEFAULT_ALPHABET=void 0,S.alphabetPad=me,S.averageBetweenStrings=ht,S.baseToString=J,S.checkObjectHasKeys=i,S.chunkPromises=ce,S.compare=yt,S.decodeParams=R,S.deepCompare=e,S.deepCopy=r,S.deepSortedObjectEntries=s,S.defer=j,S.encodeParams=L,S.encodeUri=w,S.ensureNoTrailingSlash=D,S.escapeRegExp=y,S.globToRegexp=A,S.internaliseString=x,S.isFunction=u,S.isNullOrUndefined=B,S.isNumber=l,S.isSupportedReceiptType=Ot,S.lexicographicCompare=Me,S.mapsEqual=St,S.nextString=gt,S.normalize=O,S.prevString=_t,S.promiseMapSeries=Y,S.promiseTry=X,S.recursivelyAssign=Ie,S.removeDirectionOverrideChars=b,S.removeElement=h,S.removeHiddenChars=N,S.replaceParam=C,S.simpleRetryOperation=pt,S.sleep=M,S.sortEventsByLatestContentTimestamp=bt,S.stringToBase=re;var a=o(z),n=o(We()),p=o(tt()),v=nt(),f=we();function d(t,c){var m=Object.keys(t);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(t);c&&(_=_.filter(function(T){return Object.getOwnPropertyDescriptor(t,T).enumerable})),m.push.apply(m,_)}return m}function g(t){for(var c=1;c<arguments.length;c++){var m=arguments[c]!=null?arguments[c]:{};c%2?d(Object(m),!0).forEach(function(_){(0,a.default)(t,_,m[_])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(m)):d(Object(m)).forEach(function(_){Object.defineProperty(t,_,Object.getOwnPropertyDescriptor(m,_))})}return t}const k=new Map;function x(t){return t instanceof String&&(t=t.toString()),k.has(t)||k.set(t,t),k.get(t)}function L(t,c){const m=c??new URLSearchParams;for(const[_,T]of Object.entries(t))T!=null&&(Array.isArray(T)?T.forEach(I=>{m.append(_,String(I))}):m.append(_,String(T)));return m}function C(t,c,m){const _=g(g({},m),{},{[c]:m[t]});return delete _[t],_}function R(t){const c={},m=new URLSearchParams(t);for(const _ of m.keys()){const T=m.getAll(_);c[_]=T.length===1?T[0]:T}return c}function w(t,c){for(const m in c){if(!c.hasOwnProperty(m))continue;const _=c[m];_!=null&&(t=t.replace(m,encodeURIComponent(_)))}return t}function h(t,c,m){let _;if(m){for(_=t.length-1;_>=0;_--)if(c(t[_],_,t))return t.splice(_,1),!0}else for(_=0;_<t.length;_++)if(c(t[_],_,t))return t.splice(_,1),!0;return!1}function u(t){return Object.prototype.toString.call(t)==="[object Function]"}function i(t,c){for(const m of c)if(!t.hasOwnProperty(m))throw new Error("Missing required key: "+m)}function r(t){return JSON.parse(JSON.stringify(t))}function e(t,c){if(t===c)return!0;if(typeof t!=typeof c)return!1;if(typeof t=="number"&&isNaN(t)&&isNaN(c))return!0;if(t===null||c===null)return t===c;if(!(t instanceof Object)||t.constructor!==c.constructor||t.prototype!==c.prototype)return!1;if(t instanceof RegExp||t instanceof Date)return t.toString()===c.toString();if(Array.isArray(t)){if(t.length!==c.length)return!1;for(let m=0;m<t.length;m++)if(!e(t[m],c[m]))return!1}else{for(const m in c)if(c.hasOwnProperty(m)!==t.hasOwnProperty(m))return!1;for(const m in t)if(c.hasOwnProperty(m)!==t.hasOwnProperty(m)||!e(t[m],c[m]))return!1}return!0}function s(t){if(typeof t!="object"||t==null||Array.isArray(t))return t;const c=[];for(const[m,_]of Object.entries(t))c.push([m,s(_)]);return c.sort((m,_)=>Me(m[0],_[0])),c}function l(t){return typeof t=="number"&&isFinite(t)}function N(t){return typeof t=="string"?(0,n.default)(t.normalize("NFD").replace(P,"")):""}function b(t){return typeof t=="string"?t.replace(/[\u202d-\u202e]/g,""):""}function O(t){return N(t.toLowerCase()).replace(/[\\'!"#$%&()*+,\-./:;<=>?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,"").toLowerCase()}const P=/[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;function y(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function A(t,c=!1){const m=[[/\\\*/g,".*"],[/\?/g,"."]];return c||m.push([/\\\[(!|)(.*)\\]/g,(_,T,I)=>["[",T?"^":"",I.replace(/\\-/,"-"),"]"].join("")]),m.reduce((_,T)=>T?_.replace(T[0],T[1]):_,y(t))}function D(t){return t!=null&&t.endsWith("/")?t.slice(0,-1):t}function M(t,c){return new Promise(m=>{setTimeout(m,t,c)})}function B(t){return t==null}function j(){let t,c;const m=new Promise((_,T)=>{t=_,c=T});return{resolve:t,reject:c,promise:m}}async function Y(t,c){for(const m of t)await c(await m)}function X(t){return Promise.resolve(t())}async function ce(t,c){const m=[];for(let _=0;_<t.length;_+=c)m.push(...await Promise.all(t.slice(_,_+c).map(T=>T())));return m}function pt(t){return(0,p.default)(c=>t(c),{forever:!0,factor:2,minTimeout:3e3,maxTimeout:15e3})}const H=(()=>{let t="";for(let c=32;c<=126;c++)t+=String.fromCharCode(c);return t})();S.DEFAULT_ALPHABET=H;function me(t,c,m=H){return t.padEnd(c,m[0])}function J(t,c=H){const m=BigInt(c.length);if(t<=m){var _;return(_=c[Number(t)-1])!==null&&_!==void 0?_:""}let T=t/m,I=Number(t%m)-1;return I<0&&(T-=BigInt(Math.abs(I)),I=Number(m)-1),J(T,c)+c[I]}function re(t,c=H){const m=BigInt(c.length);let _=BigInt(0);for(let T=t.length-1,I=BigInt(0);T>=0;T--,I++){const W=t.charCodeAt(T)-c.charCodeAt(0);_+=BigInt(1+W)*m**I}return _}function ht(t,c,m=H){const _=Math.max(t.length,c.length),T=re(me(t,_,m),m),I=re(me(c,_,m),m),W=(T+I)/BigInt(2);return W===T||W==I?J(W,m)+m[0]:J(W,m)}function gt(t,c=H){return J(re(t,c)+BigInt(1),c)}function _t(t,c=H){return J(re(t,c)-BigInt(1),c)}function Me(t,c){return t<c?-1:t>c?1:0}const vt=new Intl.Collator;function yt(t,c){return vt.compare(t,c)}function Ie(t,c,m=!1){for(const[_,T]of Object.entries(c)){if(t[_]instanceof Object&&T){Ie(t[_],T);continue}if(T!=null||!m){t[_]=T;continue}}return t}function Ue(t){var c;return(c=v.M_TIMESTAMP.findIn(t.getContent()))!==null&&c!==void 0?c:-1}function bt(t,c){return Ue(c)-Ue(t)}function Ot(t){return[f.ReceiptType.Read,f.ReceiptType.ReadPrivate].includes(t)}function St(t,c,m=(_,T)=>_===T){if(t.size!==c.size)return!1;for(const[_,T]of t){const I=c.get(_);if(I===void 0||!m(T,I))return!1}return!0}return S}var E={},Ne;function ot(){if(Ne)return E;Ne=1,Object.defineProperty(E,"__esModule",{value:!0}),E.UNSTABLE_MSC3089_TREE_SUBTYPE=E.UNSTABLE_MSC3089_LEAF=E.UNSTABLE_MSC3089_BRANCH=E.UNSTABLE_MSC3088_PURPOSE=E.UNSTABLE_MSC3088_ENABLED=E.UNSTABLE_MSC2716_MARKER=E.UNSTABLE_ELEMENT_FUNCTIONAL_USERS=E.ToDeviceMessageId=E.RoomType=E.RoomCreateTypeField=E.RelationType=E.PUSHER_ENABLED=E.PUSHER_DEVICE_ID=E.MsgType=E.LOCAL_NOTIFICATION_SETTINGS_PREFIX=E.EventType=E.EVENT_VISIBILITY_CHANGE_TYPE=void 0;var o=ae();let a;E.EventType=a,function(e){e.RoomCanonicalAlias="m.room.canonical_alias",e.RoomCreate="m.room.create",e.RoomJoinRules="m.room.join_rules",e.RoomMember="m.room.member",e.RoomThirdPartyInvite="m.room.third_party_invite",e.RoomPowerLevels="m.room.power_levels",e.RoomName="m.room.name",e.RoomTopic="m.room.topic",e.RoomAvatar="m.room.avatar",e.RoomPinnedEvents="m.room.pinned_events",e.RoomEncryption="m.room.encryption",e.RoomHistoryVisibility="m.room.history_visibility",e.RoomGuestAccess="m.room.guest_access",e.RoomServerAcl="m.room.server_acl",e.RoomTombstone="m.room.tombstone",e.SpaceChild="m.space.child",e.SpaceParent="m.space.parent",e.RoomRedaction="m.room.redaction",e.RoomMessage="m.room.message",e.RoomMessageEncrypted="m.room.encrypted",e.Sticker="m.sticker",e.CallInvite="m.call.invite",e.CallCandidates="m.call.candidates",e.CallAnswer="m.call.answer",e.CallHangup="m.call.hangup",e.CallReject="m.call.reject",e.CallSelectAnswer="m.call.select_answer",e.CallNegotiate="m.call.negotiate",e.CallSDPStreamMetadataChanged="m.call.sdp_stream_metadata_changed",e.CallSDPStreamMetadataChangedPrefix="org.matrix.call.sdp_stream_metadata_changed",e.CallReplaces="m.call.replaces",e.CallAssertedIdentity="m.call.asserted_identity",e.CallAssertedIdentityPrefix="org.matrix.call.asserted_identity",e.KeyVerificationRequest="m.key.verification.request",e.KeyVerificationStart="m.key.verification.start",e.KeyVerificationCancel="m.key.verification.cancel",e.KeyVerificationMac="m.key.verification.mac",e.KeyVerificationDone="m.key.verification.done",e.KeyVerificationKey="m.key.verification.key",e.KeyVerificationAccept="m.key.verification.accept",e.KeyVerificationReady="m.key.verification.ready",e.RoomMessageFeedback="m.room.message.feedback",e.Reaction="m.reaction",e.Typing="m.typing",e.Receipt="m.receipt",e.Presence="m.presence",e.FullyRead="m.fully_read",e.Tag="m.tag",e.SpaceOrder="org.matrix.msc3230.space_order",e.PushRules="m.push_rules",e.Direct="m.direct",e.IgnoredUserList="m.ignored_user_list",e.RoomKey="m.room_key",e.RoomKeyRequest="m.room_key_request",e.ForwardedRoomKey="m.forwarded_room_key",e.Dummy="m.dummy",e.GroupCallPrefix="org.matrix.msc3401.call",e.GroupCallMemberPrefix="org.matrix.msc3401.call.member"}(a||(E.EventType=a={}));let n;E.RelationType=n,function(e){e.Annotation="m.annotation",e.Replace="m.replace",e.Reference="m.reference",e.Thread="m.thread"}(n||(E.RelationType=n={}));let p;E.MsgType=p,function(e){e.Text="m.text",e.Emote="m.emote",e.Notice="m.notice",e.Image="m.image",e.File="m.file",e.Audio="m.audio",e.Location="m.location",e.Video="m.video",e.KeyVerificationRequest="m.key.verification.request"}(p||(E.MsgType=p={}));const v="type";E.RoomCreateTypeField=v;let f;E.RoomType=f,function(e){e.Space="m.space",e.UnstableCall="org.matrix.msc3417.call",e.ElementVideo="io.element.video"}(f||(E.RoomType=f={}));const d="org.matrix.msgid";E.ToDeviceMessageId=d;const g=new o.UnstableValue("m.room.purpose","org.matrix.msc3088.purpose");E.UNSTABLE_MSC3088_PURPOSE=g;const k=new o.UnstableValue("m.enabled","org.matrix.msc3088.enabled");E.UNSTABLE_MSC3088_ENABLED=k;const x=new o.UnstableValue("m.data_tree","org.matrix.msc3089.data_tree");E.UNSTABLE_MSC3089_TREE_SUBTYPE=x;const L=new o.UnstableValue("m.leaf","org.matrix.msc3089.leaf");E.UNSTABLE_MSC3089_LEAF=L;const C=new o.UnstableValue("m.branch","org.matrix.msc3089.branch");E.UNSTABLE_MSC3089_BRANCH=C;const R=new o.UnstableValue("m.room.marker","org.matrix.msc2716.marker");E.UNSTABLE_MSC2716_MARKER=R;const w=new o.UnstableValue("io.element.functional_members","io.element.functional_members");E.UNSTABLE_ELEMENT_FUNCTIONAL_USERS=w;const h=new o.UnstableValue("m.visibility","org.matrix.msc3531.visibility");E.EVENT_VISIBILITY_CHANGE_TYPE=h;const u=new o.UnstableValue("enabled","org.matrix.msc3881.enabled");E.PUSHER_ENABLED=u;const i=new o.UnstableValue("device_id","org.matrix.msc3881.device_id");E.PUSHER_DEVICE_ID=i;const r=new o.UnstableValue("m.local_notification_settings","org.matrix.msc3890.local_notification_settings");return E.LOCAL_NOTIFICATION_SETTINGS_PREFIX=r,E}var te={},xe;function it(){if(xe)return te;xe=1,Object.defineProperty(te,"__esModule",{value:!0}),te.UNREAD_THREAD_NOTIFICATIONS=void 0;var o=ae();const a=new o.ServerControlledNamespacedValue("unread_thread_notifications","org.matrix.msc3773.unread_thread_notifications");return te.UNREAD_THREAD_NOTIFICATIONS=a,te}var ke;function at(){if(ke)return F;ke=1;var o=q;Object.defineProperty(F,"__esModule",{value:!0}),F.SyncAccumulator=F.Category=void 0;var a=o(z),n=le(),p=Ae(),v=ot(),f=we(),d=it();function g(w,h){var u=Object.keys(w);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(w);h&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(w,r).enumerable})),u.push.apply(u,i)}return u}function k(w){for(var h=1;h<arguments.length;h++){var u=arguments[h]!=null?arguments[h]:{};h%2?g(Object(u),!0).forEach(function(i){(0,a.default)(w,i,u[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(w,Object.getOwnPropertyDescriptors(u)):g(Object(u)).forEach(function(i){Object.defineProperty(w,i,Object.getOwnPropertyDescriptor(u,i))})}return w}let x;F.Category=x,function(w){w.Invite="invite",w.Leave="leave",w.Join="join"}(x||(F.Category=x={}));function L(w){return"_localTs"in w&&w._localTs!==void 0}class C{constructor(h={}){this.opts=h,(0,a.default)(this,"accountData",{}),(0,a.default)(this,"inviteRooms",{}),(0,a.default)(this,"joinRooms",{}),(0,a.default)(this,"nextBatch",null),this.opts.maxTimelineEntries=this.opts.maxTimelineEntries||50}accumulate(h,u=!1){this.accumulateRooms(h,u),this.accumulateAccountData(h),this.nextBatch=h.next_batch}accumulateAccountData(h){!h.account_data||!h.account_data.events||h.account_data.events.forEach(u=>{this.accountData[u.type]=u})}accumulateRooms(h,u=!1){h.rooms&&(h.rooms.invite&&Object.keys(h.rooms.invite).forEach(i=>{this.accumulateRoom(i,x.Invite,h.rooms.invite[i],u)}),h.rooms.join&&Object.keys(h.rooms.join).forEach(i=>{this.accumulateRoom(i,x.Join,h.rooms.join[i],u)}),h.rooms.leave&&Object.keys(h.rooms.leave).forEach(i=>{this.accumulateRoom(i,x.Leave,h.rooms.leave[i],u)}))}accumulateRoom(h,u,i,r=!1){switch(u){case x.Invite:this.accumulateInviteState(h,i);break;case x.Join:this.inviteRooms[h]&&delete this.inviteRooms[h],this.accumulateJoinState(h,i,r);break;case x.Leave:this.inviteRooms[h]?delete this.inviteRooms[h]:delete this.joinRooms[h];break;default:n.logger.error("Unknown cateogory: ",u)}}accumulateInviteState(h,u){if(!u.invite_state||!u.invite_state.events)return;if(!this.inviteRooms[h]){this.inviteRooms[h]={invite_state:u.invite_state};return}const i=this.inviteRooms[h];u.invite_state.events.forEach(r=>{let e=!1;for(let s=0;s<i.invite_state.events.length;s++){const l=i.invite_state.events[s];l.type===r.type&&l.state_key==r.state_key&&(i.invite_state.events[s]=r,e=!0)}e||i.invite_state.events.push(r)})}accumulateJoinState(h,u,i=!1){var r,e,s,l,N,b,O,P;this.joinRooms[h]||(this.joinRooms[h]={_currentState:Object.create(null),_timeline:[],_accountData:Object.create(null),_unreadNotifications:{},_unreadThreadNotifications:{},_summary:{},_readReceipts:{},_threadReadReceipts:{}});const y=this.joinRooms[h];if(u.account_data&&u.account_data.events&&u.account_data.events.forEach(A=>{y._accountData[A.type]=A}),u.unread_notifications&&(y._unreadNotifications=u.unread_notifications),y._unreadThreadNotifications=(r=(e=u[d.UNREAD_THREAD_NOTIFICATIONS.stable])!==null&&e!==void 0?e:u[d.UNREAD_THREAD_NOTIFICATIONS.unstable])!==null&&r!==void 0?r:void 0,u.summary){const A="m.heroes",D="m.invited_member_count",M="m.joined_member_count",B=y._summary,j=u.summary;B[A]=j[A]||B[A],B[M]=j[M]||B[M],B[D]=j[D]||B[D]}if((s=u.ephemeral)===null||s===void 0||(l=s.events)===null||l===void 0||l.forEach(A=>{A.type!==v.EventType.Receipt||!A.content||Object.keys(A.content).forEach(D=>{Object.entries(A.content[D]).forEach(([M,B])=>{if((0,p.isSupportedReceiptType)(M))for(const Y of Object.keys(B)){const X=A.content[D][M][Y],ce={data:A.content[D][M][Y],type:M,eventId:D};if(!X.thread_id||X.thread_id===f.MAIN_ROOM_TIMELINE)y._readReceipts[Y]=ce;else{var j;y._threadReadReceipts=k(k({},y._threadReadReceipts),{},{[X.thread_id]:k(k({},(j=y._threadReadReceipts[X.thread_id])!==null&&j!==void 0?j:{}),{},{[Y]:ce})})}}})})}),u.timeline&&u.timeline.limited&&(y._timeline=[]),(N=u.state)===null||N===void 0||(b=N.events)===null||b===void 0||b.forEach(A=>{R(y._currentState,A)}),(O=u.timeline)===null||O===void 0||(P=O.events)===null||P===void 0||P.forEach((A,D)=>{var M;R(y._currentState,A);let B;if(i)B=A;else{B=Object.assign({},A),B.unsigned!==void 0&&(B.unsigned=Object.assign({},B.unsigned));const j=A.unsigned?A.unsigned.age:A.age;j!==void 0&&(B._localTs=Date.now()-j)}y._timeline.push({event:B,token:D===0&&(M=u.timeline.prev_batch)!==null&&M!==void 0?M:null})}),y._timeline.length>this.opts.maxTimelineEntries){const A=y._timeline.length-this.opts.maxTimelineEntries;for(let D=A;D<y._timeline.length;D++)if(y._timeline[D].token){y._timeline=y._timeline.slice(D,y._timeline.length);break}}}getJSON(h=!1){const u={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(r=>{u.invite[r]=this.inviteRooms[r]}),Object.keys(this.joinRooms).forEach(r=>{const e=this.joinRooms[r],s={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:e._unreadNotifications,unread_thread_notifications:e._unreadThreadNotifications,summary:e._summary};Object.keys(e._accountData).forEach(b=>{s.account_data.events.push(e._accountData[b])});const l={type:v.EventType.Receipt,room_id:r,content:{}};for(const[b,O]of Object.entries(e._readReceipts))l.content[O.eventId]||(l.content[O.eventId]={}),l.content[O.eventId][O.type]||(l.content[O.eventId][O.type]={}),l.content[O.eventId][O.type][b]=O.data;for(const b of Object.values(e._threadReadReceipts))for(const[O,P]of Object.entries(b))l.content[P.eventId]||(l.content[P.eventId]={}),l.content[P.eventId][P.type]||(l.content[P.eventId][P.type]={}),l.content[P.eventId][P.type][O]=P.data;Object.keys(l.content).length>0&&s.ephemeral.events.push(l),e._timeline.forEach(b=>{if(!s.timeline.prev_batch){if(!b.token)return;s.timeline.prev_batch=b.token}let O;!h&&L(b.event)?(O=Object.assign({},b.event),O.unsigned!==void 0&&(O.unsigned=Object.assign({},O.unsigned)),delete O._localTs,O.unsigned=O.unsigned||{},O.unsigned.age=Date.now()-b.event._localTs):O=b.event,s.timeline.events.push(O)});const N=Object.create(null);for(let b=s.timeline.events.length-1;b>=0;b--){const O=s.timeline.events[b];if(O.state_key===null||O.state_key===void 0)continue;const P=(0,p.deepCopy)(O);P.unsigned&&(P.unsigned.prev_content&&(P.content=P.unsigned.prev_content),P.unsigned.prev_sender&&(P.sender=P.unsigned.prev_sender)),R(N,P)}Object.keys(e._currentState).forEach(b=>{Object.keys(e._currentState[b]).forEach(O=>{let P=e._currentState[b][O];N[b]&&N[b][O]&&(P=N[b][O]),s.state.events.push(P)})}),u.join[r]=s});const i=[];return Object.keys(this.accountData).forEach(r=>{i.push(this.accountData[r])}),{nextBatch:this.nextBatch,roomsData:u,accountData:i}}getNextBatchToken(){return this.nextBatch}}F.SyncAccumulator=C;function R(w,h){h.state_key===null||h.state_key===void 0||!h.type||(w[h.type]||(w[h.type]=Object.create(null)),w[h.type][h.state_key]=h)}return F}var se={},De;function st(){if(De)return se;De=1,Object.defineProperty(se,"__esModule",{value:!0}),se.exists=o;function o(a,n){return new Promise((p,v)=>{let f=!0;const d=a.open(n);d.onupgradeneeded=()=>{f=!1},d.onblocked=()=>v(d.error),d.onsuccess=()=>{d.result.close(),f||a.deleteDatabase(n),p(f)},d.onerror=()=>v(d.error)})}return se}var Ce;function ct(){if(Ce)return Z;Ce=1;var o=q;Object.defineProperty(Z,"__esModule",{value:!0}),Z.LocalIndexedDBStoreBackend=void 0;var a=o(z),n=at(),p=g(Ae()),v=g(st()),f=le();function d(i){if(typeof WeakMap!="function")return null;var r=new WeakMap,e=new WeakMap;return(d=function(s){return s?e:r})(i)}function g(i,r){if(!r&&i&&i.__esModule)return i;if(i===null||typeof i!="object"&&typeof i!="function")return{default:i};var e=d(r);if(e&&e.has(i))return e.get(i);var s={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var N in i)if(N!=="default"&&Object.prototype.hasOwnProperty.call(i,N)){var b=l?Object.getOwnPropertyDescriptor(i,N):null;b&&(b.get||b.set)?Object.defineProperty(s,N,b):s[N]=i[N]}return s.default=i,e&&e.set(i,s),s}const k=[i=>{i.createObjectStore("users",{keyPath:["userId"]}),i.createObjectStore("accountData",{keyPath:["type"]}),i.createObjectStore("sync",{keyPath:["clobber"]})},i=>{i.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")},i=>{i.createObjectStore("client_options",{keyPath:["clobber"]})},i=>{i.createObjectStore("to_device_queue",{autoIncrement:!0})}],x=k.length;function L(i,r,e){const s=i.openCursor(r);return new Promise((l,N)=>{const b=[];s.onerror=()=>{N(new Error("Query failed: "+s.error))},s.onsuccess=()=>{const O=s.result;if(!O){l(b);return}b.push(e(O)),O.continue()}})}function C(i){return new Promise((r,e)=>{i.oncomplete=function(s){r(s)},i.onerror=function(){e(i.error)}})}function R(i){return new Promise((r,e)=>{i.onsuccess=function(s){r(s)},i.onerror=function(){e(i.error)}})}function w(i){return new Promise((r,e)=>{i.onsuccess=()=>r(i),i.onerror=s=>e(s)})}function h(i){return R(i).then(r=>i.result)}class u{static exists(r,e){return e="matrix-js-sdk:"+(e||"default"),v.exists(r,e)}constructor(r,e="default"){this.indexedDB=r,(0,a.default)(this,"dbName",void 0),(0,a.default)(this,"syncAccumulator",void 0),(0,a.default)(this,"db",void 0),(0,a.default)(this,"disconnected",!0),(0,a.default)(this,"_isNewlyCreated",!1),(0,a.default)(this,"isPersisting",!1),(0,a.default)(this,"pendingUserPresenceData",[]),this.dbName="matrix-js-sdk:"+e,this.syncAccumulator=new n.SyncAccumulator}connect(){if(!this.disconnected)return f.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this.disconnected=!1,f.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const r=this.indexedDB.open(this.dbName,x);return r.onupgradeneeded=e=>{const s=r.result,l=e.oldVersion;f.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${l}`),l<1&&(this._isNewlyCreated=!0),k.forEach((N,b)=>{l<=b&&N(s)})},r.onblocked=()=>{f.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},f.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),R(r).then(async()=>{f.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=r.result,this.db.onversionchange=()=>{var e;(e=this.db)===null||e===void 0||e.close()},await this.init()})}isNewlyCreated(){return Promise.resolve(this._isNewlyCreated)}init(){return Promise.all([this.loadAccountData(),this.loadSyncData()]).then(([r,e])=>{f.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this.syncAccumulator.accumulate({next_batch:e.nextBatch,rooms:e.roomsData,account_data:{events:r}},!0)})}getOutOfBandMembers(r){return new Promise((e,s)=>{const b=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),O=IDBKeyRange.only(r),P=b.openCursor(O),y=[];let A=!1;P.onsuccess=()=>{const D=P.result;if(!D)return!y.length&&!A?e(null):e(y);const M=D.value;M.oob_written?A=!0:y.push(M),D.continue()},P.onerror=D=>{s(D)}}).then(e=>(f.logger.log(`LL: got ${e==null?void 0:e.length} membershipEvents from storage for room ${r} ...`),e))}async setOutOfBandMembers(r,e){f.logger.log(`LL: backend about to store ${e.length} members for ${r}`);const s=this.db.transaction(["oob_membership_events"],"readwrite"),l=s.objectStore("oob_membership_events");e.forEach(b=>{l.put(b)});const N={room_id:r,oob_written:!0,state_key:0};l.put(N),await C(s),f.logger.log(`LL: backend done storing for ${r}!`)}async clearOutOfBandMembers(r){const l=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),N=IDBKeyRange.only(r),b=h(l.openKeyCursor(N,"next")).then(B=>(B==null?void 0:B.primaryKey)[1]),O=h(l.openKeyCursor(N,"prev")).then(B=>(B==null?void 0:B.primaryKey)[1]),[P,y]=await Promise.all([b,O]),D=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),M=IDBKeyRange.bound([r,P],[r,y]);f.logger.log(`LL: Deleting all users + marker in storage for room ${r}, with key range:`,[r,P],[r,y]),await w(D.delete(M))}clearDatabase(){return new Promise(r=>{f.logger.log(`Removing indexeddb instance: ${this.dbName}`);const e=this.indexedDB.deleteDatabase(this.dbName);e.onblocked=()=>{f.logger.log(`can't yet delete indexeddb ${this.dbName} because it is open elsewhere`)},e.onerror=()=>{f.logger.warn(`unable to delete js-sdk store indexeddb: ${e.error}`),r()},e.onsuccess=()=>{f.logger.log(`Removed indexeddb instance: ${this.dbName}`),r()}})}getSavedSync(r=!0){const e=this.syncAccumulator.getJSON();return e.nextBatch?r?Promise.resolve(p.deepCopy(e)):Promise.resolve(e):Promise.resolve(null)}getNextBatchToken(){return Promise.resolve(this.syncAccumulator.getNextBatchToken())}setSyncData(r){return Promise.resolve().then(()=>{this.syncAccumulator.accumulate(r)})}async syncToDatabase(r){if(this.isPersisting){f.logger.warn("Skipping syncToDatabase() as persist already in flight"),this.pendingUserPresenceData.push(...r);return}else r.unshift(...this.pendingUserPresenceData),this.isPersisting=!0;try{const e=this.syncAccumulator.getJSON(!0);await Promise.all([this.persistUserPresenceEvents(r),this.persistAccountData(e.accountData),this.persistSyncData(e.nextBatch,e.roomsData)])}finally{this.isPersisting=!1}}persistSyncData(r,e){return f.logger.log("Persisting sync data up to",r),p.promiseTry(()=>{const s=this.db.transaction(["sync"],"readwrite");return s.objectStore("sync").put({clobber:"-",nextBatch:r,roomsData:e}),C(s).then(()=>{f.logger.log("Persisted sync data up to",r)})})}persistAccountData(r){return p.promiseTry(()=>{const e=this.db.transaction(["accountData"],"readwrite"),s=e.objectStore("accountData");for(const l of r)s.put(l);return C(e).then()})}persistUserPresenceEvents(r){return p.promiseTry(()=>{const e=this.db.transaction(["users"],"readwrite"),s=e.objectStore("users");for(const l of r)s.put({userId:l[0],event:l[1]});return C(e).then()})}getUserPresenceEvents(){return p.promiseTry(()=>{const e=this.db.transaction(["users"],"readonly").objectStore("users");return L(e,void 0,s=>[s.value.userId,s.value.event])})}loadAccountData(){return f.logger.log("LocalIndexedDBStoreBackend: loading account data..."),p.promiseTry(()=>{const e=this.db.transaction(["accountData"],"readonly").objectStore("accountData");return L(e,void 0,s=>s.value).then(s=>(f.logger.log("LocalIndexedDBStoreBackend: loaded account data"),s))})}loadSyncData(){return f.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),p.promiseTry(()=>{const e=this.db.transaction(["sync"],"readonly").objectStore("sync");return L(e,void 0,s=>s.value).then(s=>(f.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),s.length>1&&f.logger.warn("loadSyncData: More than 1 sync row found."),s.length>0?s[0]:{}))})}getClientOptions(){return Promise.resolve().then(()=>{const e=this.db.transaction(["client_options"],"readonly").objectStore("client_options");return L(e,void 0,s=>{var l;return(l=s.value)===null||l===void 0?void 0:l.options}).then(s=>s[0])})}async storeClientOptions(r){const e=this.db.transaction(["client_options"],"readwrite");e.objectStore("client_options").put({clobber:"-",options:r}),await C(e)}async saveToDeviceBatches(r){const e=this.db.transaction(["to_device_queue"],"readwrite"),s=e.objectStore("to_device_queue");for(const l of r)s.add(l);await C(e)}async getOldestToDeviceBatch(){const e=this.db.transaction(["to_device_queue"],"readonly").objectStore("to_device_queue"),s=await h(e.openCursor());if(!s)return null;const l=s.value;return{id:s.key,txnId:l.txnId,eventType:l.eventType,batch:l.batch}}async removeToDeviceBatch(r){const e=this.db.transaction(["to_device_queue"],"readwrite");e.objectStore("to_device_queue").delete(r),await C(e)}}return Z.LocalIndexedDBStoreBackend=u,Z}var lt=q;Object.defineProperty(ne,"__esModule",{value:!0}),ne.IndexedDBStoreWorker=void 0;var Be=lt(z),ut=ct(),dt=le();class ft{constructor(a){this.postMessage=a,(0,Be.default)(this,"backend",void 0),(0,Be.default)(this,"onMessage",n=>{var p,v,f,d,g,k,x,L,C,R,w,h,u,i,r,e;const s=n.data;let l;switch(s.command){case"setupWorker":this.backend=new ut.LocalIndexedDBStoreBackend(indexedDB,s.args[0]),l=Promise.resolve();break;case"connect":l=(p=this.backend)===null||p===void 0?void 0:p.connect();break;case"isNewlyCreated":l=(v=this.backend)===null||v===void 0?void 0:v.isNewlyCreated();break;case"clearDatabase":l=(f=this.backend)===null||f===void 0?void 0:f.clearDatabase();break;case"getSavedSync":l=(d=this.backend)===null||d===void 0?void 0:d.getSavedSync(!1);break;case"setSyncData":l=(g=this.backend)===null||g===void 0?void 0:g.setSyncData(s.args[0]);break;case"syncToDatabase":l=(k=this.backend)===null||k===void 0?void 0:k.syncToDatabase(s.args[0]);break;case"getUserPresenceEvents":l=(x=this.backend)===null||x===void 0?void 0:x.getUserPresenceEvents();break;case"getNextBatchToken":l=(L=this.backend)===null||L===void 0?void 0:L.getNextBatchToken();break;case"getOutOfBandMembers":l=(C=this.backend)===null||C===void 0?void 0:C.getOutOfBandMembers(s.args[0]);break;case"clearOutOfBandMembers":l=(R=this.backend)===null||R===void 0?void 0:R.clearOutOfBandMembers(s.args[0]);break;case"setOutOfBandMembers":l=(w=this.backend)===null||w===void 0?void 0:w.setOutOfBandMembers(s.args[0],s.args[1]);break;case"getClientOptions":l=(h=this.backend)===null||h===void 0?void 0:h.getClientOptions();break;case"storeClientOptions":l=(u=this.backend)===null||u===void 0?void 0:u.storeClientOptions(s.args[0]);break;case"saveToDeviceBatches":l=(i=this.backend)===null||i===void 0?void 0:i.saveToDeviceBatches(s.args[0]);break;case"getOldestToDeviceBatch":l=(r=this.backend)===null||r===void 0?void 0:r.getOldestToDeviceBatch();break;case"removeToDeviceBatch":l=(e=this.backend)===null||e===void 0?void 0:e.removeToDeviceBatch(s.args[0]);break}if(l===void 0){this.postMessage({command:"cmd_fail",seq:s.seq,error:"Unrecognised command"});return}l.then(N=>{this.postMessage.call(null,{command:"cmd_success",seq:s.seq,result:N})},N=>{dt.logger.error("Error running command: "+s.command,N),this.postMessage.call(null,{command:"cmd_fail",seq:s.seq,error:{message:N.message,name:N.name}})})})}}ne.IndexedDBStoreWorker=ft,function(o){Object.defineProperty(o,"__esModule",{value:!0}),Object.defineProperty(o,"IndexedDBStoreWorker",{enumerable:!0,get:function(){return a.IndexedDBStoreWorker}});var a=ne}(pe);const Le=self,mt=new pe.IndexedDBStoreWorker(Le.postMessage);Le.onmessage=mt.onMessage})(); diff --git a/pr-281/assets/olm-82e831ad.wasm b/pr-281/assets/olm-82e831ad.wasm Binary files differ. diff --git a/pr-281/assets/olm_legacy-086c8bde.js b/pr-281/assets/olm_legacy-086c8bde.js @@ -0,0 +1,180 @@ +// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 +// @source: https://gitlab.matrix.org/matrix-org/olm/-/tree/3.2.14 + +var Olm = (function() { +var olm_exports = {}; +var onInitSuccess; +var onInitFail; + +var Module = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(Module) { + Module = Module || {}; + + +var a;a||(a=typeof Module !== 'undefined' ? Module : {});var aa,ba;a.ready=new Promise(function(b,c){aa=b;ba=c});var g;if("undefined"!==typeof window)g=function(b){window.crypto.getRandomValues(b)};else if(module.exports){var ca=require("crypto");g=function(b){var c=ca.randomBytes(b.length);b.set(c)};process=global.process}else throw Error("Cannot find global to attach library to"); +if("undefined"!==typeof OLM_OPTIONS)for(var da in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(da)&&(a[da]=OLM_OPTIONS[da]);a.onRuntimeInitialized=function(){h=a._olm_error();olm_exports.PRIVATE_KEY_LENGTH=a._olm_pk_private_key_length();onInitSuccess&&onInitSuccess()};a.onAbort=function(b){onInitFail&&onInitFail(b)}; +var fa=Object.assign({},a),ha="object"==typeof window,l="function"==typeof importScripts,ia="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,m="",ja,ka,la,fs,ma,na; +if(ia)m=l?require("path").dirname(m)+"/":__dirname+"/",na=()=>{ma||(fs=require("fs"),ma=require("path"))},ja=function(b,c){var d=n(b);if(d)return c?d:d.toString();na();b=ma.normalize(b);return fs.readFileSync(b,c?void 0:"utf8")},la=b=>{b=ja(b,!0);b.buffer||(b=new Uint8Array(b));return b},ka=(b,c,d)=>{var e=n(b);e&&c(e);na();b=ma.normalize(b);fs.readFile(b,function(f,k){f?d(f):c(k.buffer)})},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException", +function(b){throw b;}),process.on("unhandledRejection",function(b){throw b;}),a.inspect=function(){return"[Emscripten Module object]"};else if(ha||l)l?m=self.location.href:"undefined"!=typeof document&&document.currentScript&&(m=document.currentScript.src),_scriptDir&&(m=_scriptDir),0!==m.indexOf("blob:")?m=m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):m="",ja=b=>{try{var c=new XMLHttpRequest;c.open("GET",b,!1);c.send(null);return c.responseText}catch(f){if(b=n(b)){c=[];for(var d=0;d<b.length;d++){var e= +b[d];255<e&&(oa&&q("Character code "+e+" ("+String.fromCharCode(e)+") at offset "+d+" not in 0x00-0xFF."),e&=255);c.push(String.fromCharCode(e))}return c.join("")}throw f;}},l&&(la=b=>{try{var c=new XMLHttpRequest;c.open("GET",b,!1);c.responseType="arraybuffer";c.send(null);return new Uint8Array(c.response)}catch(d){if(b=n(b))return b;throw d;}}),ka=(b,c,d)=>{var e=new XMLHttpRequest;e.open("GET",b,!0);e.responseType="arraybuffer";e.onload=()=>{if(200==e.status||0==e.status&&e.response)c(e.response); +else{var f=n(b);f?c(f.buffer):d()}};e.onerror=d;e.send(null)};a.print||console.log.bind(console);var pa=a.printErr||console.warn.bind(console);Object.assign(a,fa);fa=null;var r;a.wasmBinary&&(r=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0;function qa(){this.buffer=new ArrayBuffer(ra/65536*65536)}function sa(){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(ea){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a<j;a+=4){g=f[o.charCodeAt(a+1)];h=f[o.charCodeAt(a+2)];m[i++]=f[o.charCodeAt(a)]<<2|g>>4;if(i<k)m[i++]=g<<4|h>>2;if(i<k)m[i++]=h<<6|f[o.charCodeAt(a+3)]}}function p(q){l(e,1024,"LSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABuYW4AaW5mAFBpY2tsZQAgJWQAQkFEX0FDQ09VTlRfS0VZAEJBRF9TRVNTSU9OX0tFWQBVTktOT1dOX01FU1NBR0VfSU5ERVgAT0xNX1NBU19USEVJUl9LRVlfTk9UX1NFVABCQURfTUVTU0FHRV9GT1JNQVQATUVHT0xNX0tFWVMAU1VDQ0VTUwBVTktOT1dOX0VSUk9SAFVOS05PV05fUElDS0xFX1ZFUlNJT04AQkFEX01FU1NBR0VfVkVSU0lPTgBOQU4ATk9UX0VOT1VHSF9SQU5ET00AT1VUUFVUX0JVRkZFUl9UT09fU01BTEwAT0xNX0lOUFVUX0JVRkZFUl9UT09fU01BTEwASU5GAEJBRF9TSUdOQVRVUkUAQkFEX0xFR0FDWV9BQ0NPVU5UX1BJQ0tMRQBDT1JSVVBURURfUElDS0xFAEJBRF9NRVNTQUdFX0tFWV9JRABCQURfTUVTU0FHRV9NQUMAT0xNX1BJQ0tMRV9FWFRSQV9EQVRBACBza2lwcGVkIG1lc3NhZ2Uga2V5czoAcmVjZWl2ZXIgY2hhaW4gaW5kaWNlczoAImN1cnZlMjU1MTkiOgAiZWQyNTUxOSI6AElOVkFMSURfQkFTRTY0AC4AKG51bGwpAHNlbmRlciBjaGFpbiBpbmRleDogJWQg");l(e,1568,"QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrL/////////////////////////////////////////////////////////8+////PzQ1Njc4OTo7PD3/////////AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBn///////8aGxwdHh8gISIjJCUmJygpKissLS4vMDEyM///////AQAAAAIAAAADAAAABAAAAAU=");l(e,1824,"CQ==");l(e,1856,"4AYAABYGAAAAAAAAAQIAAGwHAAAIAAAAdQcAAAsAAADgBgAAgQcAAAgAAABPTE1fUk9PVABPTE1fUkFUQ0hFVABPTE1fS0VZUwAAAAAAAAC2eFn/hXLTAL1uFf8PCmoAKcABAJjoef+8PKD/mXHO/wC34v60DUj/AAAAAAAAAACwoA7+08mG/54YjwB/aTUAYAy9AKfX+/+fTID+amXh/x78BACSDK4=");l(e,2032,"WfGy/grlpv973Sr+HhTUAFKAAwAw0fMAd3lA/zLjnP8AbsUBZxuQ");l(e,2080,"Iq4o15gvikLNZe8jkUQ3cS87TezP+8C1vNuJgaXbtek4tUjzW8JWORnQBbbxEfFZm08Zr6SCP5IYgW3a1V4cq0ICA6OYqgfYvm9wRQFbgxKMsuROvoUxJOK0/9XDfQxVb4l78nRdvnKxlhY7/rHegDUSxyWnBtyblCZpz3Txm8HSSvGewWmb5OMlTziGR77vtdWMi8adwQ9lnKx3zKEMJHUCK1lvLOktg+SmbqqEdErU+0G93KmwXLVTEYPaiPl2q99m7lJRPpgQMrQtbcYxqD8h+5jIJwOw5A7vvsd/Wb/Cj6g98wvgxiWnCpNHkafVb4ID4FFjygZwbg4KZykpFPwv0kaFCrcnJskmXDghGy7tKsRa/G0sTd+zlZ0TDThT3mOvi1RzCmWosnc8uwpqduau7UcuycKBOzWCFIUscpJkA/FMoei/ogEwQrxLZhqokZf40HCLS8IwvlQGo1FsxxhS79YZ6JLREKllVSQGmdYqIHFXhTUO9LjRuzJwoGoQyNDSuBbBpBlTq0FRCGw3Hpnrjt9Md0gnqEib4bW8sDRjWsnFswwcOcuKQeNKqthOc+Njd0/KnFujuLLW828uaPyy713ugo90YC8XQ29jpXhyq/ChFHjIhOw5ZBoIAseMKB5jI/r/vpDpvYLe62xQpBV5xrL3o/m+K1Ny4/J4ccacYSbqzj4nygfCwCHHuIbRHuvgzdZ92up40W7uf0999bpvF3KqZ/AGppjIosV9YwquDfm+BJg/ERtHHBM1C3EbhH0EI/V32yiTJMdAe6vKMry+yRUKvp48TA0QnMRnHUO2Qj7LvtTFTCp+ZfycKX9Z7PrWOqtvy18XWEdKjBlEbJ8EAADkBAAA9gQAAMwEAACABAAAeQUAAGYFAADnBQAAMAQAALUEAABVBQAAQAQAAFAEAAA7BQAALQUAAA4FAABmBAAAiQUAAOAGAACTBAAACwAAAOAGAAAlBAAABgAAAJgvikKRRDdxz/vAtaXbtelbwlY58RHxWaSCP5LVXhyrmKoH2AFbgxK+hTEkw30MVXRdvnL+sd6Apwbcm3Txm8HBaZvkhke+78adwQ/MoQwkbyzpLaqEdErcqbBc2oj5dlJRPphtxjGoyCcDsMd/Wb/zC+DGR5Gn1VFjygZnKSkUhQq3JzghGy78bSxNEw04U1RzCmW7Cmp2LsnCgYUscpKh6L+iS2YaqHCLS8KjUWzHGeiS0SQGmdaFNQ70cKBqEBbBpBkIbDceTHdIJ7W8sDSzDBw5SqrYTk/KnFvzby5o7oKPdG9jpXgUeMiECALHjPr/vpDrbFCk96P5vvJ4ccZjfHd78mtvxTABZyv+16t2yoLJffpZR/Ct1KKvnKRywLf9kyY2P/fMNKXl8XHYMRUExyPDGJYFmgcSgOLrJ7J1CYMsGhtuWqBSO9azKeMvhFPRAO0g/LFbasu+OUpMWM/Q76r7Q00zhUX5An9QPJ+oUaNAj5KdOPW8ttohEP/z0s0ME+xfl0QXxKd+PWRdGXNggU/cIiqQiEbuuBTeXgvb4DI6CkkGJFzC06xikZXkeefIN22N1U6pbFb06mV6rgi6eCUuHKa0xujddB9LvYuKcD61ZkgD9g5hNVe5hsEdnuH4mBFp2Y6Umx6H6c5VKN+MoYkNv+ZCaEGZLQ+wVLsWAAAAAQAAAAIAAAAEAAAACAAAABAAAAAgAAAAQAAAAIAAAAAbAAAANgAAAGwAAADYAAAAqwAAAE0AAACaAAAAAFIJatUwNqU4v0CjnoHz1/t84zmCmy//hzSOQ0TE3unLVHuUMqbCIz3uTJULQvrDTgguoWYo2SSydluiSW2L0SVy+PZkhmiYFtSkXMxdZbaSbHBIUP3tudpeFUZXp42dhJDYqwCMvNMK9+RYBbizRQbQLB6Pyj8PAsGvvQMBE4prOpERQU9n3OqX8s/O8LTmc5asdCLnrTWF4vk36Bx1325H8RpxHSnFiW+3Yg6qGL4b/FY+S8bSeSCa28D+eM1a9B/dqDOIB8cxsRIQWSeA7F9gUX+pGbVKDS3lep+TyZzvoOA7Ta4q9bDI67s8g1OZYRcrBH66d9Ym4WkUY1UhDH0AAAAAAAACAwkLDQ4EBhIWGhwGBRsdFxIIDCQsNDgKDy0nOTYMCjY6LiQOCT8xIyoQGEhYaHASG0FTZX4UHlpOcmwWHVNFf2IYFGx0XEgaF2V/UUYcEn5iRlQeEXdpS1ogMJCw0OAiM5m73e4kNoKmyvwmNYutx/IoPLSc5NgqP72X6dYsOqaK/sQuOa+B88owKNjouJAyK9HjtZ40Lsr+oow2LcP1r4I4JPzEjKg6J/XPgaY8Iu7SlrQ+IefZm7pAYDt7u9tCYzJwttVEZiltocdGZSBmrMlIbB9Xj+NKbxZcgu1Mag1Blf9OaQRKmPFQeHMj06tSe3oo3qVUfmE1ybdWfWg+xLlYdFcP55Nad14E6p1cckUZ/Y9ecUwS8IFgUKvLaztiU6LAZjVkVrndcSdmVbDWfCloXI/nXwNqX4bsUg1sWp3xRR9uWZT6SBFwSOOTA0tyS+qYDkV0TvGFGVd2TfiOFFl4RMe/N3N6R860On18QtWpLW9+QdyiIGGAwHb2ba2Cw3/9YKOExmTgd7GGxW3rer+IzFLaWZWKz1vRVJuMykDMQ4mOyUnHToeQ2D6uBd2S2zelCNOU3iy4H8GW3SWzEs+Y1BqCMeWa1xOJPOuc0giUK/me0QGfJveg8OZGvU2i8+9NsEOk9vRQp1Gm9f1bql+o/MJqiXWq/8thhHus+tB8k2mu+dl3nmew6K4e1T2y66cV2DO07rwIzyG27bUDwi+45Ioy4QW654M57Au84pgk+xm+4ZEv9hfAoE2N1nbCo0SG23jEpl+bzGrGpVaQwWTIrGmh4k7Kr2Cq70DMqnu3+FLOqXK89VzQuAXVvgbSuwzeswjUvhfDpBrWvR7IqRTYtCH5ij7atyjyhzDcsjPvkCLesTrknSzgkN09Bpbik9Q2C5jkls8rHIrmlcYgEYTonPkRMq7qn/AaP6DsmusHKLLumeIMJbzwiJVlbubyi5xuY+j0jodzdPr2jY54efT4hLFJWt76h7hCV9D8gqNfQML+gapUTcwbm+z32kEZmOX8108fnf7hwF0dnvfqzVMTl8jb7nkRlMHQ43cXkdrN9GUVktPG+WsLg6SvsjEJgK2kvz8Phba5qC0Nhr+ypSMDj4CDhgkBjImIiwcHiZKVnBUFipuekRs7q3xHCqE5qHVMB68/rW5REL09rmdaHbMzp1hrPpkxpFFgM5c3oUp9JIU1okN2KYsrszQfYtEpsD0Ub98vtSYJeM0tti8CdcMjvxAzVukhvBk4W+cnuQIlTPUlugsuQftb+9eMYZpZ+N6HbJRf/cWae4Zd/syRdohT9/OgVaJR9PqrWKxX8eG2T75V8ui9QrBL45/UCepJ4JbfBORP5Y3CE/ZN5oTJHvhD77v4PdJB7LLzMNxH6anuJ85F6qDlKsB7y0c8sXp5yE43vHR/zVUqq2Z9zlwhpmhzx2MQhUJxxGobiEx3wXEGn151wngNklBr0w9k2Qpp0AZv1ARv1R1ywxZt1hR5zhhj3ytI7TJh3CJD4Dxn2Tle9y5l2jBV+iCbW5oBt+yZWJMKuuKfXYgXrfCdXoEcoP6TV74tg9SRVLcmjtqXUaw7mciVUqUwlMaLQ9JZ35yJQNtS0pKPRcBPxYCNRslEyI6DT/Z166SBTP9+5qqHSeRj8biFSu1o/La7awqxZwy5aAO6agK/bRinfRC9bhGscB6zZy6dUzSxZCeWXjq3YTyLSSi1YjWARCarc0LpD3ypcEviAnKvdVD/FWCtdln0GG6jf2bFO0ShfG/ONkqneXTTIVilen3YLFbbO6F6DDfZOKhxATnfPbNsFivdPrpnGyXTN4VWOA/RNIxdNQHXMZdAIhPVMp5LLx3LI+kiZEfJIOApaUnPJfs0flvNJvI/c1XDL80OUH/BLMQFXXHHKd8YSmPFKtYTR237CzHK3Nf5CDjB0dn/DSPcxsv9DirXy8XzBxXm6O/xBBzt5eH3AQfw8vP1Ag77//3rE3mStKfpEHCZuanvFWuErrvtFmKPo7XjH12+gJ/hHFS1jZHnGU+omoPlGkajl40ZAAoAGRkZAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABkAEQoZGRkDCgcAAQAJCxgAAAkGCwAACwAGGQAAABkZGQ==");l(e,5265,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO");l(e,5323,"DA==");l(e,5335,"EwAAAAATAAAAAAkMAAAAAAAMAAAM");l(e,5381,"EA==");l(e,5393,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ");l(e,5439,"Eg==");l(e,5451,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa");l(e,5506,"GgAAABoaGgAAAAAAAAk=");l(e,5555,"FA==");l(e,5567,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU");l(e,5613,"Fg==");l(e,5625,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG");l(e,5664,"QAc=");l(e,5680,"hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/L2Oo/qrimf9ms9gA4o16/3pCmf629YYA4+QZAdY56//YrTj/tefSAHeAnf+BX4j/bn4zAAKpt/8HgmL+RbBe/3QE4wHZ8pH/yq0fAWkBJ/8ur0UA5C86/9fgRf7POEX/EP6L/xfP1P/KFH7/X9Vg/wmwIQDIBc//8SqA/iMhwP/45cQBgRF4APtnl/8HNHD/jDhC/yji9f/ZRiX+rNYJ/0hDhgGSwNb/LCZwAES4S//OWvsAleuNALWqOgB09O8AXJ0CAGatYgDpiWABfzHLAAWblAAXlAn/03oMACKGGv/bzIgAhggp/+BTK/5VGfcAbX8A/qmIMADud9v/563VAM4S/v4Iugf/fgkHAW8qSABvNOz+YD+NAJO/f/7NTsD/DmrtAbvbTACv87v+aVmtAFUZWQGi85QAAnbR/iGeCQCLoy7/XUYoAGwqjv5v/I7/m9+QADPlp/9J/Jv/XnQM/5ig2v+c7iX/s+rP/8UAs/+apI0A4cRoAAojGf7R1PL/Yf3e/rhl5QDeEn8BpIiH/x7PjP6SYfMAgcAa/slUIf9vCk7/k1Gy/wQEGACh7tf/Bo0hADXXDv8ptdD/54udALPL3f//uXEAveKs/3FC1v/KPi3/ZkAI/06uEP6FdUT/hTuMAb3xJP/4JcMBYNw3ALdMPv/DQj0AMkykAeGkTP9MPaP/dT4fAFGRQP92QQ4AonPW/waKLgB85vT/CoqPADQawgC49EwAgY8pAb70E/97qnr/YoFEAHnVkwBWZR7/oWebAIxZQ//v5b4BQwu1AMbwif7uRbz/6nE8/yX/Of9Fsrb+gNCzAHYaff4DB9b/8TJN/1XLxf/Th/r/GTBk/7vVtP4RWGkAU9GeAQVzYgAErjz+qzdu/9m1Ef8UvKoAkpxm/lfWrv9yepsB6SyqAH8I7wHW7OoArwXbADFqPf8GQtD/Ampu/1HqE//Xa8D/Q5fuABMqbP/lVXEBMkSH/xFqCQAyZwH/UAGoASOYHv8QqLkBOFno/2XS/AAp+kcAzKpP/w4u7/9QTe8AvdZL/xGN+QAmUEz/vlV1AFbkqgCc2NABw8+k/5ZCTP+v4RD/jVBiAUzb8gDGonIALtqYAJsr8f6boGj/sgn8/mRu1AAOBacA6e+j/xyXnQFlkgr//p5G/kf55ABYHjIARDqg/78YaAGBQoH/wDJV/wiziv8m+skAc1CgAIPmcQB9WJMAWkTHAP1MngAc/3YAcfr+AEJLLgDm2isA5Xi6AZREKwCIfO4Bu2vF/1Q19v8zdP7/M7ulAAIRrwBCVKAB9zoeACNBNf5F7L8ALYb1AaN73QAgbhT/NBelALrWRwDpsGAA8u82ATlZigBTAFT/iKBkAFyOeP5ofL4AtbE+//opVQCYgioBYPz2AJeXP/7vhT4AIDicAC2nvf+OhbMBg1bTALuzlv76qg7/RHEV/966O/9CB/EBRQZIAFacbP43p1kAbTTb/g2wF//ELGr/75VH/6SMff+frQEAMynnAJE+IQCKb10BuVNFAJBzLgBhlxD/GOQaADHZ4gBxS+r+wZkM/7YwYP8ODRoAgMP5/kXBOwCEJVH+fWo8ANbwqQGk40IA0qNOACU0lwBjTRoA7pzV/9XA0QFJLlQAFEEpATbOTwDJg5L+qm8Y/7EhMv6rJsv/Tvd0ANHdmQCFgLIBOiwZAMknOwG9E/wAMeXSAXW7dQC1s7gBAHLbADBekwD1KTgAfQ3M/vStdwAs3SD+VOoUAPmgxgHsfur/jz7dAIFZ1v83iwX+RBS//w7MsgEjw9kALzPOASb2pQDOGwb+nlckANk0kv99e9f/VTwf/6sNBwDa9Vj+/CM8ADfWoP+FZTgA4CAT/pNA6gAakaIBcnZ9APj8+gBlXsT/xo3i/jMqtgCHDAn+bazS/8XswgHxQZoAMJwv/5lDN//apSL+SrSzANpCRwFYemMA1LXb/1wq5//vAJoA9U23/15RqgES1dgAq11HADRe+AASl6H+xdFC/670D/6iMLcAMT3w/rZdwwDH5AYByAUR/4kt7f9slAQAWk/t/yc/Tf81Us8BjhZ2/2XoEgFcGkMABchY/yGoiv+V4UgAAtEb/yz1qAHc7RH/HtNp/o3u3QCAUPX+b/4OAN5fvgHfCfEAkkzU/2zNaP8/dZkAkEUwACPkbwDAIcH/cNa+/nOYlwAXZlgAM0r4AOLHj/7MomX/0GG9AfVoEgDm9h7/F5RFAG5YNP7itVn/0C9a/nKhUP8hdPgAs5hX/0WQsQFY7hr/OiBxAQFNRQA7eTT/mO5TADQIwQDnJ+n/xyKKAN5ErQBbOfL+3NJ//8AH9v6XI7sAw+ylAG9dzgDU94UBmoXR/5vnCgBATiYAevlkAR4TYf8+W/kB+IVNAMU/qP50ClIAuOxx/tTLwv89ZPz+JAXK/3dbmf+BTx0AZ2er/u3Xb//YNUUA7/AXAMKV3f8m4d4A6P+0/nZShf850bEBi+iFAJ6wLv7Ccy4AWPflARxnvwDd3q/+lessAJfkGf7aaWcAjlXSAJWBvv/VQV7+dYbg/1LGdQCd3dwAo2UkAMVyJQBorKb+C7YAAFFIvP9hvBD/RQYKAMeTkf8ICXMBQdav/9mt0QBQf6YA9+UE/qe3fP9aHMz+rzvw/wsp+AFsKDP/kLHD/pb6fgCKW0EBeDze//XB7wAd1r3/gAIZAFCaogBN3GsB6s1K/zamZ/90SAkA5F4v/x7IGf8j1ln/PbCM/1Pio/9LgqwAgCYRAF+JmP/XfJ8BT10AAJRSnf7Dgvv/KMpM//t+4ACdYz7+zwfh/2BEwwCMup3/gxPn/yqA/gA02z3+ZstIAI0HC/+6pNUAH3p3AIXykQDQ/Oj/W9W2/48E+v7510oApR5vAasJ3wDleyIBXIIa/02bLQHDixz/O+BOAIgR9wBseSAAT/q9/2Dj/P4m8T4APq59/5tvXf8K5s4BYcUo/wAxOf5B+g0AEvuW/9xt0v8Frqb+LIG9AOsjk/8l943/SI0E/2dr/wD3WgQANSwqAAIe8AAEOz8AWE4kAHGntAC+R8H/x56k/zoIrABNIQwAQT8DAJlNIf+s/mYB5N0E/1ce/gGSKVb/iszv/myNEf+78ocA0tB/AEQtDv5JYD4AUTwY/6oGJP8D+RoAI9VtABaBNv8VI+H/6j04/zrZBgCPfFgA7H5CANEmt/8i7gb/rpFmAF8W0wDED5n+LlTo/3UikgHn+kr/G4ZkAVy7w/+qxnAAeBwqANFGQwAdUR8AHahkAamtoABrI3UAPmA7/1EMRQGH777/3PwSAKPcOv+Jibz/U2ZtAGAGTADq3tL/ua7NATye1f8N8dYArIGMAF1o8gDAnPsAK3UeAOFRngB/6NoA4hzLAOkbl/91KwX/8g4v/yEUBgCJ+yz+Gx/1/7fWff4oeZUAup7V/1kI4wBFWAD+y4fhAMmuywCTR7gAEnkp/l4FTgDg1vD+JAW0APuH5wGjitQA0vl0/liBuwATCDH+Pg6Q/59M0wDWM1IAbXXk/mffy/9L/A8Bmkfc/xcNWwGNqGD/tbaFAPozNwDq6tT+rz+eACfwNAGevST/1ShVASC09/8TZhoBVBhh/0UV3gCUi3r/3NXrAejL/wB5OZMA4weaADUWkwFIAeEAUoYw/lM8nf+RSKkAImfvAMbpLwB0EwT/uGoJ/7eBUwAksOYBImdIANuihgD1Kp4AIJVg/qUskADK70j+15YFACpCJAGE168AVq5W/xrFnP8x6If+Z7ZSAP2AsAGZsnoA9foKAOwYsgCJaoQAKB0pADIemP98aSYA5r9LAI8rqgAsgxT/LA0X/+3/mwGfbWT/cLUY/2jcbAA304MAYwzV/5iXkf/uBZ8AYZsIACFsUQABA2cAPm0i//qbtAAgR8P/JkaRAZ9f9QBF5WUBiBzwAE/gGQBObnn/+Kh8ALuA9wACk+v+TwuEAEY6DAG1CKP/T4mF/yWqC/+N81X/sOfX/8yWpP/v1yf/Llec/gijWP+sIugAQixm/xs2Kf7sY1f/KXupATRyKwB1higAm4YaAOfPW/4jhCb/E2Z9/iTjhf92A3H/HQ18AJhgSgFYks7/p7/c/qISWP+2ZBcAH3U0AFEuagEMAgcARVDJAdH2rAAMMI0B4NNYAHTinwB6YoIAQezqAeHiCf/P4nsBWdY7AHCHWAFa9Mv/MQsmAYFsugBZcA8BZS7M/3/MLf5P/93/M0kS/38qZf/xFcoAoOMHAGky7ABPNMX/aMrQAbQPEABlxU7/Yk3LACm58QEjwXwAI5sX/881wAALfaMB+Z65/wSDMAAVXW//PXnnAUXIJP+5MLn/b+4V/ycyGf9j16P/V9Qe/6STBf+ABiMBbN9u/8JMsgBKZbQA8y8wAK4ZK/9Srf0BNnLA/yg3WwDXbLD/CzgHAODpTADRYsr+8hl9ACzBXf7LCLEAh7ATAHBH1f/OO7ABBEMaAA6P1f4qN9D/PEN4AMEVowBjpHMAChR2AJzU3v6gB9n/cvVMAXU7ewCwwlb+1Q+wAE7Oz/7VgTsA6fsWAWA3mP/s/w//xVlU/12VhQCuoHEA6mOp/5h0WACQpFP/Xx3G/yIvD/9jeIb/BezBAPn3fv+Tux4AMuZ1/2zZ2/+jUab/SBmp/pt5T/8cm1n+B34RAJNBIQEv6v0AGjMSAGlTx/+jxOYAcfikAOL+2gC90cv/pPfe/v8jpQAEvPMBf7NHACXt/v9kuvAABTlH/mdISf/0ElH+5dKE/+4GtP8L5a7/493AARExHACj18T+CXYE/zPwRwBxgW3/TPDnALyxfwB9RywBGq/zAF6pGf4b5h0AD4t3Aaiquv+sxUz//Eu8AIl8xABIFmD/LZf5AdyRZABAwJ//eO/iAIGykgAAwH0A64rqALedkgBTx8D/uKxI/0nhgABNBvr/ukFDAGj2zwC8IIr/2hjyAEOKUf7tgXn/FM+WASnHEP8GFIAAn3YFALUQj//cJg8AF0CT/kkaDQBX5DkBzHyAACsY3wDbY8cAFksU/xMbfgCdPtcAbh3mALOn/wE2/L4A3cy2/rOeQf9RnQMAwtqfAKrfAADgCyD/JsViAKikJQAXWAcBpLpuAGAkhgDq8uUA+nkTAPL+cP8DL14BCe8G/1GGmf7W/aj/Q3zgAPVfSgAcHiz+AW3c/7JZWQD8JEwAGMYu/0xNbwCG6oj/J14dALlI6v9GRIf/52YH/k3njACnLzoBlGF2/xAb4QGmzo//brLW/7SDogCPjeEBDdpO/3KZIQFiaMwAr3J1AafOSwDKxFMBOkBDAIovbwHE94D/ieDg/p5wzwCaZP8BhiVrAMaAT/9/0Zv/o/65/jwO8wAf23D+HdlBAMgNdP57PMT/4Du4/vJZxAB7EEv+lRDOAEX+MAHndN//0aBBAchQYgAlwrj+lD8iAIvwQf/ZkIT/OCYt/sd40gBssab/oN4EANx+d/6la6D/Utz4AfGviACQjRf/qYpUAKCJTv/idlD/NBuE/z9gi/+Y+icAvJsPAOgzlv4oD+j/8OUJ/4mvG/9LSWEB2tQLAIcFogFrudUAAvlr/yjyRgDbyBkAGZ0NAENSUP/E+Rf/kRSVADJIkgBeTJQBGPtBAB/AFwC41Mn/e+miAfetSACiV9v+foZZAJ8LDP6maR0ASRvkAXF4t/9Co20B1I8L/5/nqAH/gFoAOQ46/lk0Cv/9CKMBAJHS/wqBVQEutRsAZ4ig/n680f8iI28A19sY/9QL1v5lBXYA6MWF/9+nbf/tUFb/RoteAJ7BvwGbDzP/D75zAE6Hz//5ChsBtX3pAF+sDf6q1aH/J+yK/19dV/++gF8AfQ/OAKaWnwDjD57/zp54/yqNgABlsngBnG2DANoOLP73qM7/1HAcAHAR5P9aECUBxd5sAP7PU/8JWvP/8/SsABpYc//NdHoAv+bBALRkCwHZJWD/mk6cAOvqH//OsrL/lcD7ALb6hwD2FmkAfMFt/wLSlf+pEaoAAGBu/3UJCAEyeyj/wb1jACLjoAAwUEb+0zPsAC169f4srggArSXp/55BqwB6Rdf/WlAC/4NqYP7jcocAzTF3/rA+QP9SMxH/8RTz/4INCP6A2fP/ohsB/lp28QD2xvb/NxB2/8ifnQCjEQEAjGt5AFWhdv8mAJUAnC/uAAmmpgFLYrX/MkoZAEIPLwCL4Z8ATAOO/w7uuAALzzX/t8C6Aasgrv+/TN0B96rbABmsMv7ZCekAy35E/7dcMAB/p7cBQTH+ABA/fwH+Far/O+B//hYwP/8bToL+KMMdAPqEcP4jy5AAaKmoAM/9Hv9oKCb+XuRYAM4QgP/UN3r/3xbqAN/FfwD9tbUBkWZ2AOyZJP/U2Uj/FCYY/oo+PgCYjAQA5txj/wEV1P+UyecA9HsJ/gCr0gAzOiX/Af8O//S3kf4A8qYAFkqEAHnYKQBfw3L+hRiX/5zi5//3BU3/9pRz/uFcUf/eUPb+qntZ/0rHjQAdFAj/iohG/11LXADdkzH+NH7iAOV8FwAuCbUAzUA0AYP+HACXntQAg0BOAM4ZqwAA5osAv/1u/mf3pwBAKCgBKqXx/ztL5P58873/xFyy/4KMVv+NWTgBk8YF/8v4nv6Qoo0AC6ziAIIqFf8Bp4//kCQk/zBYpP6oqtwAYkfWAFvQTwCfTMkBpirW/0X/AP8GgH3/vgGMAJJT2v/X7kgBen81AL10pf9UCEL/1gPQ/9VuhQDDqCwBnudFAKJAyP5bOmgAtjq7/vnkiADLhkz+Y93pAEv+1v5QRZoAQJj4/uyIyv+daZn+la8UABYjE/98eekAuvrG/oTliwCJUK7/pX1EAJDKlP7r7/gAh7h2AGVeEf96SEb+RYKSAH/e+AFFf3b/HlLX/rxKE//lp8L+dRlC/0HqOP7VFpwAlztd/i0cG/+6fqT/IAbvAH9yYwHbNAL/Y2Cm/j6+fv9s3qgBS+KuAObixwA8ddr//PgUAda8zAAfwob+e0XA/6mtJP43YlsA3ypm/okBZgCdWhkA73pA//wG6QAHNhT/UnSuAIclNv8Pun0A43Cv/2S04f8q7fT/9K3i/vgSIQCrY5b/Susy/3VSIP5qqO0Az23QAeQJugCHPKn+s1yPAPSqaP/rLXz/RmO6AHWJtwDgH9cAKAlkABoQXwFE2VcACJcU/xpkOv+wpcsBNHZGAAcg/v70/vX/p5DC/31xF/+webUAiFTRAIoGHv9ZMBwAIZsO/xnwmgCNzW0BRnM+/xQoa/6Kmsf/Xt/i/52rJgCjsRn+LXYD/w7eFwHRvlH/dnvoAQ3VZf97N3v+G/alADJjTP+M1iD/YUFD/xgMHACuVk4BQPdgAKCHQwBCN/P/k8xg/xoGIf9iM1MBmdXQ/wK4Nv8Z2gsAMUP2/hKVSP8NGUgAKk/WACoEJgEbi5D/lbsXABKkhAD1VLj+eMZo/37aYAA4der/DR3W/kQvCv+nmoT+mCbGAEKyWf/ILqv/DWNT/9K7/f+qLSoBitF8ANaijQAM5pwAZiRw/gOTQwA013v/6as2/2KJPgD32if/59rsAPe/fwDDklQApbBc/xPUXv8RSuMAWCiZAcaTAf/OQ/X+8APa/z2N1f9ht2oAw+jr/l9WmgDRMM3+dtHx//B43wHVHZ8Ao3+T/w3aXQBVGET+RhRQ/70FjAFSYf7/Y2O//4RUhf9r2nT/cHouAGkRIADCoD//RN4nAdj9XACxac3/lcnDACrhC/8oonMACQdRAKXa2wC0FgD+HZL8/5LP4QG0h2AAH6NwALEL2/+FDMH+K04yAEFxeQE72Qb/bl4YAXCsbwAHD2AAJFV7AEeWFf/QSbwAwAunAdX1IgAJ5lwAoo4n/9daGwBiYVkAXk/TAFqd8ABf3H4BZrDiACQe4P4jH38A5+hzAVVTggDSSfX/L49y/0RBxQA7SD7/t4Wt/l15dv87sVH/6kWt/82AsQDc9DMAGvTRAUneTf+jCGD+lpXTAJ7+ywE2f4sAoeA7AARtFv/eKi3/0JJm/+yOuwAyzfX/CkpZ/jBPjgDeTIL/HqY/AOwMDf8xuPQAu3FmANpl/QCZObb+IJYqABnGkgHt8TgAjEQFAFukrP9Okbr+QzTNANvPgQFtcxEANo86ARX4eP+z/x4AwexC/wH/B//9wDD/E0XZAQPWAP9AZZIB330j/+tJs//5p+IA4a8KAWGiOgBqcKsBVKwF/4WMsv+G9Y4AYVp9/7rLuf/fTRf/wFxqAA/Gc//ZmPgAq7J4/+SGNQCwNsEB+vs1ANUKZAEix2oAlx/0/qzgV/8O7Rf//VUa/38ndP+saGQA+w5G/9TQiv/90/oAsDGlAA9Me/8l2qD/XIcQAQp+cv9GBeD/9/mNAEQUPAHx0r3/w9m7AZcDcQCXXK4A5z6y/9u34QAXFyH/zbVQADm4+P9DtAH/Wntd/ycAov9g+DT/VEKMACJ/5P/CigcBpm68ABURmwGavsb/1lA7/xIHjwBIHeIBx9n5AOihRwGVvskA2a9f/nGTQ/+Kj8f/f8wBAB22UwHO5pv/usw8AAp9Vf/oYBn//1n3/9X+rwHowVEAHCuc/gxFCACTGPgAEsYxAIY8IwB29hL/MVj+/uQVuv+2QXAB2xYB/xZ+NP+9NTH/cBmPACZ/N//iZaP+0IU9/4lFrgG+dpH/PGLb/9kN9f/6iAoAVP7iAMkffQHwM/v/H4OC/wKKMv/X17EB3wzu//yVOP98W0T/SH6q/nf/ZACCh+j/Dk+yAPqDxQCKxtAAediL/ncSJP8dwXoAECot/9Xw6wHmvqn/xiPk/m6tSADW3fH/OJSHAMB1Tv6NXc//j0GVABUSYv9fLPQBar9NAP5VCP7WbrD/Sa0T/qDEx//tWpAAwaxx/8ibiP7kWt0AiTFKAaTd1//RvQX/aew3/yofgQHB/+wALtk8AIpYu//iUuz/UUWX/46+EAENhggAf3ow/1FAnACr84sA7SP2AHqPwf7UepIAXyn/AVeETQAE1B8AER9OACctrf4Yjtn/XwkG/+NTBgBiO4L+Ph4hAAhz0wGiYYD/B7gX/nQcqP/4ipf/YvTwALp2ggBy+Ov/aa3IAaB8R/9eJKQBr0GS/+7xqv7KxsUA5EeK/i32bf/CNJ4AhbuwAFP8mv5Zvd3/qkn8AJQ6fQAkRDP+KkWx/6hMVv8mZMz/JjUjAK8TYQDh7v3/UVGHANIb//7rSWsACM9zAFJ/iABUYxX+zxOIAGSkZQBQ0E3/hM/t/w8DD/8hpm4AnF9V/yW5bwGWaiP/ppdMAHJXh/+fwkAADHof/+gHZf6td2IAmkfc/r85Nf+o6KD/4CBj/9qcpQCXmaMA2Q2UAcVxWQCVHKH+zxceAGmE4/825l7/ha3M/1y3nf9YkPz+ZiFaAJ9hAwC12pv/8HJ3AGrWNf+lvnMBmFvh/1hqLP/QPXEAlzR8AL8bnP9uNuwBDh6m/yd/zwHlxxwAvOS8/mSd6wD22rcBaxbB/86gXwBM75MAz6F1ADOmAv80dQr+STjj/5jB4QCEXoj/Zb/RACBr5f/GK7QBZNJ2AHJDmf8XWBr/WZpcAdx4jP+Qcs///HP6/yLOSACKhX//CLJ8AVdLYQAP5Vz+8EOD/3Z74/6SeGj/kdX/AYG7Rv/bdzYAAROtAC2WlAH4U0gAy+mpAY5rOAD3+SYBLfJQ/x7pZwBgUkYAF8lvAFEnHv+ht07/wuoh/0TjjP7YznQARhvr/2iQTwCk5l3+1oecAJq78v68FIP/JG2uAJ9w8QAFbpUBJKXaAKYdEwGyLkkAXSsg/vi97QBmm40AyV3D//GL/f8Pb2L/bEGj/ptPvv9JrsH+9igw/2tYC/7KYVX//cwS/3HyQgBuoML+0BK6AFEVPAC8aKf/fKZh/tKFjgA48on+KW+CAG+XOgFv1Y3/t6zx/yYGxP+5B3v/Lgv2APVpdwEPAqH/CM4t/xLKSv9TfHMB1I2dAFMI0f6LD+j/rDat/jL3hADWvdUAkLhpAN/++AD/k/D/F7xIAAczNgC8GbT+3LQA/1OgFACjvfP/OtHC/1dJPABqGDEA9fncABatpwB2C8P/E37tAG6fJf87Ui8AtLtWALyU0AFkJYX/B3DBAIG8nP9UaoH/heHKAA7sb/8oFGUArKwx/jM2Sv/7ubj/XZvg/7T54AHmspIASDk2/rI+uAB3zUgAue/9/z0P2gDEQzj/6iCrAS7b5ADQbOr/FD/o/6U1xwGF5AX/NM1rAErujP+WnNv+76yy//u93/4gjtP/2g+KAfHEUAAcJGL+FurHAD3t3P/2OSUAjhGO/50+GgAr7l/+A9kG/9UZ8AEn3K7/ms0w/hMNwP/0Ijb+jBCbAPC1Bf6bwTwApoAE/ySROP+W8NsAeDORAFKZKgGM7JIAa1z4Ab0KAwA/iPIA0ycYABPKoQGtG7r/0szv/inRov+2/p//rHQ0AMNn3v7NRTsANRYpAdowwgBQ0vIA0rzPALuhof7YEQEAiOFxAPq4PwDfHmL+TaiiADs1rwATyQr/i+DCAJPBmv/UvQz+Aciu/zKFcQFes1oArbaHAF6xcQArWdf/iPxq/3uGU/4F9UL/UjEnAdwC4ABhgbEATTtZAD0dmwHLq9z/XE6LAJEhtf+pGI0BN5azAIs8UP/aJ2EAApNr/zz4SACt5i8BBlO2/xBpov6J1FH/tLiGASfepP/dafsB73B9AD8HYQA/aOP/lDoMAFo84P9U1PwAT9eoAPjdxwFzeQEAJKx4ACCiu/85azH/kyoVAGrGKwE5SlcAfstR/4GHwwCMH7EA3YvCAAPe1wCDROcAsVay/nyXtAC4fCYBRqMRAPn7tQEqN+MA4qEsABfsbgAzlY4BXQXsANq3av5DGE0AKPXR/955mQClOR4AU308AEYmUgHlBrwAbd6d/zd2P//Nl7oA4yGV//6w9gHjseMAImqj/rArTwBqX04BufF6/7kOPQAkAcoADbKi//cLhACh5lwBQQG5/9QypQGNkkD/nvLaABWkfQDVi3oBQ0dXAMuesgGXXCsAmG8F/ycD7//Z//r/sD9H/0r1TQH6rhL/IjHj//Yu+/+aIzABfZ09/2okTv9h7JkAiLt4/3GGq/8T1dn+2F7R//wFPQBeA8oAAxq3/0C/K/8eFxUAgY1N/2Z4BwHCTIwAvK80/xFRlADoVjcB4TCsAIYqKv/uMi8AqRL+ABSTV/8Ow+//RfcXAO7lgP+xMXAAqGL7/3lH+ADzCJH+9uOZ/9upsf77i6X/DKO5/6Qoq/+Znxv+821b/94YcAES1ucAa521/sOTAP/CY2j/WYy+/7FCfv5quUIAMdofAPyungC8T+YB7ingANTqCAGIC7UApnVT/0TDXgAuhMkA8JhYAKQ5Rf6g4Cr/O9dD/3fDjf8ktHn+zy8I/67S3wBlxUT//1KNAfqJ6QBhVoUBEFBFAISDnwB0XWQALY2LAJisnf9aK1sAR5kuACcQcP/ZiGH/3MYZ/rE1MQDeWIb/gA88AM/Aqf/AdNH/ak7TAcjVt/8HDHr+3ss8/yFux/77anUA5OEEAXg6B//dwVT+cIUbAL3Iyf+Lh5YA6jew/z0yQQCYbKn/3FUB/3CH4wCiGroAz2C5/vSIawBdmTIBxmGXAG4LVv+Pda7/c9TIAAXKtwDtpAr+ue8+AOx4Ev5ie2P/qMnC/i7q1gC/hTH/Y6l3AL67IwFzFS3/+YNIAHAGe//WMbX+pukiAFzFZv795M3/AzvJASpiLgDbJSP/qcMmAF58wQGcK98AX0iF/njOvwB6xe//sbtP//4uAgH6p74AVIETAMtxpv/5H73+SJ3K/9BHSf/PGEgAChASAdJRTP9Y0MD/fvNr/+6NeP/Heer/iQw7/yTce/+Uszz+8AwdAEIAYQEkHib/cwFd/2Bn5//FnjsBwKTwAMrKOf8YrjAAWU2bASpM1wD0l+kAFzBRAO9/NP7jgiX/+HRdAXyEdgCt/sABButT/26v5wH7HLYAgfld/lS4gABMtT4Ar4C6AGQ1iP5tHeIA3ek6ARRjSgAAFqAAhg0VAAk0N/8RWYwAryI7AFSld//g4ur/B0im/3tz/wES1vYA+gdHAdncuQDUI0z/Jn2vAL1h0gBy7iz/Kbyp/i26mgBRXBYAhKDBAHnQYv8NUSz/y5xSAEc6Ff/Qcr/+MiaTAJrYwwBlGRIAPPrX/+mE6/9nr44BEA5cAI0fbv7u8S3/mdnvAWGoL//5VRABHK8+/zn+NgDe534Api11/hK9YP/kTDIAyPReAMaYeAFEIkX/DEGg/mUTWgCnxXj/RDa5/ynavABxqDAAWGm9ARpSIP+5XaQB5PDt/0K2NQCrxVz/awnpAcd4kP9OMQr/bapp/1oEH/8c9HH/SjoLAD7c9v95msj+kNKy/345gQEr+g7/ZW8cAS9W8f89Rpb/NUkF/x4angDRGlYAiu1KAKRfvACOPB3+onT4/7uvoACXEhAA0W9B/suGJ/9YbDH/gxpH/90b1/5oaV3/H+wf/ocA0/+Pf24B1EnlAOlDp/7DAdD/hBHd/zPZWgBD6zL/39KPALM1ggHpasYA2a3c/3DlGP+vml3+R8v2/zBChf8DiOb/F91x/utv1QCqeF/++90CAC2Cnv5pXtn/8jS0/tVELf9oJhwA9J5MAKHIYP/PNQ3/u0OUAKo2+AB3orL/UxQLACoqwAGSn6P/t+hvAE3lFf9HNY8AG0wiAPaIL//bJ7b/XODJAROODv9FtvH/o3b1AAltagGqtff/Ti/u/1TSsP/Va4sAJyYLAEgVlgBIgkUAzU2b/o6FFQBHb6z+4io7/7MA1wEhgPEA6vwNAbhPCABuHkn/9o29AKrP2gFKmkX/ivYx/5sgZAB9Smn/WlU9/yPlsf8+fcH/mVa8AUl41ADRe/b+h9Em/5c6LAFcRdb/DgxY//yZpv/9z3D/PE5T/+N8bgC0YPz/NXUh/qTcUv8pARv/JqSm/6Rjqf49kEb/wKYSAGv6QgDFQTIAAbMS//9oAf8rmSP/UG+oAG6vqAApaS3/2w7N/6TpjP4rAXYA6UPDALJSn/+KV3r/1O5a/5AjfP4ZjKQA+9cs/oVGa/9l41D+XKk3ANcqMQBytFX/IegbAazVGQA+sHv+IIUY/+G/PgBdRpkAtSpoARa/4P/IyIz/+eolAJU5jQDDOND//oJG/yCt8P8d3McAbmRz/4Tl+QDk6d//JdjR/rKx0f+3LaX+4GFyAIlhqP/h3qwApQ0xAdLrzP/8BBz+RqCXAOi+NP5T+F3/PtdNAa+vs/+gMkIAeTDQAD+p0f8A0sgA4LssAUmiUgAJsI//E0zB/x07pwEYK5oAHL6+AI28gQDo68v/6gBt/zZBnwA8WOj/ef2W/vzpg//GbikBU01H/8gWO/5q/fL/FQzP/+1CvQBaxsoB4ax/ADUWygA45oQAAVa3AG2+KgDzRK4BbeSaAMixegEjoLf/sTBV/1raqf/4mE4Ayv5uAAY0KwCOYkH/P5EWAEZqXQDoimsBbrM9/9OB2gHy0VwAI1rZAbaPav90Zdn/cvrd/63MBgA8lqMASaws/+9uUP/tTJn+oYz5AJXo5QCFHyj/rqR3AHEz1gCB5AL+QCLzAGvj9P+uasj/VJlGATIjEAD6Stj+7L1C/5n5DQDmsgT/3SnuAHbjef9eV4z+/ndcAEnv9v51V4AAE9OR/7Eu/ADlW/YBRYD3/8pNNgEICwn/mWCmANnWrf+GwAIBAM8AAL2uawGMhmQAnsHzAbZmqwDrmjMAjgV7/zyoWQHZDlz/E9YFAdOn/gAsBsr+eBLs/w9xuP+434sAKLF3/rZ7Wv+wpbAA903CABvqeADnANb/OyceAH1jkf+WREQBjd74AJl70v9uf5j/5SHWAYfdxQCJYQIADI/M/1EpvABzT4L/XgOEAJivu/98jQr/fsCz/wtnxgCVBi0A21W7AeYSsv9ItpgAA8a4/4Bw4AFhoeYA/mMm/zqfxQCXQtsAO0WP/7lw+QB3iC//e4KEAKhHX/9xsCgB6LmtAM9ddQFEnWz/ZgWT/jFhIQBZQW/+9x6j/3zZ3QFm+tgAxq5L/jk3EgDjBewB5dWtAMlt2gEx6e8AHjeeARmyagCbb7wBXn6MANcf7gFN8BAA1fIZASZHqADNul3+MdOM/9sAtP+GdqUAoJOG/266I//G8yoA85J3AIbrowEE8Yf/wS7B/me0T//hBLj+8naCAJKHsAHqbx4ARULV/ilgewB5Xir/sr/D/y6CKgB1VAj/6THW/u56bQAGR1kB7NN7APQNMP53lA4AchxW/0vtGf+R5RD+gWQ1/4aWeP6onTIAF0ho/+AxDgD/exb/l7mX/6pQuAGGthQAKWRlAZkhEABMmm8BVs7q/8CgpP6le13/Adik/kMRr/+pCzv/nik9/0m8Dv/DBon/FpMd/xRnA//2guP/eiiAAOIvGP4jJCAAmLq3/0XKFADDhcMA3jP3AKmrXgG3AKD/QM0SAZxTD//FOvn++1lu/zIKWP4zK9gAYvLGAfWXcQCr7MIBxR/H/+VRJgEpOxQA/WjmAJhdDv/28pL+1qnw//BmbP6gp+wAmtq8AJbpyv8bE/oBAkeF/68MPwGRt8YAaHhz/4L79wAR1Kf/PnuE//dkvQCb35gAj8UhAJs7LP+WXfABfwNX/19HzwGnVQH/vJh0/woXFwCJw10BNmJhAPAAqP+UvH8AhmuXAEz9qwBahMAAkhY2AOBCNv7muuX/J7bEAJT7gv9Bg2z+gAGgAKkxp/7H/pT/+waDALv+gf9VUj4Ashc6//6EBQCk1ScAhvyS/iU1Uf+bhlIAzafu/14ttP+EKKEA/m9wATZL2QCz5t0B616//xfzMAHKkcv/J3Yq/3WN/QD+AN4AK/syADap6gFQRNAAlMvz/pEHhwAG/gAA/Ll/AGIIgf8mI0j/0yTcASgaWQCoQMX+A97v/wJT1/60n2kAOnPCALp0av/l99v/gXbBAMqutwGmoUgAyWuT/u2ISgDp5moBaW+oAEDgHgEB5QMAZpev/8Lu5P/++tQAu+15AEP7YAHFHgsAt1/MAM1ZigBA3SUB/98e/7Iw0//xyFr/p9Fg/zmC3QAucsj/PbhCADe2GP5utiEAq77o/3JeHwAS3QgAL+f+AP9wUwB2D9f/rRko/sDBH//uFZL/q8F2/2XqNf6D1HAAWcBrAQjQGwC12Q//55XoAIzsfgCQCcf/DE+1/pO2yv8Tbbb/MdThAEqjywCv6ZQAGnAzAMHBCf8Ph/kAluOCAMwA2wEY8s0A7tB1/xb0cAAa5SIAJVC8/yYtzv7wWuH/HQMv/yrgTAC686cAIIQP/wUzfQCLhxgABvHbAKzlhf/21jIA5wvP/79+UwG0o6r/9TgYAbKk0/8DEMoBYjl2/42DWf4hMxgA85Vb//00DgAjqUP+MR5Y/7MbJP+ljLcAOr2XAFgfAABLqUIAQmXH/xjYxwF5xBr/Dk/L/vDiUf9eHAr/U8Hw/8zBg/9eD1YA2iidADPB0QAA8rEAZrn3AJ5tdAAmh1sA36+VANxCAf9WPOgAGWAl/+F6ogHXu6j/np0uADirogDo8GUBehYJADMJFf81Ge7/2R7o/n2plAAN6GYAlAklAKVhjQHkgykA3g/z//4SEQAGPO0BagNxADuEvQBccB4AadDVADBUs/+7eef+G9ht/6Lda/5J78P/+h85/5WHWf+5F3MBA6Od/xJw+gAZObv/oWCkAC8Q8wAMjfv+Q+q4/ykSoQCvBmD/oKw0/hiwt//GwVUBfHmJ/5cycv/cyzz/z+8FAQAma/837l7+RpheANXcTQF4EUX/VaS+/8vqUQAmMSX+PZB8AIlOMf6o9zAAX6T8AGmphwD95IYAQKZLAFFJFP/P0goA6mqW/14iWv/+nzn+3IVjAIuTtP4YF7kAKTke/71hTABBu9//4Kwl/yI+XwHnkPAATWp+/kCYWwAdYpsA4vs1/+rTBf+Qy97/pLDd/gXnGACzes0AJAGG/31Gl/5h5PwArIEX/jBa0f+W4FIBVIYeAPHELgBncer/LmV5/ih8+v+HLfL+Cfmo/4xsg/+Po6sAMq3H/1jejv/IX54AjsCj/wd1hwBvfBYA7AxB/kQmQf/jrv4A9PUmAPAy0P+hP/oAPNHvAHojEwAOIeb+Ap9xAGoUf//kzWAAidKu/rTUkP9ZYpoBIliLAKeicAFBbsUA8SWpAEI4g/8KyVP+hf27/7FwLf7E+wAAxPqX/+7o1v+W0c0AHPB2AEdMUwHsY1sAKvqDAWASQP923iMAcdbL/3p3uP9CEyQAzED5AJJZiwCGPocBaOllALxUGgAx+YEA0NZL/8+CTf9zr+sAqwKJ/6+RugE39Yf/mla1AWQ69v9txzz/UsyG/9cx5gGM5cD/3sH7/1GID/+zlaL/Fycd/wdfS/6/Ud4A8VFa/2sxyf/0050A3oyV/0HbOP699lr/sjudATDbNABiItcAHBG7/6+pGABcT6H/7MjCAZOP6gDl4QcBxagOAOszNQH9eK4AxQao/8p1qwCjFc4AclVa/w8pCv/CE2MAQTfY/qKSdAAyztT/QJId/56egwFkpYL/rBeB/301Cf8PwRIBGjEL/7WuyQGHyQ7/ZBOVANtiTwAqY4/+YAAw/8X5U/5olU//626I/lKALP9BKST+WNMKALt5uwBihscAq7yz/tIL7v9Ce4L+NOo9ADBxF/4GVnj/d7L1AFeByQDyjdEAynJVAJQWoQBnwzAAGTGr/4pDggC2SXr+lBiCANPlmgAgm54AVGk9ALHCCf+mWVYBNlO7APkodf9tA9f/NZIsAT8vswDC2AP+DlSIAIixDf9I87r/dRF9/9M60/9dT98AWlj1/4vRb/9G3i8ACvZP/8bZsgDj4QsBTn6z/z4rfgBnlCMAgQil/vXwlAA9M44AUdCGAA+Jc//Td+z/n/X4/wKGiP/mizoBoKT+AHJVjf8xprb/kEZUAVW2BwAuNV0ACaah/zeisv8tuLwAkhws/qlaMQB4svEBDnt//wfxxwG9QjL/xo9l/r3zh/+NGBj+S2FXAHb7mgHtNpwAq5LP/4PE9v+IQHEBl+g5APDacwAxPRv/QIFJAfypG/8ohAoBWsnB//x58AG6zikAK8ZhAJFktwDM2FD+rJZBAPnlxP5oe0n/TWhg/oK0CABoezkA3Mrl/2b50wBWDuj/tk7RAO/hpABqDSD/eEkR/4ZD6QBT/rUAt+xwATBAg//x2PP/QcHiAM7xZP5khqb/7crFADcNUQAgfGb/KOSxAHa1HwHnoIb/d7vKAACOPP+AJr3/psmWAM94GgE2uKwADPLM/oVC5gAiJh8BuHBQACAzpf6/8zcAOkmS/punzf9kaJj/xf7P/60T9wDuCsoA75fyAF47J//wHWb/Clya/+VU2/+hgVAA0FrMAfDbrv+eZpEBNbJM/zRsqAFT3msA0yRtAHY6OAAIHRYA7aDHAKrRnQCJRy8Aj1YgAMbyAgDUMIgBXKy6AOaXaQFgv+UAilC//vDYgv9iKwb+qMQxAP0SWwGQSXkAPZInAT9oGP+4pXD+futiAFDVYv97PFf/Uoz1Ad94rf8PxoYBzjzvAOfqXP8h7hP/pXGOAbB3JgCgK6b+71tpAGs9wgEZBEQAD4szAKSEav8idC7+qF/FAInUFwBInDoAiXBF/pZpmv/syZ0AF9Sa/4hS4/7iO93/X5XAAFF2NP8hK9cBDpNL/1mcef4OEk8Ak9CLAZfaPv+cWAgB0rhi/xSve/9mU+UA3EF0AZb6BP9cjtz/IvdC/8zhs/6XUZcARyjs/4o/PgAGT/D/t7m1AHYyGwA/48AAe2M6ATLgm/8R4d/+3OBN/w4sewGNgK8A+NTIAJY7t/+TYR0Alsy1AP0lRwCRVXcAmsi6AAKA+f9TGHwADlePAKgz9QF8l+f/0PDFAXy+uQAwOvYAFOnoAH0SYv8N/h//9bGC/2yOIwCrffL+jAwi/6WhogDOzWUA9xkiAWSROQAnRjkAdszL//IAogCl9B4AxnTiAIBvmf+MNrYBPHoP/5s6OQE2MsYAq9Md/2uKp/+ta8f/baHBAFlI8v/Oc1n/+v6O/rHKXv9RWTIAB2lC/xn+//7LQBf/T95s/yf5SwDxfDIA75iFAN3xaQCTl2IA1aF5/vIxiQDpJfn+KrcbALh35v/ZIKP/0PvkAYk+g/9PQAn+XjBxABGKMv7B/xYA9xLFAUM3aAAQzV//MCVCADecPwFAUkr/yDVH/u9DfQAa4N4A34ld/x7gyv8J3IQAxibrAWaNVgA8K1EBiBwaAOkkCP7P8pQApKI/ADMu4P9yME//Ca/iAN4Dwf8voOj//11p/g4q5gAailIB0Cv0ABsnJv9i0H//QJW2/wX60QC7PBz+MRna/6l0zf93EngAnHST/4Q1bf8NCsoAblOnAJ3bif8GA4L/Mqce/zyfL/+BgJ3+XgO9AAOmRABT39cAllrCAQ+oQQDjUzP/zatC/za7PAGYZi3/d5rhAPD3iABkxbL/i0ff/8xSEAEpzir/nMDd/9h79P/a2rn/u7rv//ysoP/DNBYAkK61/rtkc//TTrD/GwfBAJPVaP9ayQr/UHtCARYhugABB2P+Hs4KAOXqBQA1HtIAigjc/kc3pwBI4VYBdr68AP7BZQGr+az/Xp63/l0CbP+wXUz/SWNP/0pAgf72LkEAY/F//vaXZv8sNdD+O2bqAJqvpP9Y8iAAbyYBAP+2vv9zsA/+qTyBAHrt8QBaTD8APkp4/3rDbgB3BLIA3vLSAIIhLv6cKCkAp5JwATGjb/95sOsATM8O/wMZxgEp69UAVSTWATFcbf/IGB7+qOzDAJEnfAHsw5UAWiS4/0NVqv8mIxr+g3xE/++bI/82yaQAxBZ1/zEPzQAY4B0BfnGQAHUVtgDLn40A34dNALDmsP++5df/YyW1/zMViv8ZvVn/MTCl/pgt9wCqbN4AUMoFABtFZ/7MFoH/tPw+/tIBW/+Sbv7/26IcAN/81QE7CCEAzhD0AIHTMABroNAAcDvRAG1N2P4iFbn/9mM4/7OLE/+5HTL/VFkTAEr6Yv/hKsj/wNnN/9IQpwBjhF8BK+Y5AP4Ly/9jvD//d8H7/lBpNgDotb0Bt0Vw/9Crpf8vbbT/e1OlAJKiNP+aCwT/l+Na/5KJYf496Sn/Xio3/2yk7ACYRP4ACoyD/wpqT/7znokAQ7JC/rF7xv8PPiIAxVgq/5Vfsf+YAMb/lf5x/+Fao/992fcAEhHgAIBCeP7AGQn/Mt3NADHURgDp/6QAAtEJAN002/6s4PT/XjjOAfKzAv8fW6QB5i6K/73m3AA5Lz3/bwudALFbmAAc5mIAYVd+AMZZkf+nT2sA+U2gAR3p5v+WFVb+PAvBAJclJP65lvP/5NRTAayXtADJqZsA9DzqAI7rBAFD2jwAwHFLAXTzz/9BrJsAUR6c/1BIIf4S523/jmsV/n0ahP+wEDv/lsk6AM6pyQDQeeIAKKwO/5Y9Xv84OZz/jTyR/y1slf/ukZv/0VUf/sAM0gBjYl3+mBCXAOG53ACN6yz/oKwV/kcaH/8NQF3+HDjGALE++AG2CPEApmWU/05Rhf+B3tcBvKmB/+gHYQAxcDz/2eX7AHdsigAnE3v+gzHrAIRUkQCC5pT/GUq7AAX1Nv+52/EBEsLk//HKZgBpccoAm+tPABUJsv+cAe8AyJQ9AHP30v8x3YcAOr0IASMuCQBRQQX/NJ65/310Lv9KjA3/0lys/pMXRwDZ4P3+c2y0/5E6MP7bsRj/nP88AZqT8gD9hlcANUvlADDD3v8frzL/nNJ4/9Aj3v8S+LMBAgpl/53C+P+ezGX/aP7F/08+BACyrGUBYJL7/0EKnAACiaX/dATnAPLXAQATIx3/K6FPADuV9gH7QrAAyCED/1Bujv/DoREB5DhC/3svkf6EBKQAQ66sABn9cgBXYVcB+txUAGBbyP8lfTsAE0F2AKE08f/trAb/sL///wFBgv7fvuYAZf3n/5IjbQD6HU0BMQATAHtamwEWViD/2tVBAG9dfwA8Xan/CH+2ABG6Dv79ifb/1Rkw/kzuAP/4XEb/Y+CLALgJ/wEHpNAAzYPGAVfWxwCC1l8A3ZXeABcmq/7FbtUAK3OM/texdgBgNEIBdZ7tAA5Atv8uP67/nl++/+HNsf8rBY7/rGPU//S7kwAdM5n/5HQY/h5lzwAT9pb/hucFAH2G4gFNQWIA7IIh/wVuPgBFbH//B3EWAJEUU/7Coef/g7U8ANnRsf/llNT+A4O4AHWxuwEcDh//sGZQADJUl/99Hzb/FZ2F/xOziwHg6BoAInWq/6f8q/9Jjc7+gfojAEhP7AHc5RT/Kcqt/2NM7v/GFuD/bMbD/ySNYAHsnjv/amRXAG7iAgDj6t4Aml13/0pwpP9DWwL/FZEh/2bWif+v5mf+o/amAF33dP6n4Bz/3AI5AavOVAB75BH/G3h3AHcLkwG0L+H/aMi5/qUCcgBNTtQALZqx/xjEef5SnbYAWhC+AQyTxQBf75j/C+tHAFaSd/+shtYAPIPEAKHhgQAfgnj+X8gzAGnn0v86CZT/K6jd/3ztjgDG0zL+LvVnAKT4VACYRtD/tHWxAEZPuQDzSiAAlZzPAMXEoQH1Ne8AD132/ovwMf/EWCT/oiZ7AIDInQGuTGf/raki/tgBq/9yMxEAiOTCAG6WOP5q9p8AE7hP/5ZN8P+bUKIAADWp/x2XVgBEXhAAXAdu/mJ1lf/5Teb//QqMANZ8XP4jdusAWTA5ARY1pgC4kD3/s//CANb4Pf47bvYAeRVR/qYD5ABqQBr/ReiG//LcNf4u3FUAcZX3/2GzZ/++fwsAh9G2AF80gQGqkM7/esjM/6hkkgA8kJX+RjwoAHo0sf/202X/ru0IAAczeAATH60Afu+c/4+9ywDEgFj/6YXi/x59rf/JbDIAe2Q7//6jAwHdlLX/1og5/t60if/PWDb/HCH7/0PWNAHS0GQAUapeAJEoNQDgb+f+Ixz0/+LHw/7uEeYA2dmk/qmd3QDaLqIBx8+j/2xzogEOYLv/djxMALifmADR50f+KqS6/7qZM/7dq7b/oo6tAOsvwQAHixABX6RA/xDdpgDbxRAAhB0s/2RFdf8861j+KFGtAEe+Pf+7WJ0A5wsXAO11pADhqN//mnJ0/6OY8gEYIKoAfWJx/qgTTAARndz+mzQFABNvof9HWvz/rW7wAArGef/9//D/QnvSAN3C1/55oxH/4QdjAL4xtgBzCYUB6BqK/9VEhAAsd3r/s2IzAJVaagBHMub/Cpl2/7FGGQClV80AN4rqAO4eYQBxm88AYpl/ACJr2/51cqz/TLT//vI5s//dIqz+OKIx/1MD//9x3b3/vBnk/hBYWf9HHMb+FhGV//N5/v9rymP/Cc4OAdwvmQBriScBYTHC/5Uzxf66Ogv/ayvoAcgGDv+1hUH+3eSr/3s+5wHj6rP/Ir3U/vS7+QC+DVABglkBAN+FrQAJ3sb/Qn9KAKfYXf+bqMYBQpEAAERmLgGsWpoA2IBL/6AoMwCeERsBfPAxAOzKsP+XfMD/JsG+AF+2PQCjk3z//6Uz/xwoEf7XYE4AVpHa/h8kyv9WCQUAbynI/+1sYQA5PiwAdbgPAS3xdACYAdz/naW8APoPgwE8LH3/Qdz7/0syuAA1WoD/51DC/4iBfwEVErv/LTqh/0eTIgCu+Qv+I40dAO9Esf9zbjoA7r6xAVf1pv++Mff/klO4/60OJ/+S12gAjt94AJXIm//Uz5EBELXZAK0gV///I7UAd9+hAcjfXv9GBrr/wENV/zKpmACQGnv/OPOz/hREiAAnjLz+/dAF/8hzhwErrOX/nGi7AJf7pwA0hxcAl5lIAJPFa/6UngX/7o/OAH6Zif9YmMX+B0SnAPyfpf/vTjb/GD83/ybeXgDttwz/zszSABMn9v4eSucAh2wdAbNzAAB1dnQBhAb8/5GBoQFpQ40AUiXi/+7i5P/M1oH+ontk/7l56gAtbOcAQgg4/4SIgACs4EL+r528AObf4v7y20UAuA53AVKiOAByexQAomdV/zHvY/6ch9cAb/+n/ifE1gCQJk8B+ah9AJthnP8XNNv/lhaQACyVpf8of7cAxE3p/3aB0v+qh+b/1nfGAOnwIwD9NAf/dWYw/xXMmv+ziLH/FwIDAZWCWf/8EZ8BRjwaAJBrEQC0vjz/OLY7/25HNv/GEoH/leBX/98VmP+KFrb/+pzNAOwt0P9PlPIBZUbRAGdOrgBlkKz/mIjtAb/CiABxUH0BmASNAJuWNf/EdPUA73JJ/hNSEf98fer/KDS/ACrSnv+bhKUAsgUqAUBcKP8kVU3/suR2AIlCYP5z4kIAbvBF/pdvUACnruz/42xr/7zyQf+3Uf8AOc61/y8itf/V8J4BR0tfAJwoGP9m0lEAq8fk/5oiKQDjr0sAFe/DAIrlXwFMwDEAdXtXAePhggB9Pj//AsarAP4kDf6Rus4AlP/0/yMApgAeltsBXOTUAFzGPP4+hcj/ySk7AH3ubf+0o+4BjHpSAAkWWP/FnS//mV45AFgetgBUoVUAspJ8AKamB/8V0N8AnLbyAJt5uQBTnK7+mhB2/7pT6AHfOnn/HRdYACN9f/+qBZX+pAyC/5vEHQChYIgAByMdAaIl+wADLvL/ANm8ADmu4gHO6QIAObuI/nu9Cf/JdX//uiTMAOcZ2ABQTmkAE4aB/5TLRACNUX3++KXI/9aQhwCXN6b/JutbABUumgDf/pb/I5m0/32wHQErYh7/2Hrm/+mgDAA5uQz+8HEH/wUJEP4aW2wAbcbLAAiTKACBhuT/fLoo/3JihP6mhBcAY0UsAAny7v+4NTsAhIFm/zQg8/6T38j/e1Oz/oeQyf+NJTgBlzzj/1pJnAHLrLsAUJcv/16J5/8kvzv/4dG1/0rX1f4GdrP/mTbBATIA5wBonUgBjOOa/7biEP5g4Vz/cxSq/gb6TgD4S63/NVkG/wC0dgBIrQEAQAjOAa6F3wC5PoX/1gtiAMUf0ACrp/T/Fue1AZbauQD3qWEBpYv3/y94lQFn+DMAPEUc/hmzxAB8B9r+OmtRALjpnP/8SiQAdrxDAI1fNf/eXqX+Lj01AM47c/8v7Pr/SgUgAYGa7v9qIOIAebs9/wOm8f5Dqqz/Hdiy/xfJ/AD9bvMAyH05AG3AYP80c+4AJnnz/8k4IQDCdoIAS2AZ/6oe5v4nP/0AJC36//sB7wCg1FwBLdHtAPMhV/7tVMn/1BKd/tRjf//ZYhD+i6zvAKjJgv+Pwan/7pfBAddoKQDvPaX+AgPyABbLsf6xzBYAlYHV/h8LKf8An3n+oBly/6JQyACdlwsAmoZOAdg2/AAwZ4UAadzFAP2oTf41sxcAGHnwAf8uYP9rPIf+Ys35/z/5d/94O9P/crQ3/ltV7QCV1E0BOEkxAFbGlgBd0aAARc22//RaKwAUJLAAenTdADOnJwHnAT//DcWGAAPRIv+HO8oAp2ROAC/fTAC5PD4AsqZ7AYQMof89risAw0WQAH8vvwEiLE4AOeo0Af8WKP/2XpIAU+SAADxO4P8AYNL/ma/sAJ8VSQC0c8T+g+FqAP+nhgCfCHD/eETC/7DExv92MKj/XakBAHDIZgFKGP4AE40E/o4+PwCDs7v/TZyb/3dWpACq0JL/0IWa/5SbOv+ieOj+/NWbAPENKgBeMoMAs6pwAIxTl/83d1QBjCPv/5ktQwHsrycANpdn/54qQf/E74f+VjXLAJVhL/7YIxH/RgNGAWckWv8oGq0AuDANAKPb2f9RBgH/3aps/unQXQBkyfn+ViQj/9GaHgHjyfv/Ar2n/mQ5AwANgCkAxWRLAJbM6/+RrjsAePiV/1U34QBy0jX+x8x3AA73SgE/+4EAQ2iXAYeCUABPWTf/dead/xlgjwDVkQUARfF4AZXzX/9yKhQAg0gCAJo1FP9JPm0AxGaYACkMzP96JgsB+gqRAM99lAD29N7/KSBVAXDVfgCi+VYBR8Z//1EJFQFiJwT/zEctAUtviQDqO+cAIDBf/8wfcgEdxLX/M/Gn/l1tjgBokC0A6wy1/zRwpABM/sr/rg6iAD3rk/8rQLn+6X3ZAPNYp/5KMQgAnMxCAHzWewAm3XYBknDsAHJisQCXWccAV8VwALmVoQAsYKUA+LMU/7zb2P4oPg0A846NAOXjzv+syiP/dbDh/1JuJgEq9Q7/FFNhADGrCgDyd3gAGeg9ANTwk/8Eczj/kRHv/soR+//5EvX/Y3XvALgEs//27TP/Je+J/6Zwpv9RvCH/ufqO/za7rQDQcMkA9ivkAWi4WP/UNMT/M3Vs//51mwAuWw//Vw6Q/1fjzABTGlMBn0zjAJ8b1QEYl2wAdZCz/onRUgAmnwoAc4XJAN+2nAFuxF3/OTzpAAWnaf+axaQAYCK6/5OFJQHcY74AAadU/xSRqwDCxfv+X06F//z48//hXYP/u4bE/9iZqgAUdp7+jAF2AFaeDwEt0yn/kwFk/nF0TP/Tf2wBZw8wAMEQZgFFM1//a4CdAImr6QBafJABaqG2AK9M7AHIjaz/ozpoAOm0NP/w/Q7/onH+/ybviv40LqYA8WUh/oO6nABv0D7/fF6g/x+s/gBwrjj/vGMb/0OK+wB9OoABnJiu/7IM9//8VJ4AUsUO/qzIU/8lJy4Bas+nABi9IgCDspAAztUEAKHi0gBIM2n/YS27/0643/+wHfsAT6BW/3QlsgBSTdUBUlSN/+Jl1AGvWMf/9V73Aax2bf+mub4Ag7V4AFf+Xf+G8En/IPWP/4uiZ/+zYhL+2cxwAJPfeP81CvMApoyWAH1QyP8Obdv/W9oB//z8L/5tnHT/czF/AcxX0/+Uytn/GlX5/w71hgFMWan/8i3mADtirP9ySYT+Tpsx/55+VAAxryv/ELZU/51nIwBowW3/Q92aAMmsAf4IolgApQEd/32b5f8emtwBZ+9cANwBbf/KxgEAXgKOASQ2LADr4p7/qvvW/7lNCQBhSvIA26OV//Ajdv/fclj+wMcDAGolGP/JoXb/YVljAeA6Z/9lx5P+3jxjAOoZOwE0hxsAZgNb/qjY6wDl6IgAaDyBAC6o7gAnv0MAS6MvAI9hYv842KgBqOn8/yNvFv9cVCsAGshXAVv9mADKOEYAjghNAFAKrwH8x0wAFm5S/4EBwgALgD0BVw6R//3evgEPSK4AVaNW/jpjLP8tGLz+Gs0PABPl0v74Q8MAY0e4AJrHJf+X83n/JjNL/8lVgv4sQfoAOZPz/pIrO/9ZHDUAIVQY/7MzEv69RlMAC5yzAWKGdwCeb28Ad5pJ/8g/jP4tDQ3/msAC/lFIKgAuoLn+LHAGAJLXlQEasGgARBxXAewymf+zgPr+zsG//6Zcif41KO8A0gHM/qitIwCN8y0BJDJt/w/ywv/jn3r/sK/K/kY5SAAo3zgA0KI6/7diXQAPbwwAHghM/4R/9v8t8mcARbUP/wrRHgADs3kA8ejaAXvHWP8C0soBvIJR/15l0AFnJC0ATMEYAV8a8f+lorsAJHKMAMpCBf8lOJMAmAvzAX9V6P/6h9QBubFxAFrcS/9F+JIAMm8yAFwWUAD0JHP+o2RS/xnBBgF/PSQA/UMe/kHsqv+hEdf+P6+MADd/BABPcOkAbaAoAI9TB/9BGu7/2amM/05evf8Ak77/k0e6/mpNf//pnekBh1ft/9AN7AGbbST/tGTaALSjEgC+bgkBET97/7OItP+le3v/kLxR/kfwbP8ZcAv/49oz/6cy6v9yT2z/HxNz/7fwYwDjV4//SNn4/2apXwGBlZUA7oUMAePMIwDQcxoBZgjqAHBYjwGQ+Q4A8J6s/mRwdwDCjZn+KDhT/3mwLgAqNUz/nr+aAFvRXACtDRABBUji/8z+lQBQuM8AZAl6/nZlq//8ywD+oM82ADhI+QE4jA3/CkBr/ltlNP/htfgBi/+EAOaREQDpOBcAdwHx/9Wpl/9jYwn+uQ+//61nbQGuDfv/slgH/hs7RP8KIQL/+GE7ABoekgGwkwoAX3nPAbxYGAC5Xv7+czfJABgyRgB4NQYAjkKSAOTi+f9owN4BrUTbAKK4JP+PZon/nQsXAH0tYgDrXeH+OHCg/0Z08wGZ+Tf/gScRAfFQ9ABXRRUBXuRJ/05CQf/C4+cAPZJX/62bF/9wdNv+2CYL/4O6hQBe1LsAZC9bAMz+r//eEtf+rURs/+PkT/8m3dUAo+OW/h++EgCgswsBClpe/9yuWACj0+X/x4g0AIJf3f+MvOf+i3GA/3Wr7P4x3BT/OxSr/+RtvAAU4SD+wxCuAOP+iAGHJ2kAlk3O/9Lu4gA31IT+7zl8AKrCXf/5EPf/GJc+/wqXCgBPi7L/ePLKABrb1QA+fSP/kAJs/+YhU/9RLdgB4D4RANbZfQBimZn/s7Bq/oNdiv9tPiT/snkg/3j8RgDc+CUAzFhnAYDc+//s4wcBajHG/zw4awBjcu4A3MxeAUm7AQBZmiIATtml/w7D+f8J5v3/zYf1ABr8B/9UzRsBhgJwACWeIADnW+3/v6rM/5gH3gBtwDEAwaaS/+gTtf9pjjT/ZxAbAf3IpQDD2QT/NL2Q/3uboP5Xgjb/Tng9/w44KQAZKX3/V6j1ANalRgDUqQb/29PC/khdpP/FIWf/K46NAIPhrAD0aRwAREThAIhUDf+COSj+i004AFSWNQA2X50AkA2x/l9zugB1F3b/9Kbx/wu6hwCyasv/YdpdACv9LQCkmAQAi3bvAGABGP7rmdP/qG4U/zLvsAByKegAwfo1AP6gb/6Iein/YWxDANeYF/+M0dQAKr2jAMoqMv9qar3/vkTZ/+k6dQDl3PMBxQMEACV4Nv4EnIb/JD2r/qWIZP/U6A4AWq4KANjGQf8MA0AAdHFz//hnCADnfRL/oBzFAB64IwHfSfn/exQu/oc4Jf+tDeUBd6Ei//U9SQDNfXAAiWiGANn2Hv/tjo8AQZ9m/2ykvgDbda3/IiV4/shFUAAffNr+Shug/7qax/9Hx/wAaFGfARHIJwDTPcABGu5bAJTZDAA7W9X/C1G3/4Hmev9yy5EBd7RC/0iKtADglWoAd1Jo/9CMKwBiCbb/zWWG/xJlJgBfxab/y/GTAD7Qkf+F9vsAAqkOAA33uACOB/4AJMgX/1jN3wBbgTT/FboeAI/k0gH36vj/5kUf/rC6h//uzTQBi08rABGw2f4g80MA8m/pACwjCf/jclEBBEcM/yZpvwAHdTL/UU8QAD9EQf+dJG7/TfED/+It+wGOGc4AeHvRARz+7v8FgH7/W97X/6IPvwBW8EkAh7lR/izxowDU29L/cKKbAM9ldgCoSDj/xAU0AEis8v9+Fp3/kmA7/6J5mP6MEF8Aw/7I/lKWogB3K5H+zKxO/6bgnwBoE+3/9X7Q/+I71QB12cUAmEjtANwfF/4OWuf/vNRAATxl9v9VGFYAAbFtAJJTIAFLtsAAd/HgALntG/+4ZVIB6yVN//2GEwDo9noAPGqzAMMLDABtQusBfXE7AD0opACvaPAAAi+7/zIMjQDCi7X/h/poAGFc3v/Zlcn/y/F2/0+XQwB6jtr/lfXvAIoqyP5QJWH/fHCn/ySKV/+CHZP/8VdO/8xhEwGx0Rb/9+N//mN3U//UGcYBELOzAJFNrP5ZmQ7/2r2nAGvpO/8jIfP+LHBw/6F/TwHMrwoAKBWK/mh05ADHX4n/hb6o/5Kl6gG3YycAt9w2/v/ehQCi23n+P+8GAOFmNv/7EvYABCKBAYckgwDOMjsBD2G3AKvYh/9lmCv/lvtbACaRXwAizCb+soxT/xmB8/9MkCUAaiQa/naQrP9EuuX/a6HV/y6jRP+Vqv0AuxEPANqgpf+rI/YBYA0TAKXLdQDWa8D/9HuxAWQDaACy8mH/+0yC/9NNKgH6T0b/P/RQAWll9gA9iDoB7lvVAA47Yv+nVE0AEYQu/jmvxf+5PrgATEDPAKyv0P6vSiUAihvT/pR9wgAKWVEAqMtl/yvV0QHr9TYAHiPi/wl+RgDifV7+nHUU/zn4cAHmMED/pFymAeDW5v8keI8ANwgr//sB9QFqYqUASmtq/jUENv9aspYBA3h7//QFWQFy+j3//plSAU0PEQA57loBX9/mAOw0L/5nlKT/ec8kARIQuf9LFEoAuwtlAC4wgf8W79L/TeyB/29NzP89SGH/x9n7/yrXzACFkcn/OeaSAetkxgCSSSP+bMYU/7ZP0v9SZ4gA9mywACIRPP8TSnL+qKpO/53vFP+VKagAOnkcAE+zhv/neYf/rtFi//N6vgCrps0A1HQwAB1sQv+i3rYBDncVANUn+f/+3+T/t6XGAIW+MAB80G3/d69V/wnReQEwq73/w0eGAYjbM/+2W43+MZ9IACN29f9wuuP/O4kfAIksowByZzz+CNWWAKIKcf/CaEgA3IN0/7JPXADL+tX+XcG9/4L/Iv7UvJcAiBEU/xRlU//UzqYA5e5J/5dKA/+oV9cAm7yF/6aBSQDwT4X/stNR/8tIo/7BqKUADqTH/h7/zABBSFsBpkpm/8gqAP/CceP/QhfQAOXYZP8Y7xoACuk+/3sKsgEaJK7/d9vHAS2jvgAQqCoApjnG/xwaGgB+pecA+2xk/z3lef86dooATM8RAA0icP5ZEKgAJdBp/yPJ1/8oamX+Bu9yAChn4v72f27/P6c6AITwjgAFnlj/gUme/15ZkgDmNpIACC2tAE+pAQBzuvcAVECDAEPg/f/PvUAAmhxRAS24Nv9X1OD/AGBJ/4Eh6wE0QlD/+66b/wSzJQDqpF3+Xa/9AMZFV//gai4AYx3SAD68cv8s6ggAqa/3/xdtif/lticAwKVe/vVl2QC/WGAAxF5j/2ruC/41fvMAXgFl/y6TAgDJfHz/jQzaAA2mnQEw++3/m/p8/2qUkv+2DcoAHD2nANmYCP7cgi3/yOb/ATdBV/9dv2H+cvsOACBpXAEaz40AGM8N/hUyMP+6lHT/0yvhACUiov6k0ir/RBdg/7bWCP/1dYn/QsMyAEsMU/5QjKQACaUkAeRu4wDxEVoBGTTUAAbfDP+L8zkADHFLAfa3v//Vv0X/5g+OAAHDxP+Kqy//QD9qARCp1v/PrjgBWEmF/7aFjACxDhn/k7g1/wrjof942PT/SU3pAJ3uiwE7QekARvvYASm4mf8gy3AAkpP9AFdlbQEsUoX/9JY1/16Y6P87XSf/WJPc/05RDQEgL/z/oBNy/11rJ/92ENMBuXfR/+Pbf/5Yaez/om4X/ySmbv9b7N3/Qup0AG8T9P4K6RoAILcG/gK/8gDanDX+KTxG/6jsbwB5uX7/7o7P/zd+NADcgdD+UMyk/0MXkP7aKGz/f8qkAMshA/8CngAAJWC8/8AxSgBtBAAAb6cK/lvah//LQq3/lsLiAMn9Bv+uZnkAzb9uADXCBABRKC3+I2aP/wxsxv8QG+j//Ee6AbBucgCOA3UBcU2OABOcxQFcL/wANegWATYS6wAuI73/7NSBAAJg0P7I7sf/O6+k/5Ir5wDC2TT/A98MAIo2sv5V688A6M8iADE0Mv+mcVn/Ci3Y/z6tHABvpfYAdnNb/4BUPACnkMsAVw3zABYe5AGxcZL/garm/vyZgf+R4SsARucF/3ppfv5W9pT/biWa/tEDWwBEkT4A5BCl/zfd+f6y0lsAU5Li/kWSugBd0mj+EBmtAOe6JgC9eoz/+w1w/2luXQD7SKoAwBff/xgDygHhXeQAmZPH/m2qFgD4Zfb/snwM/7L+Zv43BEEAfda0ALdgkwAtdRf+hL/5AI+wy/6Itzb/kuqxAJJlVv8se48BIdGYAMBaKf5TD33/1axSANepkAAQDSIAINFk/1QS+QHFEez/2brmADGgsP9vdmH/7WjrAE87XP5F+Qv/I6xKARN2RADefKX/tEIj/1au9gArSm//fpBW/+TqWwDy1Rj+RSzr/9y0IwAI+Af/Zi9c//DNZv9x5qsBH7nJ/8L2Rv96EbsAhkbH/5UDlv91P2cAQWh7/9Q2EwEGjVgAU4bz/4g1ZwCpG7QAsTEYAG82pwDDPdf/HwFsATwqRgC5A6L/wpUo//Z/Jv6+dyb/PXcIAWCh2/8qy90BsfKk//WfCgB0xAAABV3N/oB/swB97fb/laLZ/1clFP6M7sAACQnBAGEB4gAdJgoAAIg//+VI0v4mhlz/TtrQAWgkVP8MBcH/8q89/7+pLgGzk5P/cb6L/n2sHwADS/z+1yQPAMEbGAH/RZX/boF2AMtd+QCKiUD+JkYGAJl03gChSnsAwWNP/3Y7Xv89DCsBkrGdAC6TvwAQ/yYACzMfATw6Yv9vwk0Bmlv0AIwokAGtCvsAy9Ey/myCTgDktFoArgf6AB+uPAApqx4AdGNS/3bBi/+7rcb+2m84ALl72AD5njQANLRd/8kJW/84Lab+hJvL/zrobgA001n//QCiAQlXtwCRiCwBXnr1AFW8qwGTXMYAAAhoAB5frgDd5jQB9/fr/4muNf8jFcz/R+PWAehSwgALMOP/qkm4/8b7/P4scCIAg2WD/0iouwCEh33/imhh/+64qP/zaFT/h9ji/4uQ7QC8iZYBUDiM/1app//CThn/3BG0/xENwQB1idT/jeCXADH0rwDBY6//E2OaAf9BPv+c0jf/8vQD//oOlQCeWNn/nc+G/vvoHAAunPv/qzi4/+8z6gCOioP/Gf7zAQrJwgA/YUsA0u+iAMDIHwF11vMAGEfe/jYo6P9Mt2/+kA5X/9ZPiP/YxNQAhBuM/oMF/QB8bBP/HNdLAEzeN/7ptj8ARKu//jRv3v8KaU3/UKrrAI8YWP8t53kAlIHgAT32VAD9Ltv/70whADGUEv7mJUUAQ4YW/o6bXgAfndP+1Soe/wTk9/78sA3/JwAf/vH0//+qLQr+/d75AN5yhAD/Lwb/tKOzAVRel/9Z0VL+5TSp/9XsAAHWOOT/h3eX/3DJwQBToDX+BpdCABKiEQDpYVsAgwVOAbV4Nf91Xz//7XW5AL9+iP+Qd+kAtzlhAS/Ju/+npXcBLWR+ABViBv6Rll//eDaYANFiaACPbx7+uJT5AOvYLgD4ypT/OV8WAPLhowDp9+j/R6sT/2f0Mf9UZ13/RHn0AVLgDQApTyv/+c6n/9c0Ff7AIBb/9288AGVKJv8WW1T+HRwN/8bn1/70msgA34ntANOEDgBfQM7/ET73/+mDeQFdF00Azcw0/lG9iAC024oBjxJeAMwrjP68r9sAb2KP/5c/ov/TMkf+E5I1AJItU/6yUu7/EIVU/+LGXf/JYRT/eHYj/3Iy5/+i5Zz/0xoMAHInc//O1IYAxdmg/3SBXv7H19v/S9/5Af10tf/o12j/5IL2/7l1VgAOBQgA7x09Ae1Xhf99kon+zKjfAC6o9QCaaRYA3NSh/2tFGP+J2rX/8VTG/4J60/+NCJn/vrF2AGBZsgD/EDD+emBp/3U26P8ifmn/zEOmAOg0iv/TkwwAGTYHACwP1/4z7C0AvkSBAWqT4QAcXS3+7I0P/xE9oQDcc8AA7JEY/m+oqQDgOj//f6S8AFLqSwHgnoYA0URuAdmm2QBG4aYBu8GP/xAHWP8KzYwAdcCcARE4JgAbfGwBq9c3/1/91ACbh6j/9rKZ/ppESgDoPWD+aYQ7ACFMxwG9sIL/CWgZ/kvGZv/pAXAAbNwU/3LmRgCMwoX/OZ6k/pIGUP+pxGEBVbeCAEae3gE77er/YBka/+ivYf8Lefj+WCPCANu0/P5KCOMAw+NJAbhuof8x6aQBgDUvAFIOef/BvjoAMK51/4QXIAAoCoYBFjMZ//ALsP9uOZIAdY/vAZ1ldv82VEwAzbgS/y8ESP9OcFX/wTJCAV0QNP8IaYYADG1I/zqc+wCQI8wALKB1/jJrwgABRKX/b26iAJ5TKP5M1uoAOtjN/6tgk/8o43IBsOPxAEb5twGIVIv/PHr3/o8Jdf+xron+SfePAOy5fv8+Gff/LUA4/6H0BgAiOTgBacpTAICT0AAGZwr/SopB/2FQZP/WriH/MoZK/26Xgv5vVKwAVMdL/vg7cP8I2LIBCbdfAO4bCP6qzdwAw+WHAGJM7f/iWxoBUtsn/+G+xwHZyHn/UbMI/4xBzgCyz1f++vwu/2hZbgH9vZ7/kNae/6D1Nv81t1wBFcjC/5IhcQHRAf8A62or/6c06ACd5d0AMx4ZAPrdGwFBk1f/T3vEAEHE3/9MLBEBVfFEAMq3+f9B1NT/CSGaAUc7UACvwjv/jUgJAGSg9ADm0DgAOxlL/lDCwgASA8j+oJ9zAISP9wFvXTn/Ou0LAYbeh/96o2wBeyu+//u9zv5Qtkj/0PbgARE8CQChzyYAjW1bANgP0/+ITm4AYqNo/xVQef+tsrcBf48EAGg8Uv7WEA3/YO4hAZ6U5v9/gT7/M//S/z6N7P6dN+D/cif0AMC8+v/kTDUAYlRR/63LPf6TMjf/zOu/ADTF9ABYK9P+G793ALznmgBCUaEAXMGgAfrjeAB7N+IAuBFIAIWoCv4Wh5z/KRln/zDKOgC6lVH/vIbvAOu1vf7Zi7z/SjBSAC7a5QC9/fsAMuUM/9ONvwGA9Bn/qed6/lYvvf+Etxf/JbKW/zOJ/QDITh8AFmkyAII8AACEo1v+F+e7AMBP7wCdZqT/wFIUARi1Z//wCeoAAXuk/4XpAP/K8vIAPLr1APEQx//gdJ7+v31b/+BWzwB5Jef/4wnG/w+Z7/956Nn+S3BSAF8MOf4z1mn/lNxhAcdiJACc0Qz+CtQ0ANm0N/7Uquj/2BRU/536hwCdY3/+Ac4pAJUkRgE2xMn/V3QA/uurlgAbo+oAyoe0ANBfAP57nF0Atz5LAInrtgDM4f//1ovS/wJzCP8dDG8ANJwBAP0V+/8lpR/+DILTAGoSNf4qY5oADtk9/tgLXP/IxXD+kybHACT8eP5rqU0AAXuf/89LZgCjr8QALAHwAHi6sP4NYkz/7Xzx/+iSvP/IYOAAzB8pANDIDQAV4WD/r5zEAPfQfgA+uPT+AqtRAFVzngA2QC3/E4pyAIdHzQDjL5MB2udCAP3RHAD0D63/Bg92/hCW0P+5FjL/VnDP/0tx1wE/kiv/BOET/uMXPv8O/9b+LQjN/1fFl/7SUtf/9fj3/4D4RgDh91cAWnhGANX1XAANheIAL7UFAVyjaf8GHoX+6LI9/+aVGP8SMZ4A5GQ9/nTz+/9NS1wBUduT/0yj/v6N1fYA6CWY/mEsZADJJTIB1PQ5AK6rt//5SnAAppweAN7dYf/zXUn++2Vk/9jZXf/+irv/jr40/zvLsf/IXjQAc3Ke/6WYaAF+Y+L/dp30AWvIEADBWuUAeQZYAJwgXf598dP/Du2d/6WaFf+44Bb/+hiY/3FNHwD3qxf/7bHM/zSJkf/CtnIA4OqVAApvZwHJgQQA7o5OADQGKP9u1aX+PM/9AD7XRQBgYQD/MS3KAHh5Fv/rizABxi0i/7YyGwGD0lv/LjaAAK97af/GjU7+Q/Tv//U2Z/5OJvL/Alz5/vuuV/+LP5AAGGwb/yJmEgEiFpgAQuV2/jKPYwCQqZUBdh6YALIIeQEInxIAWmXm/4EddwBEJAsB6Lc3ABf/YP+hKcH/P4veAA+z8wD/ZA//UjWHAIk5lQFj8Kr/Fubk/jG0Uv89UisAbvXZAMd9PQAu/TQAjcXbANOfwQA3eWn+txSBAKl3qv/Lsov/hyi2/6wNyv9BspQACM8rAHo1fwFKoTAA49aA/lYL8/9kVgcB9USG/z0rFQGYVF7/vjz6/u926P/WiCUBcUxr/11oZAGQzhf/bpaaAeRnuQDaMTL+h02L/7kBTgAAoZT/YR3p/8+Ulf+gqAAAW4Cr/wYcE/4Lb/cAJ7uW/4rolQB1PkT/P9i8/+vqIP4dOaD/GQzxAak8vwAgg43/7Z97/17FXv50/gP/XLNh/nlhXP+qcA4AFZX4APjjAwBQYG0AS8BKAQxa4v+hakQB0HJ//3Iq//5KGkr/97OW/nmMPACTRsj/1iih/6G8yf+NQYf/8nP8AD4vygC0lf/+gjftAKURuv8KqcIAnG3a/3CMe/9ogN/+sY5s/3kl2/+ATRL/b2wXAVvASwCu9Rb/BOw+/ytAmQHjrf4A7XqEAX9Zuv+OUoD+/FSuAFqzsQHz1lf/Zzyi/9CCDv8LgosAzoHb/17Znf/v5ub/dHOf/qRrXwAz2gIB2H3G/4zKgP4LX0T/Nwld/q6ZBv/MrGAARaBuANUmMf4bUNUAdn1yAEZGQ/8Pjkn/g3q5//MUMv6C7SgA0p+MAcWXQf9UmUIAw35aABDu7AF2u2b/AxiF/7tF5gA4xVwB1UVe/1CK5QHOB+YA3m/mAVvpd/8JWQcBAmIBAJRKhf8z9rT/5LFwATq9bP/Cy+3+FdHDAJMKIwFWneIAH6OL/jgHS/8+WnQAtTypAIqi1P5Rpx8AzVpw/yFw4wBTl3UBseBJ/66Q2f/mzE//Fk3o/3JO6gDgOX7+CTGNAPKTpQFotoz/p4QMAXtEfwDhVycB+2wIAMbBjwF5h8//rBZGADJEdP9lryj/+GnpAKbLBwBuxdoA1/4a/qji/QAfj2AAC2cpALeBy/5k90r/1X6EANKTLADH6hsBlC+1AJtbngE2aa//Ak6R/maaXwCAz3/+NHzs/4JURwDd89MAmKrPAN5qxwC3VF7+XMg4/4q2cwGOYJIAhYjkAGESlgA3+0IAjGYEAMpnlwAeE/j/M7jPAMrGWQA3xeH+qV/5/0JBRP+86n4Apt9kAXDv9ACQF8IAOie2APQsGP6vRLP/mHaaAbCiggDZcsz+rX5O/yHeHv8kAlv/Ao/zAAnr1wADq5cBGNf1/6gvpP7xks8ARYG0AETzcQCQNUj++y0OABduqABERE//bkZf/q5bkP8hzl//iSkH/xO7mf4j/3D/CZG5/jKdJQALcDEBZgi+/+rzqQE8VRcASie9AHQx7wCt1dIALqFs/5+WJQDEeLn/ImIG/5nDPv9h5kf/Zj1MABrU7P+kYRAAxjuSAKMXxAA4GD0AtWLBAPuT5f9ivRj/LjbO/+pS9gC3ZyYBbT7MAArw4ACSFnX/jpp4AEXUIwDQY3YBef8D/0gGwgB1EcX/fQ8XAJpPmQDWXsX/uTeT/z7+Tv5/UpkAbmY//2xSof9pu9QBUIonADz/Xf9IDLoA0vsfAb6nkP/kLBP+gEPoANb5a/6IkVb/hC6wAL274//QFowA2dN0ADJRuv6L+h8AHkDGAYebZACgzhf+u6LT/xC8PwD+0DEAVVS/APHA8v+ZfpEB6qKi/+Zh2AFAh34AvpTfATQAK/8cJ70BQIjuAK/EuQBi4tX/f5/0AeKvPACg6Y4BtPPP/0WYWQEfZRUAkBmk/ou/0QBbGXkAIJMFACe6e/8/c+b/XafG/4/V3P+znBP/GUJ6ANag2f8CLT7/ak+S/jOJY/9XZOf/r5Ho/2W4Af+uCX0AUiWhASRyjf8w3o7/9bqaAAWu3f4/cpv/hzegAVAfhwB++rMB7NotABQckQEQk0kA+b2EARG9wP/fjsb/SBQP//o17f4PCxIAG9Nx/tVrOP+uk5L/YH4wABfBbQElol4Ax535/hiAu//NMbL+XaQq/yt36wFYt+3/2tIB/2v+KgDmCmP/ogDiANvtWwCBsssA0DJf/s7QX//3v1n+bupP/6U98wAUenD/9va5/mcEewDpY+YB21v8/8feFv+z9en/0/HqAG/6wP9VVIgAZToy/4OtnP53LTP/dukQ/vJa1gBen9sBAwPq/2JMXP5QNuYABeTn/jUY3/9xOHYBFIQB/6vS7AA48Z7/unMT/wjlrgAwLAABcnKm/wZJ4v/NWfQAieNLAfitOABKePb+dwML/1F4xv+IemL/kvHdAW3CTv/f8UYB1sip/2G+L/8vZ67/Y1xI/nbptP/BI+n+GuUg/978xgDMK0f/x1SsAIZmvgBv7mH+5ijmAOPNQP7IDOEAphneAHFFM/+PnxgAp7hKAB3gdP6e0OkAwXR+/9QLhf8WOowBzCQz/+geKwDrRrX/QDiS/qkSVP/iAQ3/yDKw/zTV9f6o0WEAv0c3ACJOnADokDoBuUq9ALqOlf5ARX//ocuT/7CXvwCI58v+o7aJAKF++/7pIEIARM9CAB4cJQBdcmAB/lz3/yyrRQDKdwv/vHYyAf9TiP9HUhoARuMCACDreQG1KZoAR4bl/sr/JAApmAUAmj9J/yK2fAB53Zb/GszVASmsVwBanZL/bYIUAEdryP/zZr0AAcOR/i5YdQAIzuMAv279/22AFP6GVTP/ibFwAdgiFv+DEND/eZWqAHITFwGmUB//cfB6AOiz+gBEbrT+0qp3AN9spP/PT+n/G+Xi/tFiUf9PRAcAg7lkAKodov8Romv/ORULAWTItf9/QaYBpYbMAGinqAABpE8Akoc7AUYygP9mdw3+4waHAKKOs/+gZN4AG+DbAZ5dw//qjYkAEBh9/+7OL/9hEWL/dG4M/2BzTQBb4+j/+P5P/1zlBv5YxosAzkuBAPpNzv+N9HsBikXcACCXBgGDpxb/7USn/se9lgCjq4r/M7wG/18dif6U4rMAtWvQ/4YfUv+XZS3/gcrhAOBIkwAwipf/w0DO/u3angBqHYn+/b3p/2cPEf/CYf8Asi2p/sbhmwAnMHX/h2pzAGEmtQCWL0H/U4Ll/vYmgQBc75r+W2N/AKFvIf/u2fL/g7nD/9W/nv8pltoAhKmDAFlU/AGrRoD/o/jL/gEytP98TFUB+29QAGNC7/+a7bb/3X6F/krMY/9Bk3f/Yzin/0/4lf90m+T/7SsO/kWJC/8W+vEBW3qP/8358wDUGjz/MLawATAXv//LeZj+LUrV/z5aEv71o+b/uWp0/1MjnwAMIQL/UCI+ABBXrv+tZVUAyiRR/qBFzP9A4bsAOs5eAFaQLwDlVvUAP5G+ASUFJwBt+xoAiZPqAKJ5kf+QdM7/xei5/7e+jP9JDP7/ixTy/6pa7/9hQrv/9bWH/t6INAD1BTP+yy9OAJhl2ABJF30A/mAhAevSSf8r0VgBB4FtAHpo5P6q8ssA8syH/8oc6f9BBn8An5BHAGSMXwBOlg0A+2t2AbY6ff8BJmz/jb3R/wibfQFxo1v/eU++/4bvbP9ML/gAo+TvABFvCgBYlUv/1+vvAKefGP8vl2z/a9G8AOnnY/4cypT/riOK/24YRP8CRbUAa2ZSAGbtBwBcJO3/3aJTATfKBv+H6of/GPreAEFeqP71+NL/p2zJ/v+hbwDNCP4AiA10AGSwhP8r137/sYWC/55PlABD4CUBDM4V/z4ibgHtaK//UIRv/46uSABU5bT+abOMAED4D//pihAA9UN7/tp51P8/X9oB1YWJ/4+2Uv8wHAsA9HKNAdGvTP+dtZb/uuUD/6SdbwHnvYsAd8q+/9pqQP9E6z/+YBqs/7svCwHXEvv/UVRZAEQ6gABecQUBXIHQ/2EPU/4JHLwA7wmkADzNmADAo2L/uBI8ANm2iwBtO3j/BMD7AKnS8P8lrFz+lNP1/7NBNAD9DXMAua7OAXK8lf/tWq0AK8fA/1hscQA0I0wAQhmU/90EB/+X8XL/vtHoAGIyxwCXltX/EkokATUoBwATh0H/GqxFAK7tVQBjXykAAzgQACegsf/Iatr+uURU/1u6Pf5Dj43/DfSm/2NyxgDHbqP/wRK6AHzv9gFuRBYAAusuAdQ8awBpKmkBDuaYAAcFgwCNaJr/1QMGAIPkov+zZBwB53tV/84O3wH9YOYAJpiVAWKJegDWzQP/4piz/waFiQCeRYz/caKa/7TzrP8bvXP/jy7c/9WG4f9+HUUAvCuJAfJGCQBazP//56qTABc4E/44fZ3/MLPa/0+2/f8m1L8BKet8AGCXHACHlL4Azfkn/jRgiP/ULIj/Q9GD//yCF//bgBT/xoF2AGxlCwCyBZIBPgdk/7XsXv4cGqQATBZw/3hmTwDKwOUByLDXAClA9P/OuE4Apy0/AaAjAP87DI7/zAmQ/9te5QF6G3AAvWlt/0DQSv/7fzcBAuLGACxM0QCXmE3/0hcuAcmrRf8s0+cAviXg//XEPv+ptd7/ItMRAHfxxf/lI5gBFUUo/7LioQCUs8EA28L+ASjOM//nXPoBQ5mqABWU8QCqRVL/eRLn/1xyAwC4PuYA4clX/5Jgov+18twArbvdAeI+qv84ftkBdQ3j/7Ms7wCdjZv/kN1TAOvR0AAqEaUB+1GFAHz1yf5h0xj/U9amAJokCf/4L38AWtuM/6HZJv7Ukz//QlSUAc8DAQDmhlkBf056/+CbAf9SiEoAspzQ/7oZMf/eA9IB5Za+/1WiNP8pVI3/SXtU/l0RlgB3ExwBIBbX/xwXzP+O8TT/5DR9AB1MzwDXp/r+r6TmADfPaQFtu/X/oSzcASllgP+nEF4AXdZr/3ZIAP5QPer/ea99AIup+wBhJ5P++sQx/6Wzbv7fRrv/Fo59AZqziv92sCoBCq6ZAJxcZgCoDaH/jxAgAPrFtP/LoywBVyAkAKGZFP97/A8AGeNQADxYjgARFskBms1N/yc/LwAIeo0AgBe2/swnE/8EcB3/FySM/9LqdP41Mj//eato/6DbXgBXUg7+5yoFAKWLf/5WTiYAgjxC/sseLf8uxHoB+TWi/4iPZ/7X0nIA5weg/qmYKv9vLfYAjoOH/4NHzP8k4gsAABzy/+GK1f/3Ltj+9QO3AGz8SgHOGjD/zTb2/9PGJP95IzIANNjK/yaLgf7ySZQAQ+eN/yovzABOdBkBBOG//waT5AA6WLEAeqXl//xTyf/gp2ABsbie//JpswH4xvAAhULLAf4kLwAtGHP/dz7+AMThuv57jawAGlUp/+JvtwDV55cABDsH/+6KlABCkyH/H/aN/9GNdP9ocB8AWKGsAFPX5v4vb5cALSY0AYQtzACKgG3+6XWG//O+rf7x7PAAUn/s/ijfof9utuH/e67vAIfykQEz0ZoAlgNz/tmk/P83nEUBVF7//+hJLQEUE9T/YMU7/mD7IQAmx0kBQKz3/3V0OP/kERIAPopnAfblpP/0dsn+ViCf/20iiQFV07oACsHB/nrCsQB67mb/otqrAGzZoQGeqiIAsC+bAbXkC/8InAAAEEtdAM5i/wE6miMADPO4/kN1Qv/m5XsAySpuAIbksv66bHb/OhOa/1KpPv9yj3MB78Qy/60wwf+TAlT/loaT/l/oSQBt4zT+v4kKACjMHv5MNGH/pOt+AP58vABKthUBeR0j//EeB/5V2tb/B1SW/lEbdf+gn5j+Qhjd/+MKPAGNh2YA0L2WAXWzXACEFoj/eMccABWBT/62CUEA2qOpAPaTxv9rJpABTq/N/9YF+v4vWB3/pC/M/ys3Bv+Dhs/+dGTWAGCMSwFq3JAAwyAcAaxRBf/HszT/JVTLAKpwrgALBFsARfQbAXWDXAAhmK//jJlr//uHK/5XigT/xuqT/nmYVP/NZZsBnQkZAEhqEf5smQD/veW6AMEIsP+uldEA7oIdAOnWfgE94mYAOaMEAcZvM/8tT04Bc9IK/9oJGf+ei8b/01K7/lCFUwCdgeYB84WG/yiIEABNa0//t1VcAbHMygCjR5P/mEW+AKwzvAH60qz/0/JxAVlZGv9AQm/+dJgqAKEnG/82UP4AatFzAWd8YQDd5mL/H+cGALLAeP4P2cv/fJ5PAHCR9wBc+jABo7XB/yUvjv6QvaX/LpLwAAZLgAApncj+V3nVAAFx7AAFLfoAkAxSAB9s5wDh73f/pwe9/7vkhP9uvSIAXizMAaI0xQBOvPH+ORSNAPSSLwHOZDMAfWuU/hvDTQCY/VoBB4+Q/zMlHwAidyb/B8V2AJm80wCXFHT+9UE0/7T9bgEvsdEAoWMR/3beygB9s/wBezZ+/5E5vwA3unkACvOKAM3T5f99nPH+lJy5/+MTvP98KSD/HyLO/hE5UwDMFiX/KmBiAHdmuAEDvhwAblLa/8jMwP/JkXYAdcySAIQgYgHAwnkAaqH4Ae1YfAAX1BoAzata//gw2AGNJeb/fMsA/p6oHv/W+BUAcLsH/0uF7/9K4/P/+pNGANZ4ogCnCbP/Fp4SANpN0QFhbVH/9CGz/zk0Of9BrNL/+UfR/46p7gCevZn/rv5n/mIhDgCNTOb/cYs0/w861ACo18n/+MzXAd9EoP85mrf+L+d5AGqmiQBRiIoApSszAOeLPQA5Xzv+dmIZ/5c/7AFevvr/qblyAQX6Ov9LaWEB19+GAHFjowGAPnAAY2qTAKPDCgAhzbYA1g6u/4Em5/81tt8AYiqf//cNKAC80rEBBhUA//89lP6JLYH/WRp0/n4mcgD7MvL+eYaA/8z5p/6l69cAyrHzAIWNPgDwgr4Bbq//AAAUkgEl0nn/ByeCAI76VP+NyM8ACV9o/wv0rgCG6H4ApwF7/hDBlf/o6e8B1UZw//x0oP7y3tz/zVXjAAe5OgB29z8BdE2x/z71yP4/EiX/azXo/jLd0wCi2wf+Al4rALY+tv6gTsj/h4yqAOu45ACvNYr+UDpN/5jJAgE/xCIABR64AKuwmgB5O84AJmMnAKxQTf4AhpcAuiHx/l793/8scvwAbH45/8koDf8n5Rv/J+8XAZd5M/+ZlvgACuqu/3b2BP7I9SYARaHyARCylgBxOIIAqx9pABpYbP8xKmoA+6lCAEVdlQAUOf4ApBlvAFq8Wv/MBMUAKNUyAdRghP9YirT+5JJ8/7j29wBBdVb//WbS/v55JACJcwP/PBjYAIYSHQA74mEAsI5HAAfRoQC9VDP+m/pIANVU6/8t3uAA7pSP/6oqNf9Op3UAugAo/32xZ/9F4UIA4wdYAUusBgCpLeMBECRG/zICCf+LwRYAj7fn/tpFMgDsOKEB1YMqAIqRLP6I5Sj/MT8j/z2R9f9lwAL+6KdxAJhoJgF5udoAeYvT/nfwIwBBvdn+u7Oi/6C75gA++A7/PE5hAP/3o//hO1v/a0c6//EvIQEydewA27E//vRaswAjwtf/vUMy/xeHgQBovSX/uTnCACM+5//c+GwADOeyAI9QWwGDXWX/kCcCAf/6sgAFEez+iyAuAMy8Jv71czT/v3FJ/r9sRf8WRfUBF8uyAKpjqgBB+G8AJWyZ/0AlRQAAWD7+WZSQ/79E4AHxJzUAKcvt/5F+wv/dKv3/GWOXAGH93wFKczH/Bq9I/zuwywB8t/kB5ORjAIEMz/6owMP/zLAQ/pjqqwBNJVX/IXiH/47C4wEf1joA1bt9/+guPP++dCr+l7IT/zM+7f7M7MEAwug8AKwinf+9ELj+ZwNf/43pJP4pGQv/FcOmAHb1LQBD1ZX/nwwS/7uk4wGgGQUADE7DASvF4QAwjin+xJs8/9/HEgGRiJwA/HWp/pHi7gDvF2sAbbW8/+ZwMf5Jqu3/57fj/1DcFADCa38Bf81lAC40xQHSqyT/WANa/ziXjQBgu///Kk7IAP5GRgH0fagAzESKAXzXRgBmQsj+ETTkAHXcj/7L+HsAOBKu/7qXpP8z6NABoOQr//kdGQFEvj8A6AoAAAABAgOglFA=")}var r=new ArrayBuffer(16);var s=new Int32Array(r);var t=new Float32Array(r);var u=new Float64Array(r);function v(w){return s[w]}function x(w,y){s[w]=y}function z(){return u[0]}function A(y){u[0]=y}function ca(da){var B=da.a;var C=B.buffer;var D=new Int8Array(C);var E=new Int16Array(C);var F=new Int32Array(C);var G=new Uint8Array(C);var H=new Uint16Array(C);var I=new Uint32Array(C);var J=new Float32Array(C);var K=new Float64Array(C);var L=Math.imul;var M=Math.fround;var N=Math.abs;var O=Math.clz32;var P=Math.min;var Q=Math.max;var R=Math.floor;var S=Math.ceil;var T=Math.trunc;var U=Math.sqrt;var V=da.abort;var W=NaN;var X=Infinity;var Y=da.b;var Z=da.c;var _=5280928;var $=0; +// EMSCRIPTEN_START_FUNCS +function Gb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ha=0,ia=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,ra=0,sa=0,ua=0,va=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0;g=_-2592|0;_=g;d=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);F[g+24>>2]=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);F[g+28>>2]=d;d=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);F[g+16>>2]=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);F[g+20>>2]=d;d=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);f=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);F[g>>2]=f;F[g+4>>2]=d;d=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);F[g+8>>2]=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);F[g+12>>2]=d;D[g|0]=f&248;D[g+31|0]=G[g+31|0]&63|64;e=G[c+3|0];b=G[c+2|0];d=b>>>16|0;F[g+112>>2]=e<<24&50331648|(G[c|0]|G[c+1|0]<<8|b<<16);F[g+116>>2]=d;b=G[c+4|0];f=b>>>24|0;e=b<<8|e;b=G[c+5|0];d=b>>>16|0;e=e|b<<16;d=d|f;n=G[c+6|0];b=n;f=b>>>8|0;h=b<<24;b=d|f;d=e|h;F[g+120>>2]=((b&3)<<30|d>>>2)&33554431;F[g+124>>2]=0;b=G[c+7|0];f=b>>>24|0;e=b<<8|n;b=G[c+8|0];d=b>>>16|0;e=e|b<<16;d=d|f;n=G[c+9|0];b=n;f=b>>>8|0;h=b<<24;b=d|f;d=e|h;F[g+128>>2]=((b&7)<<29|d>>>3)&67108863;F[g+132>>2]=0;b=G[c+10|0];f=b>>>24|0;e=b<<8|n;b=G[c+11|0];d=b>>>16|0;e=e|b<<16;d=d|f;n=G[c+12|0];b=n;f=b>>>8|0;h=b<<24;b=d|f;d=e|h;F[g+136>>2]=((b&31)<<27|d>>>5)&33554431;F[g+140>>2]=0;b=G[c+13|0];f=b>>>24|0;e=b<<8|n;b=G[c+14|0];d=b>>>16|0;e=e|b<<16;d=d|f;b=G[c+15|0];f=b>>>8|0;n=b<<24;b=d|f;f=e|n;F[g+144>>2]=(b&63)<<26|f>>>6;F[g+148>>2]=b>>>6;e=G[c+19|0];b=G[c+18|0];f=b>>>16|0;F[g+152>>2]=e<<24&16777216|(G[c+16|0]|G[c+17|0]<<8|b<<16);F[g+156>>2]=f;b=G[c+20|0];d=b>>>24|0;f=b<<8|e;b=d;e=f;f=G[c+21|0];d=f>>>16|0;f=e|f<<16;e=b|d;n=G[c+22|0];b=n;d=b>>>8|0;h=b<<24;b=d|e;d=f|h;F[g+160>>2]=((b&1)<<31|d>>>1)&67108863;F[g+164>>2]=0;b=G[c+23|0];d=b>>>24|0;e=b<<8|n;b=G[c+24|0];f=b>>>16|0;e=e|b<<16;f=d|f;n=G[c+25|0];b=n;d=b>>>8|0;h=b<<24;b=d|f;d=e|h;F[g+168>>2]=((b&7)<<29|d>>>3)&33554431;F[g+172>>2]=0;b=G[c+26|0];d=b>>>24|0;f=b<<8|n;b=d;e=f;f=G[c+27|0];d=f>>>16|0;f=e|f<<16;e=b|d;n=G[c+28|0];b=n;d=b>>>8|0;h=b<<24;b=d|e;d=f|h;F[g+176>>2]=((b&15)<<28|d>>>4)&67108863;F[g+180>>2]=0;b=G[c+29|0];d=b>>>24|0;e=b<<8|n;b=G[c+30|0];f=b>>>16|0;e=e|b<<16;f=d|f;b=G[c+31|0];d=b>>>8|0;c=b<<24|e;b=d|f;F[g+184>>2]=((b&63)<<26|c>>>6)&33554431;F[g+188>>2]=0;w=g+1152|0;qa(w,0,152);F[g+1152>>2]=1;F[g+1156>>2]=0;b=g+992|0;qa(b,0,152);F[g+992>>2]=1;F[g+996>>2]=0;c=g+832|0;qa(c,0,152);n=g+672|0;qa(n,0,152);l=g+512|0;qa(l,0,152);F[g+512>>2]=1;F[g+516>>2]=0;C=g+352|0;qa(C,0,152);U=g+192|0;qa(U,0,152);F[g+192>>2]=1;F[g+196>>2]=0;qa(g+1392|0,0,72);m=g+1312|0;ja(m,g+112|0,80);Na=g+2512|0;while(1){va=G[(g-ua|0)+31|0];xa=0;while(1){z=n;I=0-((va&128)>>>7|0)|0;n=m;f=F[n>>2];e=F[b>>2];d=I&(f^e);h=b;e=d^e;F[b>>2]=e;F[b+4>>2]=e>>31;d=d^f;F[n>>2]=d;F[n+4>>2]=d>>31;f=F[n+8>>2];e=F[b+8>>2];d=I&(f^e);e=d^e;F[b+8>>2]=e;F[b+12>>2]=e>>31;d=d^f;F[n+8>>2]=d;F[n+12>>2]=d>>31;f=F[n+16>>2];e=F[b+16>>2];d=I&(f^e);e=d^e;F[b+16>>2]=e;F[b+20>>2]=e>>31;d=d^f;F[n+16>>2]=d;F[n+20>>2]=d>>31;f=F[n+24>>2];e=F[b+24>>2];d=I&(f^e);e=d^e;F[b+24>>2]=e;F[b+28>>2]=e>>31;d=d^f;F[n+24>>2]=d;F[n+28>>2]=d>>31;f=F[n+32>>2];e=F[b+32>>2];d=I&(f^e);e=d^e;F[b+32>>2]=e;F[b+36>>2]=e>>31;d=d^f;F[n+32>>2]=d;F[n+36>>2]=d>>31;f=F[n+40>>2];e=F[b+40>>2];d=I&(f^e);e=d^e;F[b+40>>2]=e;F[b+44>>2]=e>>31;d=d^f;F[n+40>>2]=d;F[n+44>>2]=d>>31;f=F[n+48>>2];e=F[b+48>>2];d=I&(f^e);e=d^e;F[b+48>>2]=e;F[b+52>>2]=e>>31;d=d^f;F[n+48>>2]=d;F[n+52>>2]=d>>31;f=F[n+56>>2];e=F[b+56>>2];d=I&(f^e);e=d^e;F[b+56>>2]=e;F[b+60>>2]=e>>31;d=d^f;F[n+56>>2]=d;F[n+60>>2]=d>>31;f=F[n+64>>2];e=F[b+64>>2];d=I&(f^e);e=d^e;F[b+64>>2]=e;F[b+68>>2]=e>>31;d=d^f;F[n+64>>2]=d;F[n+68>>2]=d>>31;f=F[n+72>>2];e=F[b+72>>2];d=I&(f^e);e=d^e;F[b+72>>2]=e;F[b+76>>2]=e>>31;d=d^f;F[n+72>>2]=d;F[n+76>>2]=d>>31;i=w;f=F[i>>2];e=F[c>>2];d=I&(f^e);e=d^e;F[c>>2]=e;F[c+4>>2]=e>>31;d=d^f;F[i>>2]=d;F[i+4>>2]=d>>31;f=F[i+8>>2];e=F[c+8>>2];d=I&(f^e);e=d^e;F[c+8>>2]=e;F[c+12>>2]=e>>31;d=d^f;F[i+8>>2]=d;F[i+12>>2]=d>>31;f=F[i+16>>2];e=F[c+16>>2];d=I&(f^e);e=d^e;F[c+16>>2]=e;F[c+20>>2]=e>>31;d=d^f;F[i+16>>2]=d;F[i+20>>2]=d>>31;f=F[i+24>>2];e=F[c+24>>2];d=I&(f^e);e=d^e;F[c+24>>2]=e;F[c+28>>2]=e>>31;d=d^f;F[i+24>>2]=d;F[i+28>>2]=d>>31;f=F[i+32>>2];e=F[c+32>>2];d=I&(f^e);e=d^e;F[c+32>>2]=e;F[c+36>>2]=e>>31;d=d^f;F[i+32>>2]=d;F[i+36>>2]=d>>31;d=F[i+40>>2];t=F[c+40>>2];q=I&(d^t);d=d^q;F[i+40>>2]=d;F[i+44>>2]=d>>31;d=F[i+48>>2];A=F[c+48>>2];B=I&(d^A);d=d^B;F[i+48>>2]=d;F[i+52>>2]=d>>31;d=F[i+56>>2];k=c;x=F[c+56>>2];u=I&(d^x);d=d^u;F[i+56>>2]=d;F[i+60>>2]=d>>31;d=F[i+64>>2];M=F[c+64>>2];y=I&(d^M);d=d^y;F[i+64>>2]=d;F[i+68>>2]=d>>31;d=F[i+72>>2];Q=F[c+72>>2];v=I&(d^Q);d=d^v;F[i+72>>2]=d;F[i+76>>2]=d>>31;N=F[c+4>>2];O=F[b+4>>2];e=N+O|0;s=F[c>>2];w=F[b>>2];f=w;d=s+f|0;F[b>>2]=d;F[b+4>>2]=d>>>0<f>>>0?e+1|0:e;P=F[c+12>>2];J=F[b+12>>2];e=P+J|0;c=F[c+8>>2];m=F[b+8>>2];d=m;b=c+d|0;F[h+8>>2]=b;F[h+12>>2]=b>>>0<d>>>0?e+1|0:e;V=F[k+20>>2];E=F[h+20>>2];d=V+E|0;j=F[k+16>>2];p=F[h+16>>2];f=p;b=j+f|0;F[h+16>>2]=b;F[h+20>>2]=b>>>0<f>>>0?d+1|0:d;Y=F[k+28>>2];X=F[h+28>>2];f=Y+X|0;o=F[k+24>>2];r=F[h+24>>2];d=r;b=o+d|0;F[h+24>>2]=b;F[h+28>>2]=b>>>0<d>>>0?f+1|0:f;b=F[k+32>>2];W=F[k+36>>2];f=F[h+40>>2];d=q^t;q=d;e=f+d|0;S=F[h+44>>2];T=d>>31;d=S+T|0;F[h+40>>2]=e;F[h+44>>2]=e>>>0<q>>>0?d+1|0:d;t=F[h+48>>2];e=A^B;B=e;d=t+e|0;R=F[h+52>>2];Z=e>>31;e=R+Z|0;F[h+48>>2]=d;F[h+52>>2]=d>>>0<B>>>0?e+1|0:e;A=F[h+56>>2];e=x^u;u=e;d=A+e|0;aa=F[h+60>>2];ba=e>>31;e=aa+ba|0;F[h+56>>2]=d;F[h+60>>2]=d>>>0<u>>>0?e+1|0:e;x=F[h+64>>2];d=y^M;y=d;e=x+d|0;K=F[h+68>>2];H=d>>31;d=K+H|0;F[h+64>>2]=e;F[h+68>>2]=e>>>0<y>>>0?d+1|0:d;d=F[h+72>>2];e=v^Q;v=e;M=d+e|0;ca=F[h+76>>2];da=e>>31;e=ca+da|0;F[h+72>>2]=M;F[h+76>>2]=v>>>0>M>>>0?e+1|0:e;ea=F[h+36>>2];e=ea+W|0;M=F[h+32>>2];Q=M+b|0;F[h+32>>2]=Q;F[h+36>>2]=M>>>0>Q>>>0?e+1|0:e;F[k+72>>2]=d-v;F[k+76>>2]=ca-((d>>>0<v>>>0)+da|0);F[k+64>>2]=x-y;F[k+68>>2]=K-((x>>>0<y>>>0)+H|0);F[k+56>>2]=A-u;F[k+60>>2]=aa-((u>>>0>A>>>0)+ba|0);F[k+48>>2]=t-B;F[k+52>>2]=R-((t>>>0<B>>>0)+Z|0);F[k+40>>2]=f-q;F[k+44>>2]=S-((f>>>0<q>>>0)+T|0);F[k+32>>2]=M-b;F[k+36>>2]=ea-((b>>>0>M>>>0)+W|0);F[k+24>>2]=r-o;F[k+28>>2]=X-((o>>>0>r>>>0)+Y|0);F[k+16>>2]=p-j;F[k+20>>2]=E-((j>>>0>p>>>0)+V|0);F[k+8>>2]=m-c;F[k+12>>2]=J-((c>>>0>m>>>0)+P|0);F[k>>2]=w-s;F[k+4>>2]=O-((s>>>0>w>>>0)+N|0);Q=F[i+4>>2];N=F[n+4>>2];d=Q+N|0;b=F[i>>2];c=F[n>>2];f=b+c|0;F[n>>2]=f;F[n+4>>2]=c>>>0>f>>>0?d+1|0:d;O=F[i+12>>2];P=F[n+12>>2];e=O+P|0;s=F[i+8>>2];w=F[n+8>>2];f=w;d=s+f|0;F[n+8>>2]=d;F[n+12>>2]=d>>>0<f>>>0?e+1|0:e;J=F[i+20>>2];V=F[n+20>>2];f=J+V|0;m=F[i+16>>2];j=F[n+16>>2];e=j;d=m+e|0;F[n+16>>2]=d;F[n+20>>2]=d>>>0<e>>>0?f+1|0:f;E=F[i+28>>2];Y=F[n+28>>2];d=E+Y|0;p=F[i+24>>2];o=F[n+24>>2];e=o;f=p+e|0;F[n+24>>2]=f;F[n+28>>2]=e>>>0>f>>>0?d+1|0:d;X=F[i+36>>2];S=F[n+36>>2];e=X+S|0;r=F[i+32>>2];q=F[n+32>>2];f=q;d=r+f|0;F[n+32>>2]=d;F[n+36>>2]=d>>>0<f>>>0?e+1|0:e;T=F[i+44>>2];R=F[n+44>>2];d=T+R|0;t=F[i+40>>2];B=F[n+40>>2];e=B;f=t+e|0;F[n+40>>2]=f;F[n+44>>2]=e>>>0>f>>>0?d+1|0:d;Z=F[i+52>>2];aa=F[n+52>>2];e=Z+aa|0;A=F[i+48>>2];u=F[n+48>>2];f=u;d=A+f|0;F[n+48>>2]=d;F[n+52>>2]=d>>>0<f>>>0?e+1|0:e;ba=F[i+60>>2];K=F[n+60>>2];f=ba+K|0;x=F[i+56>>2];y=F[n+56>>2];e=y;d=x+e|0;F[n+56>>2]=d;F[n+60>>2]=d>>>0<e>>>0?f+1|0:f;H=F[i+68>>2];ca=F[n+68>>2];d=H+ca|0;f=F[i+64>>2];v=F[n+64>>2];e=f+v|0;F[n+64>>2]=e;F[n+68>>2]=e>>>0<v>>>0?d+1|0:d;da=F[i+76>>2];ea=F[n+76>>2];e=da+ea|0;d=F[i+72>>2];M=F[n+72>>2];W=d+M|0;F[n+72>>2]=W;F[n+76>>2]=M>>>0>W>>>0?e+1|0:e;F[i+72>>2]=M-d;F[i+76>>2]=ea-((d>>>0>M>>>0)+da|0);F[i+64>>2]=v-f;F[i+68>>2]=ca-((f>>>0>v>>>0)+H|0);F[i+56>>2]=y-x;F[i+60>>2]=K-((x>>>0>y>>>0)+ba|0);F[i+48>>2]=u-A;F[i+52>>2]=aa-((u>>>0<A>>>0)+Z|0);F[i+40>>2]=B-t;F[i+44>>2]=R-((t>>>0>B>>>0)+T|0);F[i+32>>2]=q-r;F[i+36>>2]=S-((q>>>0<r>>>0)+X|0);F[i+24>>2]=o-p;F[i+28>>2]=Y-((p>>>0>o>>>0)+E|0);F[i+16>>2]=j-m;F[i+20>>2]=V-((j>>>0<m>>>0)+J|0);F[i+8>>2]=w-s;F[i+12>>2]=P-((s>>>0>w>>>0)+O|0);F[i>>2]=c-b;F[i+4>>2]=N-((b>>>0>c>>>0)+Q|0);ya=g+1952|0;ta(ya,n,k);ca=g+1792|0;ta(ca,h,i);Oa=F[g+2024>>2];t=F[g+2028>>2];B=F[g+2016>>2];Pa=F[g+2020>>2];da=F[g+2096>>2];ea=F[g+2100>>2];A=F[g+2008>>2];Qa=F[g+2012>>2];ha=F[g+2088>>2];ia=F[g+2092>>2];u=F[g+2e3>>2];Ra=F[g+2004>>2];ka=F[g+2080>>2];la=F[g+2084>>2];x=F[g+1992>>2];Sa=F[g+1996>>2];ma=F[g+2072>>2];ra=F[g+2076>>2];y=F[g+1984>>2];Ta=F[g+1988>>2];na=F[g+2064>>2];za=F[g+2068>>2];v=F[g+1976>>2];Ua=F[g+1980>>2];oa=F[g+2056>>2];pa=F[g+2060>>2];s=F[g+1968>>2];H=F[g+1972>>2];q=F[g+2048>>2];R=F[g+2052>>2];w=F[g+1960>>2];fa=F[g+1964>>2];Z=F[g+2040>>2];aa=F[g+2044>>2];j=F[g+1952>>2];sa=F[g+1956>>2];ba=F[g+2032>>2];K=F[g+2036>>2];F[g+2032>>2]=0;F[g+2036>>2]=0;Va=F[g+1864>>2];M=F[g+1868>>2];W=F[g+1856>>2];Wa=F[g+1860>>2];Aa=F[g+1936>>2];Ba=F[g+1940>>2];Q=F[g+1848>>2];Xa=F[g+1852>>2];Ca=F[g+1928>>2];Da=F[g+1932>>2];N=F[g+1840>>2];Ya=F[g+1844>>2];Ea=F[g+1920>>2];Fa=F[g+1924>>2];O=F[g+1832>>2];Za=F[g+1836>>2];Ga=F[g+1912>>2];Ha=F[g+1916>>2];P=F[g+1824>>2];_a=F[g+1828>>2];Ia=F[g+1904>>2];Ja=F[g+1908>>2];J=F[g+1816>>2];$a=F[g+1820>>2];Ka=F[g+1896>>2];La=F[g+1900>>2];b=F[g+1808>>2];d=F[g+1812>>2];f=F[g+1888>>2];e=F[g+1892>>2];c=F[g+1800>>2];Y=F[g+1804>>2];p=F[g+1880>>2];o=F[g+1884>>2];m=F[g+1792>>2];X=F[g+1796>>2];V=F[g+1872>>2];E=F[g+1876>>2];F[g+1872>>2]=0;F[g+1876>>2]=0;d=d+e|0;r=b+f|0;d=r>>>0<b>>>0?d+1|0:d;f=se(f,e,18,0);b=f+r|0;e=$+d|0;S=b;r=b>>>0<f>>>0?e+1|0:e;f=o+Y|0;b=c+p|0;f=b>>>0<c>>>0?f+1|0:f;c=se(p,o,18,0);b=c+b|0;d=$+f|0;o=b;c=b>>>0<c>>>0?d+1|0:d;e=E+X|0;b=m+V|0;e=b>>>0<m>>>0?e+1|0:e;f=se(V,E,18,0);b=f+b|0;d=$+e|0;d=b>>>0<f>>>0?d+1|0:d;V=d;m=d>>31>>>6|0;f=m+b|0;p=f;e=f>>>0<m>>>0?d+1|0:d;E=e;d=e>>26;m=(e&67108863)<<6|f>>>26;e=m+o|0;f=c+d|0;c=e;f=e>>>0<m>>>0?f+1|0:f;Y=f;e=f;m=e>>31>>>7|0;d=m+c|0;o=d;e=d>>>0<m>>>0?e+1|0:e;X=e;f=e>>25;m=(e&33554431)<<7|d>>>25;e=m+S|0;d=f+r|0;f=e;d=e>>>0<m>>>0?d+1|0:d;e=d;r=d>>31>>>6|0;m=r+f|0;Ma=m;d=m>>>0<r>>>0?d+1|0:d;m=d;r=e;e=Ma&-67108864;d=r-((e>>>0>f>>>0)+d|0)|0;S=f-e|0;T=d;f=H+R|0;d=q+s|0;f=d>>>0<s>>>0?f+1|0:f;s=se(q,R,18,0);d=s+d|0;e=$+f|0;H=d;R=d>>>0<s>>>0?e+1|0:e;d=aa+fa|0;f=w+Z|0;d=f>>>0<w>>>0?d+1|0:d;e=se(Z,aa,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;q=f;e=K+sa|0;f=j+ba|0;e=f>>>0<j>>>0?e+1|0:e;w=se(ba,K,18,0);s=w+f|0;f=$+e|0;f=s>>>0<w>>>0?f+1|0:f;Z=f;e=f;j=e>>31>>>6|0;w=j+s|0;r=w;e=j>>>0>r>>>0?e+1|0:e;aa=e;f=e>>26;w=(e&67108863)<<6|r>>>26;e=w+q|0;d=d+f|0;d=e>>>0<w>>>0?d+1|0:d;w=e;ba=d;j=d>>31>>>7|0;f=j+w|0;q=f;e=f>>>0<j>>>0?d+1|0:d;K=e;d=e>>25;e=(e&33554431)<<7|f>>>25;f=e+H|0;d=d+R|0;d=e>>>0>f>>>0?d+1|0:d;e=f;R=d>>31>>>6|0;j=R+e|0;fa=j;f=j>>>0<R>>>0?d+1|0:d;j=f;R=fa&-67108864;H=e-R|0;sa=H+S|0;f=d-((e>>>0<R>>>0)+f|0)|0;d=f+T|0;F[g+1968>>2]=sa;F[g+1972>>2]=H>>>0>sa>>>0?d+1|0:d;F[g+1808>>2]=H-S;F[g+1812>>2]=f-((H>>>0<S>>>0)+T|0);f=La+$a|0;d=J+Ka|0;f=d>>>0<J>>>0?f+1|0:f;J=se(Ka,La,18,0);e=J+d|0;d=$+f|0;d=e>>>0<J>>>0?d+1|0:d;f=e;e=m>>26;m=(m&67108863)<<6|Ma>>>26;f=f+m|0;e=d+e|0;e=f>>>0<m>>>0?e+1|0:e;d=e;J=d>>31>>>7|0;m=f+J|0;R=m;d=m>>>0<J>>>0?d+1|0:d;m=d;H=e;e=R&-33554432;d=H-((e>>>0>f>>>0)+d|0)|0;J=f-e|0;S=d;e=pa+Ua|0;d=v+oa|0;e=d>>>0<v>>>0?e+1|0:e;v=se(oa,pa,18,0);f=v+d|0;d=$+e|0;d=f>>>0<v>>>0?d+1|0:d;e=f;f=j>>26;j=(j&67108863)<<6|fa>>>26;e=e+j|0;d=d+f|0;f=e;d=e>>>0<j>>>0?d+1|0:d;v=d>>31>>>7|0;j=e+v|0;H=j;e=j>>>0<v>>>0?d+1|0:d;j=e;pa=H&-33554432;T=f-pa|0;oa=T+J|0;d=d-((f>>>0<pa>>>0)+e|0)|0;f=d+S|0;F[g+1976>>2]=oa;F[g+1980>>2]=T>>>0>oa>>>0?f+1|0:f;F[g+1816>>2]=T-J;F[g+1820>>2]=d-((J>>>0>T>>>0)+S|0);e=Ja+_a|0;d=P+Ia|0;e=d>>>0<P>>>0?e+1|0:e;v=se(Ia,Ja,18,0);f=v+d|0;d=$+e|0;e=f;f=e>>>0<v>>>0?d+1|0:d;d=m>>25;v=(m&33554431)<<7|R>>>25;m=v+e|0;e=d+f|0;d=m;e=d>>>0<v>>>0?e+1|0:e;v=e>>31>>>6|0;m=v+d|0;S=m;f=m>>>0<v>>>0?e+1|0:e;m=f;v=e;e=S&-67108864;f=v-((e>>>0>d>>>0)+f|0)|0;v=d-e|0;P=f;d=za+Ta|0;f=y+na|0;d=f>>>0<y>>>0?d+1|0:d;e=se(na,za,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;e=j>>25;y=(j&33554431)<<7|H>>>25;j=y+f|0;f=d+e|0;d=j;f=d>>>0<y>>>0?f+1|0:f;y=f>>31>>>6|0;j=d+y|0;e=f;T=j;e=j>>>0<y>>>0?e+1|0:e;j=e;H=T&-67108864;J=d-H|0;R=J+v|0;d=f-((d>>>0<H>>>0)+e|0)|0;e=d+P|0;F[g+1984>>2]=R;F[g+1988>>2]=J>>>0>R>>>0?e+1|0:e;F[g+1824>>2]=J-v;F[g+1828>>2]=d-((v>>>0>J>>>0)+P|0);e=Ha+Za|0;d=O+Ga|0;e=d>>>0<O>>>0?e+1|0:e;y=se(Ga,Ha,18,0);d=y+d|0;f=$+e|0;f=d>>>0<y>>>0?f+1|0:f;e=d;d=m>>26;m=(m&67108863)<<6|S>>>26;e=e+m|0;d=d+f|0;f=e;d=e>>>0<m>>>0?d+1|0:d;y=d>>31>>>7|0;m=e+y|0;P=m;e=m>>>0<y>>>0?d+1|0:d;m=e;e=P&-33554432;d=d-(m+(e>>>0>f>>>0)|0)|0;y=f-e|0;v=d;d=ra+Sa|0;f=x+ma|0;d=f>>>0<x>>>0?d+1|0:d;x=se(ma,ra,18,0);e=x+f|0;f=$+d|0;f=e>>>0<x>>>0?f+1|0:f;d=e;e=j>>26;j=(j&67108863)<<6|T>>>26;d=d+j|0;e=e+f|0;f=d;e=d>>>0<j>>>0?e+1|0:e;d=e;x=d>>31>>>7|0;j=x+f|0;J=j;d=j>>>0<x>>>0?d+1|0:d;j=d;T=J&-33554432;O=f-T|0;S=O+y|0;d=e-((f>>>0<T>>>0)+d|0)|0;e=d+v|0;F[g+1992>>2]=S;F[g+1996>>2]=O>>>0>S>>>0?e+1|0:e;F[g+1832>>2]=O-y;F[g+1836>>2]=d-((y>>>0>O>>>0)+v|0);d=Fa+Ya|0;f=N+Ea|0;d=f>>>0<N>>>0?d+1|0:d;x=se(Ea,Fa,18,0);f=x+f|0;e=$+d|0;e=f>>>0<x>>>0?e+1|0:e;d=f;f=m>>25;x=(m&33554431)<<7|P>>>25;m=d+x|0;d=e+f|0;f=m;d=f>>>0<x>>>0?d+1|0:d;x=d>>31>>>6|0;m=f+x|0;N=m;e=m>>>0<x>>>0?d+1|0:d;m=e;e=N&-67108864;d=d-(m+(e>>>0>f>>>0)|0)|0;x=f-e|0;y=d;f=la+Ra|0;d=u+ka|0;f=d>>>0<u>>>0?f+1|0:f;u=se(ka,la,18,0);d=u+d|0;e=$+f|0;e=d>>>0<u>>>0?e+1|0:e;f=d;d=j>>25;j=(j&33554431)<<7|J>>>25;f=f+j|0;e=d+e|0;e=f>>>0<j>>>0?e+1|0:e;d=e;u=d>>31>>>6|0;j=f+u|0;O=j;d=j>>>0<u>>>0?d+1|0:d;j=d;J=O&-67108864;v=f-J|0;P=v+x|0;f=e-((f>>>0<J>>>0)+d|0)|0;d=f+y|0;F[g+2e3>>2]=P;F[g+2004>>2]=v>>>0>P>>>0?d+1|0:d;F[g+1840>>2]=v-x;F[g+1844>>2]=f-((v>>>0<x>>>0)+y|0);d=Da+Xa|0;f=Q+Ca|0;d=f>>>0<Q>>>0?d+1|0:d;u=se(Ca,Da,18,0);f=u+f|0;e=$+d|0;e=f>>>0<u>>>0?e+1|0:e;d=e;e=m>>26;u=(m&67108863)<<6|N>>>26;m=u+f|0;f=d+e|0;e=m;f=e>>>0<u>>>0?f+1|0:f;d=f;u=d>>31>>>7|0;m=u+e|0;v=m;d=m>>>0<u>>>0?d+1|0:d;m=d;u=f;f=v&-33554432;d=u-((f>>>0>e>>>0)+d|0)|0;u=e-f|0;x=d;e=ia+Qa|0;d=A+ha|0;e=d>>>0<A>>>0?e+1|0:e;f=se(ha,ia,18,0);d=f+d|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=j>>26;j=(j&67108863)<<6|O>>>26;f=f+j|0;d=d+e|0;d=f>>>0<j>>>0?d+1|0:d;e=f;A=d>>31>>>7|0;j=A+e|0;Q=j;f=j>>>0<A>>>0?d+1|0:d;j=f;O=Q&-33554432;y=e-O|0;N=y+u|0;f=d-((e>>>0<O>>>0)+f|0)|0;d=f+x|0;F[g+2008>>2]=N;F[g+2012>>2]=y>>>0>N>>>0?d+1|0:d;F[g+1848>>2]=y-u;F[g+1852>>2]=f-((u>>>0>y>>>0)+x|0);f=Ba+Wa|0;d=W+Aa|0;f=d>>>0<W>>>0?f+1|0:f;A=se(Aa,Ba,18,0);e=A+d|0;d=$+f|0;d=e>>>0<A>>>0?d+1|0:d;f=e;e=m>>25;m=(m&33554431)<<7|v>>>25;f=f+m|0;e=d+e|0;e=f>>>0<m>>>0?e+1|0:e;d=e;A=d>>31>>>6|0;m=f+A|0;y=m;d=m>>>0<A>>>0?d+1|0:d;m=d;u=e;e=y&-67108864;d=u-((e>>>0>f>>>0)+d|0)|0;A=f-e|0;u=d;e=ea+Pa|0;d=B+da|0;e=d>>>0<B>>>0?e+1|0:e;B=se(da,ea,18,0);f=B+d|0;d=$+e|0;d=f>>>0<B>>>0?d+1|0:d;e=f;f=j>>25;j=(j&33554431)<<7|Q>>>25;e=e+j|0;d=d+f|0;f=e;d=e>>>0<j>>>0?d+1|0:d;B=d>>31>>>6|0;j=e+B|0;v=j;e=j>>>0<B>>>0?d+1|0:d;j=e;Q=v&-67108864;x=f-Q|0;W=x+A|0;d=d-((f>>>0<Q>>>0)+e|0)|0;f=d+u|0;F[g+2016>>2]=W;F[g+2020>>2]=x>>>0>W>>>0?f+1|0:f;F[g+1856>>2]=x-A;F[g+1860>>2]=d-((x>>>0<A>>>0)+u|0);f=(m&67108863)<<6|y>>>26;d=f+Va|0;e=(m>>26)+M|0;e=d>>>0<f>>>0?e+1|0:e;f=d;m=d;d=e;B=d>>31>>>7|0;f=B+f|0;x=f;d=f>>>0<B>>>0?d+1|0:d;f=d;u=e;e=x&-33554432;d=u-((e>>>0>m>>>0)+d|0)|0;B=m-e|0;A=d;d=j>>26;j=(j&67108863)<<6|v>>>26;m=j+Oa|0;e=d+t|0;e=j>>>0>m>>>0?e+1|0:e;d=e;t=d>>31>>>7|0;j=m+t|0;y=j;d=j>>>0<t>>>0?d+1|0:d;j=d;M=y&-33554432;u=m-M|0;v=u+B|0;e=e-((m>>>0<M>>>0)+d|0)|0;d=e+A|0;F[g+2024>>2]=v;F[g+2028>>2]=v>>>0<u>>>0?d+1|0:d;F[g+1864>>2]=u-B;F[g+1868>>2]=e-((u>>>0<B>>>0)+A|0);d=o&-33554432;e=c-d|0;m=Y-((c>>>0<d>>>0)+X|0)|0;c=f;f=f>>25;o=(c&33554431)<<7|x>>>25;d=p&-67108864;p=b-d|0;c=o+p|0;d=(V-((b>>>0<d>>>0)+E|0)|0)+f|0;d=c>>>0<p>>>0?d+1|0:d;b=c;c=se(o,f,18,0);b=b+c|0;d=$+d|0;d=b>>>0<c>>>0?d+1|0:d;o=d;p=d>>31>>>6|0;c=p+b|0;f=c>>>0<p>>>0?d+1|0:d;p=c;t=f;d=f>>26;f=(f&67108863)<<6|c>>>26;c=f+e|0;e=d+m|0;m=c;B=c>>>0<f>>>0?e+1|0:e;c=q&-33554432;q=w-c|0;A=ba-((c>>>0>w>>>0)+K|0)|0;f=(j&33554431)<<7|y>>>25;d=r&-67108864;w=s-d|0;c=f+w|0;e=j>>25;d=e+(Z-((d>>>0>s>>>0)+aa|0)|0)|0;d=c>>>0<w>>>0?d+1|0:d;f=se(f,e,18,0);c=f+c|0;d=$+d|0;d=c>>>0<f>>>0?d+1|0:d;w=d;s=d>>31>>>6|0;f=s+c|0;e=f>>>0<s>>>0?d+1|0:d;s=f;d=q;q=(e&67108863)<<6|f>>>26;r=d+q|0;f=(e>>26)+A|0;f=q>>>0>r>>>0?f+1|0:f;A=r+m|0;q=f;d=f+B|0;F[g+1960>>2]=A;F[g+1964>>2]=r>>>0>A>>>0?d+1|0:d;f=p&-67108864;d=b-f|0;p=s&-67108864;s=c-p|0;j=d+s|0;b=o-((b>>>0<f>>>0)+t|0)|0;c=w-((c>>>0<p>>>0)+e|0)|0;f=b+c|0;F[g+1952>>2]=j;F[g+1956>>2]=j>>>0<s>>>0?f+1|0:f;F[g+1800>>2]=r-m;F[g+1804>>2]=q-((m>>>0>r>>>0)+B|0);F[g+1792>>2]=s-d;F[g+1796>>2]=c-((d>>>0>s>>>0)+b|0);X=g+1472|0;ga(X,ya);b=g+1632|0;ga(b,ca);ta(ca,b,g+112|0);m=F[g+1856>>2];S=F[g+1860>>2];y=F[g+1936>>2];v=F[g+1940>>2];j=F[g+1848>>2];T=F[g+1852>>2];M=F[g+1928>>2];W=F[g+1932>>2];p=F[g+1840>>2];R=F[g+1844>>2];Q=F[g+1920>>2];N=F[g+1924>>2];o=F[g+1832>>2];Z=F[g+1836>>2];O=F[g+1912>>2];P=F[g+1916>>2];r=F[g+1824>>2];aa=F[g+1828>>2];J=F[g+1904>>2];V=F[g+1908>>2];q=F[g+1816>>2];ba=F[g+1820>>2];E=F[g+1896>>2];Y=F[g+1900>>2];b=F[g+1808>>2];d=F[g+1812>>2];f=F[g+1888>>2];e=F[g+1892>>2];c=F[g+1800>>2];x=F[g+1804>>2];w=F[g+1880>>2];B=F[g+1884>>2];s=F[g+1792>>2];K=F[g+1796>>2];A=F[g+1872>>2];u=F[g+1876>>2];F[g+1872>>2]=0;F[g+1876>>2]=0;d=d+e|0;t=b+f|0;d=t>>>0<b>>>0?d+1|0:d;f=se(f,e,18,0);b=f+t|0;e=$+d|0;H=b;t=b>>>0<f>>>0?e+1|0:e;f=x+B|0;b=c+w|0;f=b>>>0<c>>>0?f+1|0:f;c=se(w,B,18,0);b=c+b|0;d=$+f|0;w=b;c=b>>>0<c>>>0?d+1|0:d;e=u+K|0;b=s+A|0;e=b>>>0<s>>>0?e+1|0:e;f=se(A,u,18,0);b=f+b|0;d=$+e|0;d=b>>>0<f>>>0?d+1|0:d;B=d;s=d>>31>>>6|0;f=s+b|0;e=f>>>0<s>>>0?d+1|0:d;s=f;A=e;d=e>>26;u=w;w=(e&67108863)<<6|f>>>26;e=u+w|0;f=c+d|0;c=e;f=e>>>0<w>>>0?f+1|0:f;u=f;w=f>>31>>>7|0;d=w+e|0;e=f;e=d>>>0<w>>>0?e+1|0:e;w=d;x=e;f=e>>25;K=(e&33554431)<<7|d>>>25;e=K+H|0;d=f+t|0;f=e;d=e>>>0<K>>>0?d+1|0:d;e=d;K=d>>31>>>6|0;t=K+f|0;d=t>>>0<K>>>0?d+1|0:d;K=t&-67108864;F[g+1808>>2]=f-K;F[g+1812>>2]=e-((f>>>0<K>>>0)+d|0);f=Y+ba|0;e=q+E|0;f=e>>>0<q>>>0?f+1|0:f;E=se(E,Y,18,0);q=E+e|0;e=$+f|0;e=q>>>0<E>>>0?e+1|0:e;t=(d&67108863)<<6|t>>>26;q=t+q|0;d=(d>>26)+e|0;f=q;d=f>>>0<t>>>0?d+1|0:d;e=d;t=d>>31>>>7|0;q=t+f|0;d=q>>>0<t>>>0?d+1|0:d;t=q&-33554432;F[g+1816>>2]=f-t;F[g+1820>>2]=e-((f>>>0<t>>>0)+d|0);e=V+aa|0;f=r+J|0;e=f>>>0<r>>>0?e+1|0:e;r=se(J,V,18,0);f=r+f|0;e=$+e|0;e=f>>>0<r>>>0?e+1|0:e;q=(d&33554431)<<7|q>>>25;r=q+f|0;d=(d>>25)+e|0;f=r;d=q>>>0>f>>>0?d+1|0:d;e=d;q=d>>31>>>6|0;r=q+f|0;d=q>>>0>r>>>0?d+1|0:d;q=r&-67108864;F[g+1824>>2]=f-q;F[g+1828>>2]=e-((f>>>0<q>>>0)+d|0);f=P+Z|0;e=o+O|0;f=e>>>0<o>>>0?f+1|0:f;q=se(O,P,18,0);o=q+e|0;e=$+f|0;e=o>>>0<q>>>0?e+1|0:e;r=(d&67108863)<<6|r>>>26;o=r+o|0;d=(d>>26)+e|0;f=o;d=f>>>0<r>>>0?d+1|0:d;e=d;r=d>>31>>>7|0;o=r+f|0;d=o>>>0<r>>>0?d+1|0:d;r=o&-33554432;F[g+1832>>2]=f-r;F[g+1836>>2]=e-((f>>>0<r>>>0)+d|0);e=N+R|0;f=p+Q|0;e=f>>>0<p>>>0?e+1|0:e;p=se(Q,N,18,0);f=p+f|0;e=$+e|0;e=f>>>0<p>>>0?e+1|0:e;o=(d&33554431)<<7|o>>>25;p=o+f|0;d=(d>>25)+e|0;f=p;d=f>>>0<o>>>0?d+1|0:d;e=d;o=d>>31>>>6|0;p=o+f|0;d=p>>>0<o>>>0?d+1|0:d;o=p&-67108864;F[g+1840>>2]=f-o;F[g+1844>>2]=e-((f>>>0<o>>>0)+d|0);f=T+W|0;e=j+M|0;f=e>>>0<j>>>0?f+1|0:f;o=se(M,W,18,0);j=o+e|0;e=$+f|0;e=j>>>0<o>>>0?e+1|0:e;p=(d&67108863)<<6|p>>>26;j=p+j|0;d=(d>>26)+e|0;f=j;d=f>>>0<p>>>0?d+1|0:d;e=d;p=d>>31>>>7|0;j=p+f|0;d=j>>>0<p>>>0?d+1|0:d;p=j&-33554432;F[g+1848>>2]=f-p;F[g+1852>>2]=e-((f>>>0<p>>>0)+d|0);e=v+S|0;f=m+y|0;e=f>>>0<m>>>0?e+1|0:e;m=se(y,v,18,0);f=m+f|0;e=$+e|0;e=f>>>0<m>>>0?e+1|0:e;j=(d&33554431)<<7|j>>>25;m=j+f|0;d=(d>>25)+e|0;f=m;d=j>>>0>f>>>0?d+1|0:d;e=d;p=d>>31>>>6|0;j=p+f|0;d=j>>>0<p>>>0?d+1|0:d;p=j&-67108864;F[g+1856>>2]=f-p;F[g+1860>>2]=e-((f>>>0<p>>>0)+d|0);e=d>>26;m=(d&67108863)<<6|j>>>26;d=m+F[g+1864>>2]|0;f=e+F[g+1868>>2]|0;f=d>>>0<m>>>0?f+1|0:f;p=f>>31>>>7|0;j=p+d|0;e=f;e=j>>>0<p>>>0?e+1|0:e;p=j&-33554432;F[g+1864>>2]=d-p;F[g+1868>>2]=f-((d>>>0<p>>>0)+e|0);d=w&-33554432;w=c-d|0;m=u-((c>>>0<d>>>0)+x|0)|0;d=e>>25;e=(e&33554431)<<7|j>>>25;f=s&-67108864;s=b-f|0;c=e+s|0;f=(B-((b>>>0<f>>>0)+A|0)|0)+d|0;f=c>>>0<s>>>0?f+1|0:f;b=c;c=se(e,d,18,0);b=b+c|0;e=$+f|0;e=b>>>0<c>>>0?e+1|0:e;f=e;d=e;e=d>>31>>>6|0;c=e+b|0;d=c>>>0<e>>>0?d+1|0:d;e=(d>>26)+m|0;j=(d&67108863)<<6|c>>>26;w=j+w|0;F[g+1800>>2]=w;F[g+1804>>2]=j>>>0>w>>>0?e+1|0:e;c=c&-67108864;F[g+1792>>2]=b-c;F[g+1796>>2]=f-((b>>>0<c>>>0)+d|0);m=ja(z,X,80);w=l;E=ja(l,ca,80);c=g+2272|0;ga(c,h);Y=g+2112|0;ga(Y,k);b=C;ta(b,c,Y);j=F[b+64>>2];T=F[b+68>>2];y=F[b+144>>2];v=F[b+148>>2];p=F[b+56>>2];R=F[b+60>>2];M=F[b+136>>2];W=F[b+140>>2];o=F[b+48>>2];Z=F[b+52>>2];Q=F[b+128>>2];N=F[b+132>>2];r=F[b+40>>2];aa=F[b+44>>2];O=F[b+120>>2];P=F[b+124>>2];q=F[b+32>>2];ba=F[b+36>>2];J=F[b+112>>2];V=F[b+116>>2];z=F[b+24>>2];K=F[b+28>>2];X=F[b+104>>2];S=F[b+108>>2];c=F[b+16>>2];d=F[b+20>>2];e=F[b+96>>2];s=F[b+100>>2];f=F[b+8>>2];x=F[b+12>>2];C=F[b+88>>2];B=F[b+92>>2];l=F[b>>2];H=F[b+4>>2];A=F[b+80>>2];u=F[b+84>>2];F[b+80>>2]=0;F[b+84>>2]=0;d=d+s|0;t=c+e|0;d=t>>>0<c>>>0?d+1|0:d;s=se(e,s,18,0);c=s+t|0;e=$+d|0;ca=c;t=c>>>0<s>>>0?e+1|0:e;e=x+B|0;c=f+C|0;e=c>>>0<f>>>0?e+1|0:e;f=se(C,B,18,0);c=f+c|0;d=$+e|0;x=c;C=c>>>0<f>>>0?d+1|0:d;f=u+H|0;c=l+A|0;f=c>>>0<l>>>0?f+1|0:f;e=se(A,u,18,0);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;B=d;l=d>>31>>>6|0;f=l+c|0;s=f;e=f>>>0<l>>>0?d+1|0:d;A=e;l=(e&67108863)<<6|f>>>26;f=l+x|0;e=(e>>26)+C|0;e=f>>>0<l>>>0?e+1|0:e;l=f;u=e;f=e;e=e>>31>>>7|0;d=e+l|0;C=d;f=d>>>0<e>>>0?f+1|0:f;x=f;e=f>>25;H=(f&33554431)<<7|d>>>25;f=H+ca|0;d=e+t|0;d=f>>>0<H>>>0?d+1|0:d;e=d;H=d>>31>>>6|0;t=H+f|0;d=t>>>0<H>>>0?d+1|0:d;H=t&-67108864;F[b+16>>2]=f-H;F[b+20>>2]=e-((f>>>0<H>>>0)+d|0);e=K+S|0;f=z+X|0;e=f>>>0<z>>>0?e+1|0:e;X=se(X,S,18,0);z=X+f|0;f=$+e|0;f=z>>>0<X>>>0?f+1|0:f;t=(d&67108863)<<6|t>>>26;z=t+z|0;d=(d>>26)+f|0;f=z;d=t>>>0>f>>>0?d+1|0:d;e=d;t=d>>31>>>7|0;z=t+f|0;d=t>>>0>z>>>0?d+1|0:d;t=z&-33554432;F[b+24>>2]=f-t;F[b+28>>2]=e-((f>>>0<t>>>0)+d|0);e=V+ba|0;f=q+J|0;e=f>>>0<q>>>0?e+1|0:e;t=se(J,V,18,0);q=t+f|0;f=$+e|0;f=q>>>0<t>>>0?f+1|0:f;z=(d&33554431)<<7|z>>>25;q=z+q|0;d=(d>>25)+f|0;f=q;d=f>>>0<z>>>0?d+1|0:d;e=d;z=d>>31>>>6|0;q=z+f|0;d=q>>>0<z>>>0?d+1|0:d;z=q&-67108864;F[b+32>>2]=f-z;F[b+36>>2]=e-((f>>>0<z>>>0)+d|0);e=P+aa|0;f=r+O|0;e=f>>>0<r>>>0?e+1|0:e;z=se(O,P,18,0);r=z+f|0;f=$+e|0;f=r>>>0<z>>>0?f+1|0:f;q=(d&67108863)<<6|q>>>26;r=q+r|0;d=(d>>26)+f|0;f=r;d=q>>>0>f>>>0?d+1|0:d;e=d;q=d>>31>>>7|0;r=q+f|0;d=q>>>0>r>>>0?d+1|0:d;q=r&-33554432;F[b+40>>2]=f-q;F[b+44>>2]=e-((f>>>0<q>>>0)+d|0);e=N+Z|0;f=o+Q|0;e=f>>>0<o>>>0?e+1|0:e;q=se(Q,N,18,0);o=q+f|0;f=$+e|0;f=o>>>0<q>>>0?f+1|0:f;r=(d&33554431)<<7|r>>>25;o=r+o|0;d=(d>>25)+f|0;f=o;d=f>>>0<r>>>0?d+1|0:d;e=d;r=d>>31>>>6|0;o=r+f|0;d=o>>>0<r>>>0?d+1|0:d;r=o&-67108864;F[b+48>>2]=f-r;F[b+52>>2]=e-((f>>>0<r>>>0)+d|0);e=R+W|0;f=p+M|0;e=f>>>0<p>>>0?e+1|0:e;r=se(M,W,18,0);p=r+f|0;f=$+e|0;f=p>>>0<r>>>0?f+1|0:f;o=(d&67108863)<<6|o>>>26;p=o+p|0;d=(d>>26)+f|0;f=p;d=f>>>0<o>>>0?d+1|0:d;e=d;o=d>>31>>>7|0;p=o+f|0;d=p>>>0<o>>>0?d+1|0:d;o=p&-33554432;F[b+56>>2]=f-o;F[b+60>>2]=e-((f>>>0<o>>>0)+d|0);e=v+T|0;f=j+y|0;e=f>>>0<j>>>0?e+1|0:e;o=se(y,v,18,0);j=o+f|0;f=$+e|0;f=j>>>0<o>>>0?f+1|0:f;p=(d&33554431)<<7|p>>>25;j=p+j|0;d=(d>>25)+f|0;f=j;d=f>>>0<p>>>0?d+1|0:d;e=d;o=d>>31>>>6|0;p=o+f|0;d=p>>>0<o>>>0?d+1|0:d;o=p&-67108864;F[b+64>>2]=f-o;F[b+68>>2]=e-((f>>>0<o>>>0)+d|0);e=d>>26;j=(d&67108863)<<6|p>>>26;d=j+F[b+72>>2]|0;e=e+F[b+76>>2]|0;e=d>>>0<j>>>0?e+1|0:e;o=e>>31>>>7|0;p=o+d|0;f=p>>>0<o>>>0?e+1|0:e;o=p&-33554432;F[b+72>>2]=d-o;F[b+76>>2]=e-((d>>>0<o>>>0)+f|0);d=C&-33554432;j=l-d|0;o=u-((d>>>0>l>>>0)+x|0)|0;d=f>>25;l=(f&33554431)<<7|p>>>25;e=s&-67108864;s=c-e|0;f=l+s|0;e=(B-((c>>>0<e>>>0)+A|0)|0)+d|0;d=se(l,d,18,0);c=d+f|0;e=$+(f>>>0<s>>>0?e+1|0:e)|0;e=c>>>0<d>>>0?e+1|0:e;s=e;d=e;e=d>>31>>>6|0;f=e+c|0;l=f;d=e>>>0>f>>>0?d+1|0:d;p=(d&67108863)<<6|f>>>26;j=p+j|0;f=(d>>26)+o|0;F[b+8>>2]=j;F[b+12>>2]=j>>>0<p>>>0?f+1|0:f;f=l&-67108864;F[b>>2]=c-f;F[b+4>>2]=s-((c>>>0<f>>>0)+d|0);j=F[g+2316>>2];H=F[g+2312>>2];d=H;f=F[g+2152>>2];c=j-(F[g+2156>>2]+(d>>>0<f>>>0)|0)|0;X=d-f|0;p=c;F[g+2152>>2]=X;F[g+2156>>2]=c;o=F[g+2308>>2];ca=F[g+2304>>2];d=ca;f=F[g+2144>>2];c=o-(F[g+2148>>2]+(d>>>0<f>>>0)|0)|0;S=d-f|0;r=c;F[g+2144>>2]=S;F[g+2148>>2]=c;q=F[g+2300>>2];da=F[g+2296>>2];d=da;f=F[g+2136>>2];c=q-(F[g+2140>>2]+(d>>>0<f>>>0)|0)|0;T=d-f|0;z=c;F[g+2136>>2]=T;F[g+2140>>2]=c;d=F[g+2292>>2];f=F[g+2288>>2];l=F[g+2128>>2];e=d-(F[g+2132>>2]+(f>>>0<l>>>0)|0)|0;C=f-l|0;F[g+2128>>2]=C;F[g+2132>>2]=e;ea=F[g+2284>>2];t=F[g+2280>>2];c=t;s=F[g+2120>>2];l=ea-(F[g+2124>>2]+(c>>>0<s>>>0)|0)|0;O=c-s|0;F[g+2120>>2]=O;F[g+2124>>2]=l;ha=F[g+2276>>2];B=F[g+2272>>2];c=B;A=F[g+2112>>2];s=ha-(F[g+2116>>2]+(c>>>0<A>>>0)|0)|0;P=c-A|0;F[g+2112>>2]=P;F[g+2116>>2]=s;A=F[g+2324>>2];ia=F[g+2320>>2];u=ia;x=F[g+2160>>2];c=A-(F[g+2164>>2]+(u>>>0<x>>>0)|0)|0;R=u-x|0;u=c;F[g+2160>>2]=R;F[g+2164>>2]=c;x=F[g+2332>>2];ka=F[g+2328>>2];y=ka;v=F[g+2168>>2];c=x-(F[g+2172>>2]+(y>>>0<v>>>0)|0)|0;Z=y-v|0;y=c;F[g+2168>>2]=Z;F[g+2172>>2]=c;v=F[g+2340>>2];la=F[g+2336>>2];M=la;W=F[g+2176>>2];c=v-(F[g+2180>>2]+(M>>>0<W>>>0)|0)|0;aa=M-W|0;M=c;F[g+2176>>2]=aa;F[g+2180>>2]=c;W=F[g+2348>>2];ma=F[g+2344>>2];Q=ma;N=F[g+2184>>2];c=W-(F[g+2188>>2]+(Q>>>0<N>>>0)|0)|0;ba=Q-N|0;Q=c;F[g+2184>>2]=ba;F[g+2188>>2]=c;qa(Na,0,72);N=d;V=se(C,e,121665,0);K=$;l=se(O,l,121665,0);C=$;c=se(P,s,121665,0);d=$;ra=d;s=d>>31>>>6|0;e=s+c|0;d=e>>>0<s>>>0?d+1|0:d;s=e;O=d;e=d>>26;P=l;l=(d&67108863)<<6|s>>>26;d=P+l|0;e=e+C|0;e=d>>>0<l>>>0?e+1|0:e;l=d;P=e;d=e;C=d>>31>>>7|0;e=C+l|0;d=e>>>0<C>>>0?d+1|0:d;C=e;J=d;fa=f;e=d>>25;f=V;V=(d&33554431)<<7|C>>>25;d=f+V|0;f=e+K|0;f=d>>>0<V>>>0?f+1|0:f;V=fa+d|0;e=f+N|0;e=d>>>0>V>>>0?e+1|0:e;N=V;na=f>>31>>>6|0;K=na+d|0;d=f;d=K>>>0<na>>>0?d+1|0:d;f=K&-67108864;F[g+2448>>2]=N-f;F[g+2452>>2]=e-((f>>>0>N>>>0)+d|0);f=d;d=d>>26;N=(f&67108863)<<6|K>>>26;e=se(T,z,121665,0)+N|0;f=d+$|0;d=e;z=d+da|0;f=d>>>0<N>>>0?f+1|0:f;e=f+q|0;q=z;z=d>>>0>q>>>0?e+1|0:e;e=f;f=e>>31>>>7|0;d=f+d|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=d&-33554432;F[g+2456>>2]=q-d;F[g+2460>>2]=z-((d>>>0>q>>>0)+e|0);d=e;e=d>>25;q=(d&33554431)<<7|f>>>25;d=se(S,r,121665,0)+q|0;f=e+$|0;e=d;r=d+ca|0;f=d>>>0<q>>>0?f+1|0:f;d=f+o|0;d=e>>>0>r>>>0?d+1|0:d;o=r;z=f>>31>>>6|0;q=z+e|0;e=f;e=q>>>0<z>>>0?e+1|0:e;f=q;q=f&-67108864;F[g+2464>>2]=o-q;F[g+2468>>2]=d-((o>>>0<q>>>0)+e|0);d=e;e=d>>26;o=(d&67108863)<<6|f>>>26;d=se(X,p,121665,0)+o|0;f=e+$|0;f=d>>>0<o>>>0?f+1|0:f;p=d+H|0;e=f+j|0;e=d>>>0>p>>>0?e+1|0:e;j=p;r=f>>31>>>7|0;o=r+d|0;d=f;d=o>>>0<r>>>0?d+1|0:d;f=o&-33554432;F[g+2472>>2]=j-f;F[g+2476>>2]=e-((f>>>0>j>>>0)+d|0);f=d;d=d>>25;p=(f&33554431)<<7|o>>>25;e=se(R,u,121665,0)+p|0;f=d+$|0;d=e;j=d+ia|0;f=d>>>0<p>>>0?f+1|0:f;e=f+A|0;e=d>>>0>j>>>0?e+1|0:e;p=e;e=f;f=e>>31>>>6|0;d=f+d|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=d&-67108864;F[g+2480>>2]=j-d;F[g+2484>>2]=p-((d>>>0>j>>>0)+e|0);d=e;e=d>>26;p=(d&67108863)<<6|f>>>26;d=se(Z,y,121665,0)+p|0;f=e+$|0;e=d;j=d+ka|0;f=d>>>0<p>>>0?f+1|0:f;d=f+x|0;d=e>>>0>j>>>0?d+1|0:d;r=f>>31>>>7|0;o=r+e|0;e=f;e=o>>>0<r>>>0?e+1|0:e;f=o;o=f&-33554432;F[g+2488>>2]=j-o;F[g+2492>>2]=d-((j>>>0<o>>>0)+e|0);d=e;e=d>>25;p=(d&33554431)<<7|f>>>25;d=se(aa,M,121665,0)+p|0;f=e+$|0;f=d>>>0<p>>>0?f+1|0:f;j=d+la|0;e=f+v|0;e=d>>>0>j>>>0?e+1|0:e;r=f>>31>>>6|0;o=r+d|0;d=f;d=o>>>0<r>>>0?d+1|0:d;f=o&-67108864;F[g+2496>>2]=j-f;F[g+2500>>2]=e-((f>>>0>j>>>0)+d|0);f=d;d=d>>26;p=(f&67108863)<<6|o>>>26;e=se(ba,Q,121665,0)+p|0;f=d+$|0;d=e;j=d+ma|0;f=d>>>0<p>>>0?f+1|0:f;e=f+W|0;e=d>>>0>j>>>0?e+1|0:e;p=e;e=f;f=e>>31>>>7|0;d=f+d|0;e=d>>>0<f>>>0?e+1|0:e;f=d&-33554432;F[g+2504>>2]=j-f;F[g+2508>>2]=p-((f>>>0>j>>>0)+e|0);f=P+ea|0;l=l+t|0;f=l>>>0<t>>>0?f+1|0:f;C=C&-33554432;j=l-C|0;p=f-((l>>>0<C>>>0)+J|0)|0;f=e>>25;l=(e&33554431)<<7|d>>>25;d=s&-67108864;s=c-d|0;e=l+s|0;d=(ra-((c>>>0<d>>>0)+O|0)|0)+f|0;f=se(l,f,18,0);c=f+e|0;d=$+(e>>>0<s>>>0?d+1|0:d)|0;d=c>>>0<f>>>0?d+1|0:d;l=d>>31>>>6|0;e=l+c|0;f=e>>>0<l>>>0?d+1|0:d;l=e;e=(f>>26)+p|0;o=(f&67108863)<<6|l>>>26;j=o+j|0;F[g+2440>>2]=j;F[g+2444>>2]=j>>>0<o>>>0?e+1|0:e;d=d+ha|0;c=c+B|0;d=c>>>0<B>>>0?d+1|0:d;e=l&-67108864;F[g+2432>>2]=c-e;F[g+2436>>2]=d-((c>>>0<e>>>0)+f|0);c=U;ta(c,Y,g+2432|0);j=F[c+64>>2];S=F[c+68>>2];y=F[c+144>>2];v=F[c+148>>2];p=F[c+56>>2];T=F[c+60>>2];M=F[c+136>>2];W=F[c+140>>2];o=F[c+48>>2];R=F[c+52>>2];Q=F[c+128>>2];N=F[c+132>>2];r=F[c+40>>2];Z=F[c+44>>2];O=F[c+120>>2];P=F[c+124>>2];q=F[c+32>>2];aa=F[c+36>>2];J=F[c+112>>2];V=F[c+116>>2];z=F[c+24>>2];ba=F[c+28>>2];Y=F[c+104>>2];X=F[c+108>>2];d=F[c+16>>2];f=F[c+20>>2];e=F[c+96>>2];C=F[c+100>>2];l=F[c+8>>2];x=F[c+12>>2];U=F[c+88>>2];B=F[c+92>>2];s=F[c>>2];K=F[c+4>>2];A=F[c+80>>2];u=F[c+84>>2];F[c+80>>2]=0;F[c+84>>2]=0;f=f+C|0;t=d+e|0;f=t>>>0<d>>>0?f+1|0:f;C=se(e,C,18,0);d=C+t|0;e=$+f|0;H=d;t=d>>>0<C>>>0?e+1|0:e;d=x+B|0;f=l+U|0;d=f>>>0<l>>>0?d+1|0:d;e=se(U,B,18,0);f=e+f|0;d=$+d|0;d=e>>>0>f>>>0?d+1|0:d;U=f;e=u+K|0;f=s+A|0;e=f>>>0<s>>>0?e+1|0:e;s=se(A,u,18,0);l=s+f|0;f=$+e|0;f=l>>>0<s>>>0?f+1|0:f;B=f;C=f>>31>>>6|0;s=C+l|0;e=f;e=s>>>0<C>>>0?e+1|0:e;C=s;A=e;f=e>>26;s=(e&67108863)<<6|s>>>26;e=s+U|0;d=d+f|0;d=e>>>0<s>>>0?d+1|0:d;s=e;u=d;U=d>>31>>>7|0;f=U+e|0;e=f>>>0<U>>>0?d+1|0:d;U=f;x=e;d=e>>25;e=(e&33554431)<<7|f>>>25;f=e+H|0;d=d+t|0;d=e>>>0>f>>>0?d+1|0:d;e=f;K=d>>31>>>6|0;t=K+e|0;f=t>>>0<K>>>0?d+1|0:d;K=t&-67108864;F[c+16>>2]=e-K;F[c+20>>2]=d-((e>>>0<K>>>0)+f|0);d=X+ba|0;e=z+Y|0;d=e>>>0<z>>>0?d+1|0:d;Y=se(Y,X,18,0);z=Y+e|0;e=$+d|0;e=z>>>0<Y>>>0?e+1|0:e;t=(f&67108863)<<6|t>>>26;z=t+z|0;f=(f>>26)+e|0;e=z;f=t>>>0>e>>>0?f+1|0:f;d=f;t=d>>31>>>7|0;z=t+e|0;d=t>>>0>z>>>0?d+1|0:d;t=z&-33554432;F[c+24>>2]=e-t;F[c+28>>2]=f-((e>>>0<t>>>0)+d|0);e=V+aa|0;f=q+J|0;e=f>>>0<q>>>0?e+1|0:e;q=se(J,V,18,0);f=q+f|0;e=$+e|0;e=f>>>0<q>>>0?e+1|0:e;H=f;f=d;d=d>>25;q=(f&33554431)<<7|z>>>25;f=H+q|0;d=d+e|0;d=f>>>0<q>>>0?d+1|0:d;e=f;z=d>>31>>>6|0;q=z+e|0;f=q>>>0<z>>>0?d+1|0:d;z=q&-67108864;F[c+32>>2]=e-z;F[c+36>>2]=d-((e>>>0<z>>>0)+f|0);d=P+Z|0;e=r+O|0;d=e>>>0<r>>>0?d+1|0:d;z=se(O,P,18,0);r=z+e|0;e=$+d|0;e=r>>>0<z>>>0?e+1|0:e;q=(f&67108863)<<6|q>>>26;r=q+r|0;f=(f>>26)+e|0;e=r;f=q>>>0>e>>>0?f+1|0:f;d=f;q=d>>31>>>7|0;r=q+e|0;d=q>>>0>r>>>0?d+1|0:d;q=r&-33554432;F[c+40>>2]=e-q;F[c+44>>2]=f-((e>>>0<q>>>0)+d|0);e=N+R|0;f=o+Q|0;e=f>>>0<o>>>0?e+1|0:e;o=se(Q,N,18,0);f=o+f|0;e=$+e|0;e=f>>>0<o>>>0?e+1|0:e;q=f;f=d;d=d>>25;o=(f&33554431)<<7|r>>>25;f=q+o|0;d=d+e|0;d=f>>>0<o>>>0?d+1|0:d;e=f;r=d>>31>>>6|0;o=r+e|0;f=o>>>0<r>>>0?d+1|0:d;r=o&-67108864;F[c+48>>2]=e-r;F[c+52>>2]=d-((e>>>0<r>>>0)+f|0);d=T+W|0;e=p+M|0;d=e>>>0<p>>>0?d+1|0:d;r=se(M,W,18,0);p=r+e|0;e=$+d|0;e=p>>>0<r>>>0?e+1|0:e;o=(f&67108863)<<6|o>>>26;p=o+p|0;f=(f>>26)+e|0;e=p;f=e>>>0<o>>>0?f+1|0:f;d=f;o=d>>31>>>7|0;p=o+e|0;d=p>>>0<o>>>0?d+1|0:d;o=p&-33554432;F[c+56>>2]=e-o;F[c+60>>2]=f-((e>>>0<o>>>0)+d|0);e=v+S|0;f=j+y|0;e=f>>>0<j>>>0?e+1|0:e;j=se(y,v,18,0);f=j+f|0;e=$+e|0;e=f>>>0<j>>>0?e+1|0:e;q=f;f=d;d=d>>25;j=(f&33554431)<<7|p>>>25;f=q+j|0;d=d+e|0;d=f>>>0<j>>>0?d+1|0:d;e=c;j=f;o=d>>31>>>6|0;p=o+f|0;f=p>>>0<o>>>0?d+1|0:d;o=p&-67108864;F[e+64>>2]=j-o;F[e+68>>2]=d-((j>>>0<o>>>0)+f|0);e=f>>26;j=(f&67108863)<<6|p>>>26;f=j+F[c+72>>2]|0;d=e+F[c+76>>2]|0;d=f>>>0<j>>>0?d+1|0:d;o=d>>31>>>7|0;p=o+f|0;e=p>>>0<o>>>0?d+1|0:d;o=p&-33554432;F[c+72>>2]=f-o;F[c+76>>2]=d-((f>>>0<o>>>0)+e|0);d=U&-33554432;U=s-d|0;j=u-((d>>>0>s>>>0)+x|0)|0;d=e>>25;s=(e&33554431)<<7|p>>>25;C=C&-67108864;p=l-C|0;e=s+p|0;f=d;d=d+(B-((l>>>0<C>>>0)+A|0)|0)|0;l=se(s,f,18,0);f=l+e|0;e=$+(e>>>0<p>>>0?d+1|0:d)|0;e=f>>>0<l>>>0?e+1|0:e;s=e;d=e;l=d>>31>>>6|0;e=l+f|0;d=e>>>0<l>>>0?d+1|0:d;l=e;e=(d>>26)+j|0;p=(d&67108863)<<6|l>>>26;U=p+U|0;F[c+8>>2]=U;F[c+12>>2]=p>>>0>U>>>0?e+1|0:e;e=l&-67108864;F[c>>2]=f-e;F[c+4>>2]=s-((e>>>0>f>>>0)+d|0);f=F[m>>2];e=F[b>>2];d=I&(f^e);e=d^e;F[b>>2]=e;F[b+4>>2]=e>>31;d=d^f;F[m>>2]=d;F[m+4>>2]=d>>31;f=F[m+8>>2];e=F[b+8>>2];d=I&(f^e);e=d^e;F[b+8>>2]=e;F[b+12>>2]=e>>31;d=d^f;F[m+8>>2]=d;F[m+12>>2]=d>>31;f=F[m+16>>2];e=F[b+16>>2];d=I&(f^e);e=d^e;F[b+16>>2]=e;F[b+20>>2]=e>>31;d=d^f;F[m+16>>2]=d;F[m+20>>2]=d>>31;f=F[m+24>>2];e=F[b+24>>2];d=I&(f^e);e=d^e;F[b+24>>2]=e;F[b+28>>2]=e>>31;d=d^f;F[m+24>>2]=d;F[m+28>>2]=d>>31;f=F[m+32>>2];e=F[b+32>>2];d=I&(f^e);e=d^e;F[b+32>>2]=e;F[b+36>>2]=e>>31;d=d^f;F[m+32>>2]=d;F[m+36>>2]=d>>31;f=F[m+40>>2];e=F[b+40>>2];d=I&(f^e);e=d^e;F[b+40>>2]=e;F[b+44>>2]=e>>31;d=d^f;F[m+40>>2]=d;F[m+44>>2]=d>>31;f=F[m+48>>2];e=F[b+48>>2];d=I&(f^e);e=d^e;F[b+48>>2]=e;F[b+52>>2]=e>>31;d=d^f;F[m+48>>2]=d;F[m+52>>2]=d>>31;f=F[m+56>>2];e=F[b+56>>2];d=I&(f^e);e=d^e;F[b+56>>2]=e;F[b+60>>2]=e>>31;d=d^f;F[m+56>>2]=d;F[m+60>>2]=d>>31;f=F[m+64>>2];e=F[b+64>>2];d=I&(f^e);e=d^e;F[b+64>>2]=e;F[b+68>>2]=e>>31;d=d^f;F[m+64>>2]=d;F[m+68>>2]=d>>31;f=F[m+72>>2];e=F[b+72>>2];d=I&(f^e);e=d^e;F[b+72>>2]=e;F[b+76>>2]=e>>31;d=d^f;F[m+72>>2]=d;F[m+76>>2]=d>>31;f=F[E>>2];e=F[c>>2];d=I&(f^e);e=d^e;F[c>>2]=e;F[c+4>>2]=e>>31;d=d^f;F[E>>2]=d;F[E+4>>2]=d>>31;f=F[E+8>>2];e=F[c+8>>2];d=I&(f^e);e=d^e;F[c+8>>2]=e;F[c+12>>2]=e>>31;d=d^f;F[E+8>>2]=d;F[E+12>>2]=d>>31;f=F[E+16>>2];e=F[c+16>>2];d=I&(f^e);e=d^e;F[c+16>>2]=e;F[c+20>>2]=e>>31;d=d^f;F[E+16>>2]=d;F[E+20>>2]=d>>31;f=F[E+24>>2];e=F[c+24>>2];d=I&(f^e);e=d^e;F[c+24>>2]=e;F[c+28>>2]=e>>31;d=d^f;F[E+24>>2]=d;F[E+28>>2]=d>>31;f=F[E+32>>2];e=F[c+32>>2];d=I&(f^e);e=d^e;F[c+32>>2]=e;F[c+36>>2]=e>>31;d=d^f;F[E+32>>2]=d;F[E+36>>2]=d>>31;f=F[E+40>>2];e=F[c+40>>2];d=I&(f^e);e=d^e;F[c+40>>2]=e;F[c+44>>2]=e>>31;d=d^f;F[E+40>>2]=d;F[E+44>>2]=d>>31;f=F[E+48>>2];e=F[c+48>>2];d=I&(f^e);e=d^e;F[c+48>>2]=e;F[c+52>>2]=e>>31;d=d^f;F[E+48>>2]=d;F[E+52>>2]=d>>31;f=F[E+56>>2];e=F[c+56>>2];d=I&(f^e);e=d^e;F[c+56>>2]=e;F[c+60>>2]=e>>31;d=d^f;F[E+56>>2]=d;F[E+60>>2]=d>>31;f=F[E+64>>2];e=F[c+64>>2];d=I&(f^e);e=d^e;F[c+64>>2]=e;F[c+68>>2]=e>>31;d=d^f;F[E+64>>2]=d;F[E+68>>2]=d>>31;f=F[E+72>>2];e=F[c+72>>2];d=I&(f^e);e=d^e;F[c+72>>2]=e;F[c+76>>2]=e>>31;d=d^f;F[E+72>>2]=d;F[E+76>>2]=d>>31;va=va<<1;U=k;C=h;l=i;xa=xa+1|0;if((xa|0)!=8){continue}break}ua=ua+1|0;if((ua|0)!=32){continue}break}ja(g+32|0,b,80);d=g+2272|0;ja(d,c,80);h=g+2112|0;ga(h,d);c=g+672|0;ga(c,h);b=g+832|0;ga(b,c);n=g+2432|0;ta(n,b,d);e=F[g+2576>>2];i=F[g+2496>>2];d=e+i|0;k=F[g+2580>>2];f=k+F[g+2500>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=se(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2496>>2]=d;F[g+2500>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2560>>2];i=F[g+2480>>2];f=e+i|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2480>>2]=e;F[g+2484>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2544>>2];i=F[g+2464>>2];d=f+i|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<i>>>0?d+1|0:d;e=F[g+2536>>2];i=F[g+2456>>2];d=e+i|0;k=F[g+2540>>2];f=k+F[g+2460>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=se(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2456>>2]=d;F[g+2460>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2520>>2];i=F[g+2440>>2];f=e+i|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2440>>2]=e;F[g+2444>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<i>>>0?d+1|0:d;wa(n);i=g+1952|0;ja(i,n,80);ta(n,i,h);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;k=F[g+2580>>2];e=k+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2568>>2];h=F[g+2488>>2];d=e+h|0;k=F[g+2572>>2];f=k+F[g+2492>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,k,18,0);d=h+d|0;e=$+f|0;F[g+2488>>2]=d;F[g+2492>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2560>>2];h=F[g+2480>>2];f=e+h|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,k,18,0);f=h+f|0;e=$+d|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;k=F[g+2556>>2];d=k+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,k,18,0);e=h+f|0;f=$+d|0;F[g+2472>>2]=e;F[g+2476>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2544>>2];h=F[g+2464>>2];d=f+h|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;k=F[g+2540>>2];e=k+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,k,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2528>>2];h=F[g+2448>>2];d=e+h|0;k=F[g+2532>>2];f=k+F[g+2452>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,k,18,0);d=h+d|0;e=$+f|0;F[g+2448>>2]=d;F[g+2452>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2520>>2];h=F[g+2440>>2];f=e+h|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,k,18,0);f=h+f|0;e=$+d|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;k=F[g+2516>>2];d=k+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,k,18,0);e=h+f|0;f=$+d|0;F[g+2432>>2]=e;F[g+2436>>2]=e>>>0<h>>>0?f+1|0:f;wa(n);d=g+1792|0;ja(d,n,80);ga(b,d);ta(n,b,i);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2560>>2];h=F[g+2480>>2];d=e+h|0;i=F[g+2564>>2];f=i+F[g+2484>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2480>>2]=d;F[g+2484>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2464>>2]=e;F[g+2468>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2520>>2];h=F[g+2440>>2];d=e+h|0;i=F[g+2524>>2];f=i+F[g+2444>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2440>>2]=d;F[g+2444>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<h>>>0?e+1|0:e;wa(n);d=g+1632|0;ja(d,n,80);ga(b,d);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ta(n,b,d);e=F[g+2576>>2];h=F[g+2496>>2];f=e+h|0;i=F[g+2580>>2];d=i+F[g+2500>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2496>>2]=e;F[g+2500>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2560>>2];h=F[g+2480>>2];d=f+h|0;i=F[g+2564>>2];e=i+F[g+2484>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2552>>2];h=F[g+2472>>2];d=e+h|0;i=F[g+2556>>2];f=i+F[g+2476>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2472>>2]=d;F[g+2476>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2536>>2];h=F[g+2456>>2];f=e+h|0;i=F[g+2540>>2];d=i+F[g+2460>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2456>>2]=e;F[g+2460>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2520>>2];h=F[g+2440>>2];d=f+h|0;i=F[g+2524>>2];e=i+F[g+2444>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2512>>2];h=F[g+2432>>2];d=e+h|0;i=F[g+2516>>2];f=i+F[g+2436>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2432>>2]=d;F[g+2436>>2]=d>>>0<h>>>0?e+1|0:e;wa(n);h=g+1472|0;ja(h,n,80);ga(b,h);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ta(n,c,h);e=F[g+2576>>2];i=F[g+2496>>2];f=e+i|0;k=F[g+2580>>2];d=k+F[g+2500>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2488>>2]=e;F[g+2492>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2560>>2];i=F[g+2480>>2];d=f+i|0;k=F[g+2564>>2];e=k+F[g+2484>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<i>>>0?d+1|0:d;e=F[g+2544>>2];i=F[g+2464>>2];d=e+i|0;k=F[g+2548>>2];f=k+F[g+2468>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=se(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2464>>2]=d;F[g+2468>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2536>>2];i=F[g+2456>>2];f=e+i|0;k=F[g+2540>>2];d=k+F[g+2460>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2448>>2]=e;F[g+2452>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2520>>2];i=F[g+2440>>2];d=f+i|0;k=F[g+2524>>2];e=k+F[g+2444>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<i>>>0?d+1|0:d;wa(n);d=g+1312|0;ja(d,n,80);ga(b,d);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ta(n,c,d);e=F[g+2576>>2];i=F[g+2496>>2];d=e+i|0;k=F[g+2580>>2];f=k+F[g+2500>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=se(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2496>>2]=d;F[g+2500>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2568>>2];i=F[g+2488>>2];f=e+i|0;k=F[g+2572>>2];d=k+F[g+2492>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2560>>2];i=F[g+2480>>2];f=e+i|0;k=F[g+2564>>2];d=k+F[g+2484>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2480>>2]=e;F[g+2484>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2552>>2];i=F[g+2472>>2];d=f+i|0;k=F[g+2556>>2];e=k+F[g+2476>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<i>>>0?d+1|0:d;f=F[g+2544>>2];i=F[g+2464>>2];d=f+i|0;k=F[g+2548>>2];e=k+F[g+2468>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<i>>>0?d+1|0:d;e=F[g+2536>>2];i=F[g+2456>>2];d=e+i|0;k=F[g+2540>>2];f=k+F[g+2460>>2]|0;f=d>>>0<i>>>0?f+1|0:f;i=se(e,k,18,0);d=i+d|0;e=$+f|0;F[g+2456>>2]=d;F[g+2460>>2]=d>>>0<i>>>0?e+1|0:e;e=F[g+2528>>2];i=F[g+2448>>2];f=e+i|0;k=F[g+2532>>2];d=k+F[g+2452>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);f=i+f|0;e=$+d|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<i>>>0?e+1|0:e;e=F[g+2520>>2];i=F[g+2440>>2];f=e+i|0;k=F[g+2524>>2];d=k+F[g+2444>>2]|0;d=f>>>0<i>>>0?d+1|0:d;i=se(e,k,18,0);e=i+f|0;f=$+d|0;F[g+2440>>2]=e;F[g+2444>>2]=e>>>0<i>>>0?f+1|0:f;f=F[g+2512>>2];i=F[g+2432>>2];d=f+i|0;k=F[g+2516>>2];e=k+F[g+2436>>2]|0;e=d>>>0<i>>>0?e+1|0:e;i=se(f,k,18,0);f=i+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<i>>>0?d+1|0:d;wa(n);ja(b,n,80);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ta(n,b,h);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2568>>2];h=F[g+2488>>2];d=e+h|0;i=F[g+2572>>2];f=i+F[g+2492>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2488>>2]=d;F[g+2492>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2560>>2];h=F[g+2480>>2];f=e+h|0;i=F[g+2564>>2];d=i+F[g+2484>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2472>>2]=e;F[g+2476>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2544>>2];h=F[g+2464>>2];d=f+h|0;i=F[g+2548>>2];e=i+F[g+2468>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2464>>2]=f;F[g+2468>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2528>>2];h=F[g+2448>>2];d=e+h|0;i=F[g+2532>>2];f=i+F[g+2452>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2448>>2]=d;F[g+2452>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2520>>2];h=F[g+2440>>2];f=e+h|0;i=F[g+2524>>2];d=i+F[g+2444>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2432>>2]=e;F[g+2436>>2]=e>>>0<h>>>0?f+1|0:f;wa(n);d=g+1152|0;ja(d,n,80);ga(b,d);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ta(n,c,d);f=F[g+2576>>2];h=F[g+2496>>2];d=f+h|0;i=F[g+2580>>2];e=i+F[g+2500>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2568>>2];h=F[g+2488>>2];d=f+h|0;i=F[g+2572>>2];e=i+F[g+2492>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2488>>2]=f;F[g+2492>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2560>>2];h=F[g+2480>>2];d=e+h|0;i=F[g+2564>>2];f=i+F[g+2484>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2480>>2]=d;F[g+2484>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2552>>2];h=F[g+2472>>2];f=e+h|0;i=F[g+2556>>2];d=i+F[g+2476>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2544>>2];h=F[g+2464>>2];f=e+h|0;i=F[g+2548>>2];d=i+F[g+2468>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2464>>2]=e;F[g+2468>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2536>>2];h=F[g+2456>>2];d=f+h|0;i=F[g+2540>>2];e=i+F[g+2460>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2528>>2];h=F[g+2448>>2];d=f+h|0;i=F[g+2532>>2];e=i+F[g+2452>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2448>>2]=f;F[g+2452>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2520>>2];h=F[g+2440>>2];d=e+h|0;i=F[g+2524>>2];f=i+F[g+2444>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2440>>2]=d;F[g+2444>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2512>>2];h=F[g+2432>>2];f=e+h|0;i=F[g+2516>>2];d=i+F[g+2436>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<h>>>0?e+1|0:e;wa(n);d=g+992|0;ja(d,n,80);ga(c,d);ga(b,c);c=2;while(1){b=c>>>0<98;d=g+672|0;f=g+832|0;ga(d,f);ga(f,d);c=c+2|0;if(b){continue}break}n=g+2432|0;c=g+832|0;ta(n,c,g+992|0);f=F[g+2576>>2];e=F[g+2496>>2];b=f+e|0;h=F[g+2580>>2];d=h+F[g+2500>>2]|0;d=b>>>0<e>>>0?d+1|0:d;e=se(f,h,18,0);b=e+b|0;f=$+d|0;F[g+2496>>2]=b;F[g+2500>>2]=b>>>0<e>>>0?f+1|0:f;d=F[g+2568>>2];f=F[g+2488>>2];b=d+f|0;h=F[g+2572>>2];e=h+F[g+2492>>2]|0;e=b>>>0<f>>>0?e+1|0:e;f=se(d,h,18,0);b=f+b|0;d=$+e|0;F[g+2488>>2]=b;F[g+2492>>2]=b>>>0<f>>>0?d+1|0:d;d=F[g+2560>>2];f=F[g+2480>>2];b=d+f|0;h=F[g+2564>>2];e=h+F[g+2484>>2]|0;e=b>>>0<f>>>0?e+1|0:e;f=se(d,h,18,0);b=f+b|0;d=$+e|0;F[g+2480>>2]=b;F[g+2484>>2]=b>>>0<f>>>0?d+1|0:d;d=F[g+2552>>2];e=F[g+2472>>2];b=d+e|0;h=F[g+2556>>2];f=h+F[g+2476>>2]|0;f=b>>>0<e>>>0?f+1|0:f;d=se(d,h,18,0);b=d+b|0;e=$+f|0;F[g+2472>>2]=b;F[g+2476>>2]=b>>>0<d>>>0?e+1|0:e;f=F[g+2544>>2];e=F[g+2464>>2];b=f+e|0;h=F[g+2548>>2];d=h+F[g+2468>>2]|0;d=b>>>0<e>>>0?d+1|0:d;f=se(f,h,18,0);b=f+b|0;e=$+d|0;F[g+2464>>2]=b;F[g+2468>>2]=b>>>0<f>>>0?e+1|0:e;f=F[g+2536>>2];e=F[g+2456>>2];b=f+e|0;h=F[g+2540>>2];d=h+F[g+2460>>2]|0;d=b>>>0<e>>>0?d+1|0:d;e=se(f,h,18,0);b=e+b|0;f=$+d|0;F[g+2456>>2]=b;F[g+2460>>2]=b>>>0<e>>>0?f+1|0:f;d=F[g+2528>>2];f=F[g+2448>>2];b=d+f|0;h=F[g+2532>>2];e=h+F[g+2452>>2]|0;e=b>>>0<f>>>0?e+1|0:e;f=se(d,h,18,0);b=f+b|0;d=$+e|0;F[g+2448>>2]=b;F[g+2452>>2]=b>>>0<f>>>0?d+1|0:d;d=F[g+2520>>2];f=F[g+2440>>2];b=d+f|0;h=F[g+2524>>2];e=h+F[g+2444>>2]|0;e=b>>>0<f>>>0?e+1|0:e;f=se(d,h,18,0);b=f+b|0;d=$+e|0;F[g+2440>>2]=b;F[g+2444>>2]=b>>>0<f>>>0?d+1|0:d;d=F[g+2512>>2];e=F[g+2432>>2];b=d+e|0;h=F[g+2516>>2];f=h+F[g+2436>>2]|0;f=b>>>0<e>>>0?f+1|0:f;d=se(d,h,18,0);b=d+b|0;e=$+f|0;F[g+2432>>2]=b;F[g+2436>>2]=b>>>0<d>>>0?e+1|0:e;wa(n);b=g+672|0;ja(b,n,80);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ta(n,b,g+1152|0);e=F[g+2576>>2];h=F[g+2496>>2];f=e+h|0;i=F[g+2580>>2];d=i+F[g+2500>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2496>>2]=f;F[g+2500>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2568>>2];h=F[g+2488>>2];f=e+h|0;i=F[g+2572>>2];d=i+F[g+2492>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2488>>2]=e;F[g+2492>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2560>>2];h=F[g+2480>>2];d=f+h|0;i=F[g+2564>>2];e=i+F[g+2484>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2480>>2]=f;F[g+2484>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2552>>2];h=F[g+2472>>2];d=f+h|0;i=F[g+2556>>2];e=i+F[g+2476>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2472>>2]=f;F[g+2476>>2]=f>>>0<h>>>0?d+1|0:d;e=F[g+2544>>2];h=F[g+2464>>2];d=e+h|0;i=F[g+2548>>2];f=i+F[g+2468>>2]|0;f=d>>>0<h>>>0?f+1|0:f;h=se(e,i,18,0);d=h+d|0;e=$+f|0;F[g+2464>>2]=d;F[g+2468>>2]=d>>>0<h>>>0?e+1|0:e;e=F[g+2536>>2];h=F[g+2456>>2];f=e+h|0;i=F[g+2540>>2];d=i+F[g+2460>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);f=h+f|0;e=$+d|0;F[g+2456>>2]=f;F[g+2460>>2]=f>>>0<h>>>0?e+1|0:e;e=F[g+2528>>2];h=F[g+2448>>2];f=e+h|0;i=F[g+2532>>2];d=i+F[g+2452>>2]|0;d=f>>>0<h>>>0?d+1|0:d;h=se(e,i,18,0);e=h+f|0;f=$+d|0;F[g+2448>>2]=e;F[g+2452>>2]=e>>>0<h>>>0?f+1|0:f;f=F[g+2520>>2];h=F[g+2440>>2];d=f+h|0;i=F[g+2524>>2];e=i+F[g+2444>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2440>>2]=f;F[g+2444>>2]=f>>>0<h>>>0?d+1|0:d;f=F[g+2512>>2];h=F[g+2432>>2];d=f+h|0;i=F[g+2516>>2];e=i+F[g+2436>>2]|0;e=d>>>0<h>>>0?e+1|0:e;h=se(f,i,18,0);f=h+d|0;d=$+e|0;F[g+2432>>2]=f;F[g+2436>>2]=f>>>0<h>>>0?d+1|0:d;wa(n);ja(c,n,80);ga(b,c);ga(c,b);ga(b,c);ga(c,b);ga(b,c);ta(n,b,g+1792|0);c=F[g+2576>>2];d=F[g+2496>>2];b=c+d|0;e=F[g+2580>>2];f=e+F[g+2500>>2]|0;f=b>>>0<d>>>0?f+1|0:f;c=se(c,e,18,0);b=c+b|0;e=$+f|0;F[g+2496>>2]=b;F[g+2500>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2568>>2];f=F[g+2488>>2];b=c+f|0;e=F[g+2572>>2];d=e+F[g+2492>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;e=$+d|0;F[g+2488>>2]=b;F[g+2492>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2560>>2];f=F[g+2480>>2];b=c+f|0;e=F[g+2564>>2];d=e+F[g+2484>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;f=$+d|0;F[g+2480>>2]=b;F[g+2484>>2]=b>>>0<c>>>0?f+1|0:f;c=F[g+2552>>2];d=F[g+2472>>2];b=c+d|0;f=F[g+2556>>2];e=f+F[g+2476>>2]|0;e=b>>>0<d>>>0?e+1|0:e;c=se(c,f,18,0);b=c+b|0;d=$+e|0;F[g+2472>>2]=b;F[g+2476>>2]=b>>>0<c>>>0?d+1|0:d;c=F[g+2544>>2];d=F[g+2464>>2];b=c+d|0;f=F[g+2548>>2];e=f+F[g+2468>>2]|0;e=b>>>0<d>>>0?e+1|0:e;c=se(c,f,18,0);b=c+b|0;d=$+e|0;F[g+2464>>2]=b;F[g+2468>>2]=b>>>0<c>>>0?d+1|0:d;c=F[g+2536>>2];d=F[g+2456>>2];b=c+d|0;e=F[g+2540>>2];f=e+F[g+2460>>2]|0;f=b>>>0<d>>>0?f+1|0:f;c=se(c,e,18,0);b=c+b|0;e=$+f|0;F[g+2456>>2]=b;F[g+2460>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2528>>2];f=F[g+2448>>2];b=c+f|0;e=F[g+2532>>2];d=e+F[g+2452>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;e=$+d|0;F[g+2448>>2]=b;F[g+2452>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2520>>2];f=F[g+2440>>2];b=c+f|0;e=F[g+2524>>2];d=e+F[g+2444>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;f=$+d|0;F[g+2440>>2]=b;F[g+2444>>2]=b>>>0<c>>>0?f+1|0:f;c=F[g+2512>>2];d=F[g+2432>>2];b=c+d|0;f=F[g+2516>>2];e=f+F[g+2436>>2]|0;e=b>>>0<d>>>0?e+1|0:e;c=se(c,f,18,0);b=c+b|0;d=$+e|0;F[g+2432>>2]=b;F[g+2436>>2]=b>>>0<c>>>0?d+1|0:d;wa(n);b=g+512|0;ja(b,n,80);ta(n,g+32|0,b);c=F[g+2576>>2];d=F[g+2496>>2];b=c+d|0;f=F[g+2580>>2];e=f+F[g+2500>>2]|0;e=b>>>0<d>>>0?e+1|0:e;c=se(c,f,18,0);b=c+b|0;d=$+e|0;F[g+2496>>2]=b;F[g+2500>>2]=b>>>0<c>>>0?d+1|0:d;c=F[g+2568>>2];d=F[g+2488>>2];b=c+d|0;e=F[g+2572>>2];f=e+F[g+2492>>2]|0;f=b>>>0<d>>>0?f+1|0:f;c=se(c,e,18,0);b=c+b|0;e=$+f|0;F[g+2488>>2]=b;F[g+2492>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2560>>2];f=F[g+2480>>2];b=c+f|0;e=F[g+2564>>2];d=e+F[g+2484>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;e=$+d|0;F[g+2480>>2]=b;F[g+2484>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2552>>2];f=F[g+2472>>2];b=c+f|0;e=F[g+2556>>2];d=e+F[g+2476>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;f=$+d|0;F[g+2472>>2]=b;F[g+2476>>2]=b>>>0<c>>>0?f+1|0:f;c=F[g+2544>>2];d=F[g+2464>>2];b=c+d|0;f=F[g+2548>>2];e=f+F[g+2468>>2]|0;e=b>>>0<d>>>0?e+1|0:e;c=se(c,f,18,0);b=c+b|0;d=$+e|0;F[g+2464>>2]=b;F[g+2468>>2]=b>>>0<c>>>0?d+1|0:d;c=F[g+2536>>2];d=F[g+2456>>2];b=c+d|0;f=F[g+2540>>2];e=f+F[g+2460>>2]|0;e=b>>>0<d>>>0?e+1|0:e;c=se(c,f,18,0);b=c+b|0;d=$+e|0;F[g+2456>>2]=b;F[g+2460>>2]=b>>>0<c>>>0?d+1|0:d;c=F[g+2528>>2];d=F[g+2448>>2];b=c+d|0;e=F[g+2532>>2];f=e+F[g+2452>>2]|0;f=b>>>0<d>>>0?f+1|0:f;c=se(c,e,18,0);b=c+b|0;e=$+f|0;F[g+2448>>2]=b;F[g+2452>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2520>>2];f=F[g+2440>>2];b=c+f|0;e=F[g+2524>>2];d=e+F[g+2444>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;e=$+d|0;F[g+2440>>2]=b;F[g+2444>>2]=b>>>0<c>>>0?e+1|0:e;c=F[g+2512>>2];f=F[g+2432>>2];b=c+f|0;e=F[g+2516>>2];d=e+F[g+2436>>2]|0;d=b>>>0<f>>>0?d+1|0:d;c=se(c,e,18,0);b=c+b|0;f=$+d|0;F[g+2432>>2]=b;F[g+2436>>2]=b>>>0<c>>>0?f+1|0:f;wa(n);ja(g+2272|0,n,80);b=F[g+2272>>2];s=b>>31&b;c=F[g+2280>>2]+(s>>26)|0;w=c>>31&c;d=F[g+2288>>2]+(w>>25)|0;C=d>>31&d;f=F[g+2296>>2]+(C>>26)|0;U=f>>31&f;e=F[g+2304>>2]+(U>>25)|0;m=e>>31&e;n=F[g+2312>>2]+(m>>26)|0;j=n>>31&n;h=F[g+2320>>2]+(j>>25)|0;p=h>>31&h;i=F[g+2328>>2]+(p>>26)|0;o=i>>31&i;k=F[g+2336>>2]+(o>>25)|0;r=k>>31&k;l=F[g+2344>>2]+(r>>26)|0;q=l>>31&l;b=L(q>>25,19)+(b-(s&-67108864)|0)|0;z=b>>31&b;c=(z>>26)+(c-(w&-33554432)|0)|0;s=c>>31&c;u=c-(s&-33554432)|0;y=b-(z&-67108864)|0;q=l-(q&-33554432)|0;b=(d-(C&-67108864)|0)+(s>>25)|0;l=b>>31&b;c=(f-(U&-33554432)|0)+(l>>26)|0;s=c>>31&c;d=(e-(m&-67108864)|0)+(s>>25)|0;w=d>>31&d;f=(n-(j&-33554432)|0)+(w>>26)|0;C=f>>31&f;e=(h-(p&-67108864)|0)+(C>>25)|0;U=e>>31&e;n=(i-(o&-33554432)|0)+(U>>26)|0;m=n>>31&n;h=(k-(r&-67108864)|0)+(m>>25)|0;j=h>>31&h;i=q+(j>>26)|0;p=i>>31&i;k=y+L(p>>25,19)|0;o=k>>31&k;k=k-(o&-67108864)|0;o=(u+(o>>26)|0)+(k>>26)|0;b=(o>>25)+(b-(l&-67108864)|0)|0;l=(b>>26)+(c-(s&-33554432)|0)|0;s=(l>>25)+(d-(w&-67108864)|0)|0;w=(s>>26)+(f-(C&-33554432)|0)|0;C=(w>>25)+(e-(U&-67108864)|0)|0;n=(C>>26)+(n-(m&-33554432)|0)|0;h=(n>>25)+(h-(j&-67108864)|0)|0;i=(h>>26)+(i-(p&-33554432)|0)|0;U=L(i>>25,19)+(k&67108863)|0;c=(U>>26)+(o&33554431)|0;d=(c>>25)+(b&67108863)|0;f=(d>>26)+(l&33554431)|0;e=(f>>25)+(s&67108863)|0;b=(e>>26)+(w&33554431)|0;j=b&33554431;m=i&33554431;p=h&67108863;q=n&33554431;n=(C&67108863)+(b>>25)|0;h=q+(n>>26)|0;i=p+(h>>25)|0;k=m+(i>>26)|0;l=k<<16&(k|-33554432);l=l<<8&l;l=l<<4&l;l=l<<2&l;m=l<<1&l;l=(i|-67108864)&i<<16;l=l<<8&l;l=l<<4&l;l=l<<2&l;m=(m&(l<<1&l))>>31;w=L(k>>25,19)+(U&67108863)|0;l=(c|-33554432)&c<<16;l=l<<8&l;l=l<<4&l;l=l<<2&l;p=(w-67108845>>31^-1)&(l<<1&l)>>31;l=(d|-67108864)&d<<16;l=l<<8&l;l=l<<4&l;l=l<<2&l;p=p&(l<<1&l)>>31;l=(f|-33554432)&f<<16;l=l<<8&l;l=l<<4&l;l=l<<2&l;p=p&(l<<1&l)>>31;l=(e|-67108864)&e<<16;l=l<<8&l;l=l<<4&l;l=l<<2&l;b=(b|-33554432)&b<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;p=p&(l<<1&l)>>31&(b<<1&b)>>31;b=(n|-67108864)&n<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;p=p&(b<<1&b)>>31;b=(h|-33554432)&h<<16;b=b<<8&b;b=b<<4&b;b=b<<2&b;l=m&(p&(b<<1&b)>>31);b=l&33554431;s=j-b|0;D[a+16|0]=s;e=e-l|0;D[a+15|0]=e>>>18;D[a+14|0]=e>>>10;D[a+13|0]=e>>>2;w=w-(l&67108845)|0;D[a|0]=w;k=(k&33554431)-b|0;D[a+31|0]=k>>>18;D[a+30|0]=k>>>10;D[a+29|0]=k>>>2;l=l&67108863;i=(i&67108863)-l|0;D[a+27|0]=i>>>12;D[a+26|0]=i>>>4;h=(h&33554431)-b|0;D[a+24|0]=h>>>13;D[a+23|0]=h>>>5;n=(n&67108863)-l|0;D[a+21|0]=n>>>15;D[a+20|0]=n>>>7;D[a+18|0]=s>>>16;D[a+17|0]=s>>>8;f=(f&33554431)-b|0;D[a+11|0]=f>>>11;D[a+10|0]=f>>>3;d=(d&67108863)-l|0;D[a+8|0]=d>>>13;D[a+7|0]=d>>>5;b=(c&33554431)-b|0;D[a+5|0]=b>>>14;D[a+4|0]=b>>>6;D[a+2|0]=w>>>16;D[a+1|0]=w>>>8;D[a+28|0]=k<<6|i>>>20;D[a+25|0]=i<<4|h>>>21;D[a+22|0]=h<<3|n>>>23;D[a+19|0]=n<<1|s>>>24;D[a+12|0]=e<<6|f>>>19;D[a+9|0]=f<<5|d>>>21;D[a+6|0]=d<<3|b>>>22;D[a+3|0]=b<<2|w>>>24;_=g+2592|0}function bb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,eb=0,fb=0,gb=0,hb=0;h=_-624|0;_=h;F[h+352>>2]=327033209;F[h+356>>2]=1541459225;F[h+344>>2]=-79577749;F[h+348>>2]=528734635;F[h+336>>2]=725511199;F[h+340>>2]=-1694144372;F[h+328>>2]=-1377402159;F[h+332>>2]=1359893119;F[h+320>>2]=1595750129;F[h+324>>2]=-1521486534;F[h+312>>2]=-23791573;F[h+316>>2]=1013904242;F[h+304>>2]=-2067093701;F[h+308>>2]=-1150833019;F[h+360>>2]=0;F[h+296>>2]=-205731576;F[h+300>>2]=1779033703;F[h+288>>2]=0;F[h+292>>2]=0;q=a+32|0;D[h+364|0]=G[q+32|0];D[h+365|0]=G[q+33|0];D[h+366|0]=G[q+34|0];o=h+364|0;D[(o+F[h+360>>2]|0)+3|0]=G[q+35|0];D[(F[h+360>>2]+o|0)+4|0]=G[q+36|0];D[(F[h+360>>2]+o|0)+5|0]=G[q+37|0];D[(F[h+360>>2]+o|0)+6|0]=G[q+38|0];D[(F[h+360>>2]+o|0)+7|0]=G[q+39|0];D[(F[h+360>>2]+o|0)+8|0]=G[q+40|0];D[(F[h+360>>2]+o|0)+9|0]=G[q+41|0];D[(F[h+360>>2]+o|0)+10|0]=G[q+42|0];D[(F[h+360>>2]+o|0)+11|0]=G[q+43|0];D[(F[h+360>>2]+o|0)+12|0]=G[q+44|0];D[(F[h+360>>2]+o|0)+13|0]=G[q+45|0];D[(F[h+360>>2]+o|0)+14|0]=G[q+46|0];D[(F[h+360>>2]+o|0)+15|0]=G[q+47|0];D[(F[h+360>>2]+o|0)+16|0]=G[q+48|0];D[(F[h+360>>2]+o|0)+17|0]=G[q+49|0];D[(F[h+360>>2]+o|0)+18|0]=G[q+50|0];D[(F[h+360>>2]+o|0)+19|0]=G[q+51|0];D[(F[h+360>>2]+o|0)+20|0]=G[q+52|0];D[(F[h+360>>2]+o|0)+21|0]=G[q+53|0];D[(F[h+360>>2]+o|0)+22|0]=G[q+54|0];D[(F[h+360>>2]+o|0)+23|0]=G[q+55|0];D[(F[h+360>>2]+o|0)+24|0]=G[q+56|0];D[(F[h+360>>2]+o|0)+25|0]=G[q+57|0];D[(F[h+360>>2]+o|0)+26|0]=G[q+58|0];D[(F[h+360>>2]+o|0)+27|0]=G[q+59|0];D[(F[h+360>>2]+o|0)+28|0]=G[q+60|0];D[(F[h+360>>2]+o|0)+29|0]=G[q+61|0];D[(F[h+360>>2]+o|0)+30|0]=G[q+62|0];D[(F[h+360>>2]+o|0)+31|0]=G[q+63|0];e=F[h+360>>2]+32|0;F[h+360>>2]=e;if((e|0)==128){ua(h+288|0,o);F[h+360>>2]=0;e=F[h+292>>2];f=F[h+288>>2]+1024|0;e=f>>>0<1024?e+1|0:e;F[h+288>>2]=f;F[h+292>>2]=e}a:{if(!b|!c){break a}i=F[h+360>>2];if(i>>>0>128){break a}g=c;k=b;while(1){b:{if(!(g>>>0<128|i)){ua(h+288|0,k);e=F[h+292>>2];f=F[h+288>>2]+1024|0;e=f>>>0<1024?e+1|0:e;F[h+288>>2]=f;F[h+292>>2]=e;g=g-128|0;k=k+128|0;break b}e=128-i|0;r=e>>>0>g>>>0?g:e;c:{if(!r){break c}l=r&3;n=0;d:{if(r-1>>>0<3){p=0;break d}f=r&-4;p=0;m=0;while(1){e=i+p|0;i=h+364|0;D[e+i|0]=G[k+p|0];e=p|1;D[i+(e+F[h+360>>2]|0)|0]=G[e+k|0];e=p|2;D[i+(e+F[h+360>>2]|0)|0]=G[e+k|0];e=p|3;D[i+(e+F[h+360>>2]|0)|0]=G[e+k|0];p=p+4|0;i=F[h+360>>2];m=m+4|0;if((f|0)!=(m|0)){continue}break}}if(!l){break c}while(1){D[((i+p|0)+h|0)+364|0]=G[k+p|0];p=p+1|0;i=F[h+360>>2];n=n+1|0;if((l|0)!=(n|0)){continue}break}}g=g-r|0;k=k+r|0;e=i+r|0;F[h+360>>2]=e;if((e|0)!=128){break b}ua(h+288|0,o);F[h+360>>2]=0;f=F[h+292>>2];e=F[h+288>>2]+1024|0;f=e>>>0<1024?f+1|0:f;F[h+288>>2]=e;F[h+292>>2]=f}if(!g){break a}i=F[h+360>>2];continue}}e=h+160|0;db(h+288|0,e);mb(e);Nb(h,e);g=h+224|0;nb(g,h+80|0);f=h+544|0;ha(f,h,g);e=h+496|0;ha(e,h+40|0,g);Ga(d,e);Ga(h+592|0,f);D[d+31|0]=G[d+31|0]^G[h+592|0]<<7;F[h+352>>2]=327033209;F[h+356>>2]=1541459225;F[h+344>>2]=-79577749;F[h+348>>2]=528734635;F[h+336>>2]=725511199;F[h+340>>2]=-1694144372;F[h+328>>2]=-1377402159;F[h+332>>2]=1359893119;F[h+320>>2]=1595750129;F[h+324>>2]=-1521486534;F[h+312>>2]=-23791573;F[h+316>>2]=1013904242;F[h+304>>2]=-2067093701;F[h+308>>2]=-1150833019;F[h+296>>2]=-205731576;F[h+300>>2]=1779033703;F[h+288>>2]=0;F[h+292>>2]=0;F[h+360>>2]=0;D[h+364|0]=G[d|0];D[h+365|0]=G[d+1|0];D[h+366|0]=G[d+2|0];D[h+367|0]=G[d+3|0];e=h+364|0;D[(e+F[h+360>>2]|0)+4|0]=G[d+4|0];D[(e+F[h+360>>2]|0)+5|0]=G[d+5|0];D[(e+F[h+360>>2]|0)+6|0]=G[d+6|0];D[(e+F[h+360>>2]|0)+7|0]=G[d+7|0];D[(e+F[h+360>>2]|0)+8|0]=G[d+8|0];D[(e+F[h+360>>2]|0)+9|0]=G[d+9|0];D[(e+F[h+360>>2]|0)+10|0]=G[d+10|0];D[(e+F[h+360>>2]|0)+11|0]=G[d+11|0];D[(e+F[h+360>>2]|0)+12|0]=G[d+12|0];D[(e+F[h+360>>2]|0)+13|0]=G[d+13|0];D[(e+F[h+360>>2]|0)+14|0]=G[d+14|0];D[(e+F[h+360>>2]|0)+15|0]=G[d+15|0];D[(e+F[h+360>>2]|0)+16|0]=G[d+16|0];D[(e+F[h+360>>2]|0)+17|0]=G[d+17|0];D[(e+F[h+360>>2]|0)+18|0]=G[d+18|0];D[(e+F[h+360>>2]|0)+19|0]=G[d+19|0];D[(e+F[h+360>>2]|0)+20|0]=G[d+20|0];D[(e+F[h+360>>2]|0)+21|0]=G[d+21|0];D[(e+F[h+360>>2]|0)+22|0]=G[d+22|0];D[(e+F[h+360>>2]|0)+23|0]=G[d+23|0];D[(e+F[h+360>>2]|0)+24|0]=G[d+24|0];D[(e+F[h+360>>2]|0)+25|0]=G[d+25|0];D[(e+F[h+360>>2]|0)+26|0]=G[d+26|0];D[(e+F[h+360>>2]|0)+27|0]=G[d+27|0];D[(e+F[h+360>>2]|0)+28|0]=G[d+28|0];D[(e+F[h+360>>2]|0)+29|0]=G[d+29|0];D[(e+F[h+360>>2]|0)+30|0]=G[d+30|0];D[(e+F[h+360>>2]|0)+31|0]=G[d+31|0];g=32;e=F[h+360>>2]+32|0;F[h+360>>2]=e;if((e|0)==128){ua(h+288|0,o);F[h+360>>2]=0;e=F[h+292>>2];f=F[h+288>>2]+1024|0;e=f>>>0<1024?e+1|0:e;F[h+288>>2]=f;F[h+292>>2]=e}e:{if(!a){break e}k=F[h+360>>2];if(k>>>0>128){break e}while(1){f:{if(!(g>>>0<128|k)){ua(h+288|0,a);e=F[h+292>>2];f=F[h+288>>2]+1024|0;e=f>>>0<1024?e+1|0:e;F[h+288>>2]=f;F[h+292>>2]=e;g=g-128|0;a=a+128|0;break f}e=128-k|0;i=e>>>0>g>>>0?g:e;g:{if(!i){break g}m=i&3;l=0;h:{if(i-1>>>0<3){p=0;break h}f=i&-4;p=0;n=0;while(1){e=k+p|0;k=h+364|0;D[e+k|0]=G[a+p|0];e=p|1;D[k+(e+F[h+360>>2]|0)|0]=G[a+e|0];e=p|2;D[k+(e+F[h+360>>2]|0)|0]=G[a+e|0];e=p|3;D[k+(e+F[h+360>>2]|0)|0]=G[a+e|0];p=p+4|0;k=F[h+360>>2];n=n+4|0;if((f|0)!=(n|0)){continue}break}}if(!m){break g}while(1){D[((k+p|0)+h|0)+364|0]=G[a+p|0];p=p+1|0;k=F[h+360>>2];l=l+1|0;if((m|0)!=(l|0)){continue}break}}g=g-i|0;a=a+i|0;e=i+k|0;F[h+360>>2]=e;if((e|0)!=128){break f}ua(h+288|0,o);F[h+360>>2]=0;f=F[h+292>>2];e=F[h+288>>2]+1024|0;f=e>>>0<1024?f+1|0:f;F[h+288>>2]=e;F[h+292>>2]=f}if(!g){break e}k=F[h+360>>2];continue}}i:{if(!b|!c){break i}a=F[h+360>>2];if(a>>>0>128){break i}while(1){j:{if(!(c>>>0<128|a)){ua(h+288|0,b);e=F[h+292>>2];a=F[h+288>>2]+1024|0;e=a>>>0<1024?e+1|0:e;F[h+288>>2]=a;F[h+292>>2]=e;c=c-128|0;b=b+128|0;break j}e=128-a|0;k=c>>>0<e>>>0?c:e;k:{if(!k){break k}f=k&3;i=0;l:{if(k-1>>>0<3){p=0;break l}e=k&-4;p=0;l=0;while(1){g=h+364|0;D[g+(a+p|0)|0]=G[b+p|0];a=p|1;D[g+(a+F[h+360>>2]|0)|0]=G[a+b|0];a=p|2;D[g+(a+F[h+360>>2]|0)|0]=G[a+b|0];a=p|3;D[g+(a+F[h+360>>2]|0)|0]=G[a+b|0];p=p+4|0;a=F[h+360>>2];l=l+4|0;if((e|0)!=(l|0)){continue}break}}if(!f){break k}while(1){D[((a+p|0)+h|0)+364|0]=G[b+p|0];p=p+1|0;a=F[h+360>>2];i=i+1|0;if((f|0)!=(i|0)){continue}break}}c=c-k|0;b=b+k|0;a=a+k|0;F[h+360>>2]=a;if((a|0)!=128){break j}ua(h+288|0,o);F[h+360>>2]=0;e=F[h+292>>2];a=F[h+288>>2]+1024|0;e=a>>>0<1024?e+1|0:e;F[h+288>>2]=a;F[h+292>>2]=e}if(!c){break i}a=F[h+360>>2];continue}}t=h+224|0;db(h+288|0,t);mb(t);b=G[q+24|0];a=b>>>24|0;f=G[q+23|0];c=f|b<<8;b=a;e=c;c=G[q+25|0];a=c>>>16|0;g=e|c<<16;e=a|b;r=G[q+26|0];c=r;a=c>>>8|0;c=c<<24;e=a|e;a=c|g;L=((e&31)<<27|a>>>5)&2097151;c=G[t+27|0];a=c>>>24|0;g=G[t+26|0];c=g|c<<8;i=G[t+28|0];b=i;e=b>>>16|0;b=b<<16;e=a|e;a=b|c;N=((e&3)<<30|a>>>2)&2097151;l=se(L,0,N,0);m=$;c=0;x=c;O=f<<16&2031616|(G[q+21|0]|G[q+22|0]<<8);k=O;b=G[t+29|0];a=b>>>24|0;e=i|b<<8;b=a;c=e;e=G[t+30|0];a=e>>>16|0;f=c|e<<16;e=a|b;b=G[t+31|0];a=b>>>8|0;b=b<<24;c=a|e;a=b|f;P=(c&127)<<25|a>>>7;Q=c>>>7|0;a=se(k,x,P,Q);b=a+l|0;f=$+m|0;n=b;b=a>>>0>b>>>0?f+1|0:f;a=G[q+27|0];f=a>>>24|0;i=G[q+28|0];c=i;e=c>>>16|0;c=r|a<<8|c<<16;e=e|f;R=((e&3)<<30|c>>>2)&2097151;l=R;e=0;a=G[t+24|0];f=a>>>24|0;k=G[t+23|0];m=k|a<<8;c=G[t+25|0];a=c>>>16|0;m=m|c<<16;c=a|f|g>>>8;S=((c&31)<<27|(g<<24|m)>>>5)&2097151;a=se(l,e,S,0);c=a+n|0;e=$+b|0;m=c;g=a>>>0>c>>>0?e+1|0:e;a=G[q+29|0];e=a>>>24|0;b=i|a<<8;a=e;c=b;b=G[q+30|0];e=b>>>16|0;c=c|b<<16;b=a|e;a=G[q+31|0];e=a>>>8|0;a=a<<24|c;b=b|e;f=b>>>7|0;c=(b&127)<<25|a>>>7;b=f;T=k<<16&2031616|(G[t+21|0]|G[t+22|0]<<8);e=se(c,f,T,0);f=e+m|0;a=$+g|0;l=f;m=e>>>0>f>>>0?a+1|0:a;f=se(O,x,N,x);k=$;a=G[q+19|0];e=a>>>24|0;p=G[q+18|0];g=p|a<<8;a=e;n=f;f=G[q+20|0];e=f>>>16|0;f=f<<16;i=a|e;e=f|g;U=(i&7)<<29|e>>>3;H=i>>>3|0;e=se(U,H,P,Q);f=n+e|0;a=$+k|0;a=e>>>0>f>>>0?a+1|0:a;e=se(L,x,S,j);g=e+f|0;f=$+a|0;f=e>>>0>g>>>0?f+1|0:f;a=se(R,j,T,j);g=a+g|0;e=$+f|0;f=g;g=a>>>0>f>>>0?e+1|0:e;e=G[t+19|0];a=e>>>24|0;o=G[t+18|0];k=o|e<<8;i=f;e=G[t+20|0];f=e>>>16|0;e=e<<16;f=a|f;a=e|k;V=(f&7)<<29|a>>>3;W=f>>>3|0;a=se(c,b,V,W);f=i+a|0;e=$+g|0;k=f;e=a>>>0>f>>>0?e+1|0:e;r=e;n=e-((f>>>0<4293918720)-1|0)|0;e=n>>21;u=f- -1048576|0;a=(n&2097151)<<11|u>>>21;g=a+l|0;f=e+m|0;f=a>>>0>g>>>0?f+1|0:f;i=f;l=f-((g>>>0<4293918720)-1|0)|0;e=l>>21;s=g- -1048576|0;z=(l&2097151)<<11|s>>>21;m=e;a=se(N,x,R,j);e=$;f=a;a=se(L,x,P,Q);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(S,j,c,b);v=a+f|0;a=$+e|0;a=f>>>0>v>>>0?a+1|0:a;f=z;e=v;w=e- -1048576|0;v=w&-2097152;z=e-v|0;y=f+z|0;f=a-((e>>>0<4293918720)-1|0)|0;e=(a-((f&2147483647)+(e>>>0<v>>>0)|0)|0)+m|0;Da=y;e=y>>>0<z>>>0?e+1|0:e;Ea=e;y=se(y,e,470296,0);v=$;e=se(N,x,c,b);a=$;m=e;e=se(P,Q,R,j);m=m+e|0;a=$+a|0;a=e>>>0>m>>>0?a+1|0:a;e=m;m=(f&2097151)<<11|w>>>21;z=e+m|0;f=(f>>>21|0)+a|0;e=z;Fa=e- -1048576|0;f=m>>>0>e>>>0?f+1|0:f;z=f-((e>>>0<4293918720)-1|0)|0;I=z;a=s&-2097152;m=i-((a>>>0>g>>>0)+l|0)|0;ya=g-a|0;Ha=m;a=f;f=Fa&-2097152;a=a-((z&2147483647)+(f>>>0>e>>>0)|0)|0;za=e-f|0;Ia=a;e=se(za,a,666643,0);f=e+y|0;a=$+v|0;a=e>>>0>f>>>0?a+1|0:a;e=f;f=se(ya,m,654183,0);g=e+f|0;e=$+a|0;y=g;i=f>>>0>g>>>0?e+1|0:e;a=u&-2097152;u=k-a|0;s=r-((a>>>0>k>>>0)+n|0)|0;l=se(N,x,U,H);k=$;a=G[q+16|0];e=a>>>24|0;m=G[q+15|0];g=m|a<<8;f=G[q+17|0];a=f>>>16|0;g=g|f<<16;e=a|e|p>>>8;X=((e&63)<<26|(p<<24|g)>>>6)&2097151;e=se(X,0,P,Q);f=e+l|0;a=$+k|0;a=e>>>0>f>>>0?a+1|0:a;e=se(O,x,S,j);g=e+f|0;f=$+a|0;f=e>>>0>g>>>0?f+1|0:f;e=se(L,x,T,j);g=e+g|0;a=$+f|0;a=e>>>0>g>>>0?a+1|0:a;f=se(R,j,V,W);g=f+g|0;e=$+a|0;n=g;g=f>>>0>g>>>0?e+1|0:e;a=G[t+16|0];f=a>>>24|0;l=G[t+15|0];k=l|a<<8;e=G[t+17|0];a=e>>>16|0;k=k|e<<16;e=a|f|o>>>8;Y=((e&63)<<26|(o<<24|k)>>>6)&2097151;a=se(c,b,Y,0);f=a+n|0;e=$+g|0;o=f;k=a>>>0>f>>>0?e+1|0:e;a=se(N,x,X,j);r=$;n=a;e=G[q+14|0];f=e>>>24|0;g=G[q+13|0];a=g|e<<8|m<<16;e=m>>>16|f;Z=((e&1)<<31|a>>>1)&2097151;e=se(Z,0,P,Q);f=n+e|0;a=$+r|0;a=e>>>0>f>>>0?a+1|0:a;e=se(S,j,U,H);f=e+f|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=se(O,x,T,j);m=e+f|0;f=$+a|0;f=e>>>0>m>>>0?f+1|0:f;a=se(L,x,V,W);m=a+m|0;e=$+f|0;e=a>>>0>m>>>0?e+1|0:e;a=se(R,j,Y,j);f=a+m|0;e=$+e|0;r=f;a=a>>>0>f>>>0?e+1|0:e;e=G[t+14|0];f=e>>>24|0;m=G[t+13|0];n=m|e<<8;e=l>>>16|0;l=l<<16;f=e|f;e=l|n;aa=((f&1)<<31|e>>>1)&2097151;e=se(c,b,aa,0);f=e+r|0;a=$+a|0;r=f;a=e>>>0>f>>>0?a+1|0:a;l=a;B=a-((f>>>0<4293918720)-1|0)|0;C=f- -1048576|0;a=C;a=(B&2097151)<<11|a>>>21;n=a+o|0;f=(B>>21)+k|0;f=a>>>0>n>>>0?f+1|0:f;v=f;z=f-((n>>>0<4293918720)-1|0)|0;e=z>>21;A=n- -1048576|0;f=(z&2097151)<<11|A>>>21;k=f+u|0;a=e+s|0;Ja=k;a=f>>>0>k>>>0?a+1|0:a;Ka=a;e=se(k,a,-997805,-1);f=e+y|0;a=$+i|0;w=f;o=e>>>0>f>>>0?a+1|0:a;a=G[q+3|0];e=a>>>24|0;f=G[q+2|0];i=f|a<<8;k=G[q+4|0];a=k>>>16|0;p=i|k<<16;i=a|e;k=G[q+5|0];a=k;e=a>>>8|0;a=a<<24|p;e=e|i;ba=((e&31)<<27|a>>>5)&2097151;a=se(ba,0,T,j);e=$;i=a;ca=f<<16&2031616|(G[q|0]|G[q+1|0]<<8);a=se(ca,0,S,j);i=i+a|0;f=$+e|0;f=a>>>0>i>>>0?f+1|0:f;a=i;e=f;i=G[q+6|0];f=i>>>24|0;p=k|i<<8;s=a;i=G[q+7|0];k=i;a=k>>>16|0;k=k<<16;f=a|f;a=k|p;da=((f&3)<<30|a>>>2)&2097151;a=se(da,0,V,W);f=s+a|0;e=$+e|0;k=f;f=a>>>0>f>>>0?e+1|0:e;a=G[q+8|0];e=a>>>24|0;s=i|a<<8;i=G[q+9|0];a=i>>>16|0;p=s|i<<16;i=a|e;s=k;k=G[q+10|0];a=k;e=a>>>8|0;a=a<<24|p;e=e|i;ea=((e&127)<<25|a>>>7)&2097151;a=se(ea,0,Y,j);i=s+a|0;e=$+f|0;p=i;f=a>>>0>i>>>0?e+1|0:e;a=G[q+11|0];e=a>>>24|0;k=k|a<<8;a=e;i=k;k=G[q+12|0];e=k>>>16|0;i=i|k<<16;k=a|e;e=g<<24;g=g>>>8|k;a=e|i;fa=((g&15)<<28|a>>>4)&2097151;a=se(fa,0,aa,j);e=a+p|0;f=$+f|0;s=e;k=a>>>0>e>>>0?f+1|0:f;a=G[t+11|0];e=a>>>24|0;i=G[t+10|0];f=i|a<<8;p=G[t+12|0];a=p>>>16|0;p=f|p<<16;e=a|e|m>>>8;ga=((e&15)<<28|(m<<24|p)>>>4)&2097151;e=se(Z,j,ga,0);f=e+s|0;a=$+k|0;s=f;m=e>>>0>f>>>0?a+1|0:a;f=G[t+8|0];e=f>>>24|0;k=G[t+7|0];a=k|f<<8;p=G[t+9|0];f=p>>>16|0;p=a|p<<16;f=e|f|i>>>8;a=i<<24|p;ia=((f&127)<<25|a>>>7)&2097151;a=se(X,j,ia,0);f=a+s|0;e=$+m|0;g=a>>>0>f>>>0?e+1|0:e;a=G[t+6|0];e=a>>>24|0;i=G[t+5|0];m=i|a<<8;e=k>>>16|e;a=k<<16|m;ja=((e&3)<<30|a>>>2)&2097151;e=se(U,H,ja,0);f=e+f|0;a=$+g|0;u=f;m=e>>>0>f>>>0?a+1|0:a;e=G[t+3|0];a=e>>>24|0;g=G[t+2|0];f=g|e<<8;p=G[t+4|0];e=p>>>16|0;s=f|p<<16;f=a|e|i>>>8;a=i<<24|s;ka=((f&31)<<27|a>>>5)&2097151;a=se(O,x,ka,0);e=a+u|0;f=$+m|0;f=a>>>0>e>>>0?f+1|0:f;la=g<<16&2031616|(G[t|0]|G[t+1|0]<<8);a=se(L,x,la,0);g=a+e|0;e=$+f|0;i=g;f=a>>>0>g>>>0?e+1|0:e;e=G[h+184|0];a=e>>>24|0;g=G[h+183|0];k=g|e<<8;e=a;m=k;k=G[h+185|0];a=k>>>16|0;m=m|k<<16;k=a|e;La=G[h+186|0];e=La;a=e>>>8|0;e=e<<24;k=a|k;a=e|m;a=((k&31)<<27|a>>>5)&2097151;k=a+i|0;e=f;m=k;k=a>>>0>k>>>0?e+1|0:e;f=G[h+181|0]|G[h+182|0]<<8;a=se(V,W,ba,j);e=$;s=f;f=a;a=se(T,j,ca,j);i=f+a|0;f=$+e|0;f=a>>>0>i>>>0?f+1|0:f;e=se(da,j,Y,j);i=e+i|0;a=$+f|0;a=e>>>0>i>>>0?a+1|0:a;f=se(aa,j,ea,j);i=f+i|0;e=$+a|0;e=f>>>0>i>>>0?e+1|0:e;f=se(fa,j,ga,j);i=f+i|0;a=$+e|0;a=f>>>0>i>>>0?a+1|0:a;f=se(Z,j,ia,j);i=f+i|0;e=$+a|0;e=f>>>0>i>>>0?e+1|0:e;a=se(X,j,ja,j);i=a+i|0;f=$+e|0;f=a>>>0>i>>>0?f+1|0:f;e=se(U,H,ka,j);i=e+i|0;a=$+f|0;a=e>>>0>i>>>0?a+1|0:a;f=se(O,x,la,j);i=f+i|0;e=$+a|0;e=f>>>0>i>>>0?e+1|0:e;f=i;i=s+f|0;a=f>>>0>i>>>0?e+1|0:e;f=g<<16&2031616;g=f+i|0;e=a;e=f>>>0>g>>>0?e+1|0:e;f=e;u=e-((g>>>0<4293918720)-1|0)|0;e=u>>>21|0;a=m;y=g- -1048576|0;m=(u&2097151)<<11|y>>>21;i=a+m|0;a=e+k|0;a=i>>>0<m>>>0?a+1|0:a;m=i;k=i;i=i+w|0;e=a;a=e+o|0;a=i>>>0<k>>>0?a+1|0:a;k=e;e=m;m=k-((e>>>0<4293918720)-1|0)|0;Ma=e- -1048576|0;e=i;k=Ma&-2097152;E=e-k|0;ma=a-((e>>>0<k>>>0)+m|0)|0;s=g;p=f;a=se(ya,Ha,470296,0);e=$;f=a;a=se(Da,Ea,666643,0);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(Ja,Ka,654183,0);g=a+f|0;a=$+e|0;J=g;o=f>>>0>g>>>0?a+1|0:a;a=se(Y,j,ba,j);e=$;f=a;a=se(V,W,ca,j);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(da,j,aa,j);g=a+f|0;a=$+e|0;a=f>>>0>g>>>0?a+1|0:a;e=se(ga,j,ea,j);g=e+g|0;f=$+a|0;f=e>>>0>g>>>0?f+1|0:f;a=se(ia,j,fa,j);g=a+g|0;e=$+f|0;e=a>>>0>g>>>0?e+1|0:e;f=se(Z,j,ja,j);g=f+g|0;a=$+e|0;a=f>>>0>g>>>0?a+1|0:a;f=se(X,j,ka,j);g=f+g|0;e=$+a|0;e=f>>>0>g>>>0?e+1|0:e;f=se(U,H,la,j);g=f+g|0;a=$+e|0;e=g;f=f>>>0>e>>>0?a+1|0:a;g=G[h+179|0];a=g>>>24|0;i=G[h+178|0];k=i|g<<8;t=e;g=G[h+180|0];e=g>>>16|0;g=g<<16;w=a|e;e=g|k;e=(w&7)<<29|e>>>3;g=t+e|0;f=(w>>>3|0)+f|0;q=g;k=e>>>0>g>>>0?f+1|0:f;a=se(aa,j,ba,j);e=$;f=a;a=se(Y,j,ca,j);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=se(da,j,ga,j);f=a+f|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(ia,j,ea,j);g=a+f|0;a=$+e|0;a=f>>>0>g>>>0?a+1|0:a;e=se(fa,j,ja,j);f=e+g|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=se(Z,j,ka,j);g=e+f|0;f=$+a|0;f=e>>>0>g>>>0?f+1|0:f;a=se(X,j,la,j);g=a+g|0;e=$+f|0;t=g;g=a>>>0>g>>>0?e+1|0:e;e=G[h+176|0];a=e>>>24|0;ra=G[h+175|0];w=ra|e<<8;e=G[h+177|0];f=e>>>16|0;w=w|e<<16;e=a|f|i>>>8;a=((e&63)<<26|(i<<24|w)>>>6)&2097151;f=a+t|0;e=g;t=f;e=a>>>0>f>>>0?e+1|0:e;i=e;na=e-((f>>>0<4293918720)-1|0)|0;e=na>>>21|0;Xa=f- -1048576|0;a=(na&2097151)<<11|Xa>>>21;g=a+q|0;f=e+k|0;w=g;f=a>>>0>g>>>0?f+1|0:f;wa=f;pa=f-((g>>>0<4293918720)-1|0)|0;e=pa>>>21|0;Na=g- -1048576|0;a=(pa&2097151)<<11|Na>>>21;f=a+J|0;e=e+o|0;e=a>>>0>f>>>0?e+1|0:e;g=f+s|0;a=e+p|0;e=g;f=f>>>0>e>>>0?a+1|0:a;a=y&-2097152;k=f-((a>>>0>e>>>0)+u|0)|0;y=e-a|0;Ya=y- -1048576|0;a=Ya;M=k-((y>>>0<4293918720)-1|0)|0;e=M>>21;a=(M&2097151)<<11|a>>>21;f=a+E|0;e=e+ma|0;p=f;e=a>>>0>f>>>0?e+1|0:e;g=e;Oa=e-((f>>>0<4293918720)-1|0)|0;e=Oa>>21;Za=f- -1048576|0;K=(Oa&2097151)<<11|Za>>>21;s=e;a=A&-2097152;xa=n-a|0;sa=v-((a>>>0>n>>>0)+z|0)|0;o=se(P,Q,c,b);a=$;qa=a;v=a-((o>>>0<4293918720)-1|0)|0;Aa=o- -1048576|0;a=Aa;Ba=(v&2097151)<<11|a>>>21;e=v>>>21|0;Pa=e;e=se(Ba,e,-683901,-1);f=e+r|0;a=$+l|0;a=e>>>0>f>>>0?a+1|0:a;e=C&-2097152;z=f-e|0;u=a-((e>>>0>f>>>0)+B|0)|0;a=se(N,x,Z,j);e=$;f=a;a=se(P,Q,fa,j);l=f+a|0;f=$+e|0;f=a>>>0>l>>>0?f+1|0:f;a=se(S,j,X,j);l=a+l|0;e=$+f|0;e=a>>>0>l>>>0?e+1|0:e;f=se(T,j,U,H);l=f+l|0;a=$+e|0;a=f>>>0>l>>>0?a+1|0:a;e=se(O,x,V,W);f=e+l|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=f;f=se(L,x,Y,j);l=e+f|0;e=$+a|0;e=f>>>0>l>>>0?e+1|0:e;a=se(R,j,aa,j);l=a+l|0;f=$+e|0;f=a>>>0>l>>>0?f+1|0:f;a=se(c,b,ga,j);l=a+l|0;e=$+f|0;n=l;l=a>>>0>l>>>0?e+1|0:e;e=se(N,x,fa,j);a=$;f=e;e=se(P,Q,ea,j);f=f+e|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=se(S,j,Z,j);f=e+f|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=f;f=se(T,j,X,j);r=e+f|0;e=$+a|0;e=f>>>0>r>>>0?e+1|0:e;a=se(U,H,V,W);r=a+r|0;f=$+e|0;f=a>>>0>r>>>0?f+1|0:f;a=se(O,x,Y,j);r=a+r|0;e=$+f|0;e=a>>>0>r>>>0?e+1|0:e;f=se(L,x,aa,j);r=f+r|0;a=$+e|0;a=f>>>0>r>>>0?a+1|0:a;e=se(R,j,ga,j);f=e+r|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=f;f=se(c,b,ia,j);r=e+f|0;e=$+a|0;ta=r;e=f>>>0>r>>>0?e+1|0:e;ma=e;a=r;J=e-((a>>>0<4293918720)-1|0)|0;va=a- -1048576|0;e=va;f=(J&2097151)<<11|e>>>21;n=f+n|0;e=(J>>21)+l|0;r=n;e=f>>>0>n>>>0?e+1|0:e;q=e;C=e-((n>>>0<4293918720)-1|0)|0;oa=n- -1048576|0;e=oa;f=(C&2097151)<<11|e>>>21;l=f+z|0;e=(C>>21)+u|0;n=l;e=f>>>0>l>>>0?e+1|0:e;A=e;B=e-((l>>>0<4293918720)-1|0)|0;E=l- -1048576|0;e=E;f=(B&2097151)<<11|e>>>21;l=f+xa|0;e=(B>>21)+sa|0;Qa=l;e=f>>>0>l>>>0?e+1|0:e;Ra=e;e=se(l,e,-683901,-1);f=e+K|0;a=$+s|0;K=f;z=e>>>0>f>>>0?a+1|0:a;a=se(S,j,ba,j);e=$;f=a;a=se(N,x,ca,j);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=se(T,j,da,j);l=a+f|0;f=$+e|0;f=a>>>0>l>>>0?f+1|0:f;e=se(V,W,ea,j);l=e+l|0;a=$+f|0;a=e>>>0>l>>>0?a+1|0:a;f=se(Y,j,fa,j);l=f+l|0;e=$+a|0;e=f>>>0>l>>>0?e+1|0:e;f=se(Z,j,aa,j);l=f+l|0;a=$+e|0;a=f>>>0>l>>>0?a+1|0:a;f=se(X,j,ga,j);l=f+l|0;e=$+a|0;e=f>>>0>l>>>0?e+1|0:e;a=se(U,H,ia,j);l=a+l|0;f=$+e|0;f=a>>>0>l>>>0?f+1|0:f;e=se(O,x,ja,j);l=e+l|0;a=$+f|0;a=e>>>0>l>>>0?a+1|0:a;f=se(L,x,ka,j);l=f+l|0;e=$+a|0;e=f>>>0>l>>>0?e+1|0:e;f=se(R,j,la,j);l=f+l|0;a=$+e|0;e=l;f=f>>>0>e>>>0?a+1|0:a;l=G[h+187|0];a=l>>>24|0;s=La|l<<8;u=e;ab=G[h+188|0];l=ab;e=l>>>16|0;l=l<<16;e=a|e;a=l|s;a=((e&3)<<30|a>>>2)&2097151;l=u+a|0;e=f;e=a>>>0>l>>>0?e+1|0:e;u=l;s=e;xa=se(za,Ia,470296,0);sa=$;e=Aa&-2097152;a=o-e|0;o=qa-((v&2147483647)+(e>>>0>o>>>0)|0)|0;f=(I&2097151)<<11|Fa>>>21;v=f+a|0;a=(I>>>21|0)+o|0;Sa=v;a=f>>>0>v>>>0?a+1|0:a;Ta=a;a=se(v,a,666643,0);f=a+xa|0;e=$+sa|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(Da,Ea,654183,0);o=a+f|0;a=$+e|0;a=f>>>0>o>>>0?a+1|0:a;e=se(ya,Ha,-997805,-1);o=e+o|0;f=$+a|0;f=e>>>0>o>>>0?f+1|0:f;a=se(Ja,Ka,136657,0);o=a+o|0;e=$+f|0;e=a>>>0>o>>>0?e+1|0:e;bb=l- -1048576|0;f=s-((l>>>0<4293918720)-1|0)|0;l=f;a=m>>>21|0;m=(m&2097151)<<11|Ma>>>21;o=o+m|0;a=a+e|0;a=m>>>0>o>>>0?a+1|0:a;m=o;o=m+u|0;e=a+s|0;e=m>>>0>o>>>0?e+1|0:e;a=bb&-2097152;m=o-a|0;s=m+K|0;e=e-((a>>>0>o>>>0)+f|0)|0;a=e+z|0;a=m>>>0>s>>>0?a+1|0:a;f=s;s=e;e=m;m=s-((e>>>0<4293918720)-1|0)|0;cb=e- -1048576|0;e=f;f=cb&-2097152;a=a-((e>>>0<f>>>0)+m|0)|0;v=e-f|0;qa=v;K=a;o=g;a=E&-2097152;E=n-a|0;I=A-((a>>>0>n>>>0)+B|0)|0;e=se(Sa,Ta,-683901,-1);a=$;f=e;e=se(Ba,Pa,136657,0);f=f+e|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;f=f+r|0;e=a+q|0;e=f>>>0<r>>>0?e+1|0:e;a=oa&-2097152;A=f-a|0;B=e-((a>>>0>f>>>0)+C|0)|0;a=se(Ba,Pa,-997805,-1);f=a+ta|0;e=$+ma|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(Sa,Ta,136657,0);g=a+f|0;a=$+e|0;a=f>>>0>g>>>0?a+1|0:a;f=se(za,Ia,-683901,-1);g=f+g|0;e=$+a|0;e=f>>>0>g>>>0?e+1|0:e;f=g;a=va&-2097152;s=f-a|0;r=e-((a>>>0>f>>>0)+J|0)|0;a=se(N,x,ea,j);e=$;f=a;a=se(P,Q,da,j);g=f+a|0;f=$+e|0;f=a>>>0>g>>>0?f+1|0:f;e=se(S,j,fa,j);g=e+g|0;a=$+f|0;a=e>>>0>g>>>0?a+1|0:a;f=se(T,j,Z,j);g=f+g|0;e=$+a|0;e=f>>>0>g>>>0?e+1|0:e;a=se(X,j,V,W);f=a+g|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(U,H,Y,j);g=a+f|0;a=$+e|0;a=f>>>0>g>>>0?a+1|0:a;e=se(O,x,aa,j);g=e+g|0;f=$+a|0;f=e>>>0>g>>>0?f+1|0:f;e=se(L,x,ga,j);g=e+g|0;a=$+f|0;a=e>>>0>g>>>0?a+1|0:a;f=se(R,j,ia,j);g=f+g|0;e=$+a|0;e=f>>>0>g>>>0?e+1|0:e;a=se(c,b,ja,j);f=a+g|0;e=$+e|0;n=f;g=a>>>0>f>>>0?e+1|0:e;e=se(N,x,da,j);a=$;f=e;e=se(P,Q,ba,j);f=f+e|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=se(S,j,ea,j);u=e+f|0;f=$+a|0;f=e>>>0>u>>>0?f+1|0:f;e=se(T,j,fa,j);u=e+u|0;a=$+f|0;a=e>>>0>u>>>0?a+1|0:a;f=se(V,W,Z,j);u=f+u|0;e=$+a|0;e=f>>>0>u>>>0?e+1|0:e;a=se(X,j,Y,j);f=a+u|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(U,H,aa,j);u=a+f|0;a=$+e|0;a=f>>>0>u>>>0?a+1|0:a;e=se(O,x,ga,j);u=e+u|0;f=$+a|0;f=e>>>0>u>>>0?f+1|0:f;e=se(L,x,ia,j);u=e+u|0;a=$+f|0;a=e>>>0>u>>>0?a+1|0:a;f=se(R,j,ja,j);u=f+u|0;e=$+a|0;e=f>>>0>u>>>0?e+1|0:e;a=se(c,b,ka,j);f=a+u|0;e=$+e|0;z=f;e=a>>>0>f>>>0?e+1|0:e;xa=e;sa=e-((f>>>0<4293918720)-1|0)|0;e=sa>>21;eb=f- -1048576|0;a=(sa&2097151)<<11|eb>>>21;n=a+n|0;f=e+g|0;u=n;f=a>>>0>n>>>0?f+1|0:f;Aa=f;ta=f-((n>>>0<4293918720)-1|0)|0;e=ta>>21;fb=n- -1048576|0;a=(ta&2097151)<<11|fb>>>21;f=a+s|0;e=e+r|0;s=f;e=a>>>0>f>>>0?e+1|0:e;va=e;oa=e-((f>>>0<4293918720)-1|0)|0;e=oa>>21;Fa=f- -1048576|0;a=(oa&2097151)<<11|Fa>>>21;g=a+A|0;f=e+B|0;f=a>>>0>g>>>0?f+1|0:f;r=f;n=f-((g>>>0<4293918720)-1|0)|0;e=n>>21;A=g- -1048576|0;a=(n&2097151)<<11|A>>>21;f=a+E|0;e=e+I|0;Ua=f;e=a>>>0>f>>>0?e+1|0:e;Va=e;e=se(f,e,-683901,-1);a=$;f=e;e=se(Qa,Ra,136657,0);f=f+e|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=f;p=e+p|0;f=a+o|0;gb=p;E=e>>>0>p>>>0?f+1|0:f;I=y;B=k;f=se(Ua,Va,136657,0);k=$;a=A&-2097152;e=r-((a>>>0>g>>>0)+n|0)|0;Ca=g-a|0;Wa=e;a=f;f=se(Qa,Ra,-997805,-1);g=a+f|0;a=$+k|0;a=f>>>0>g>>>0?a+1|0:a;f=se(Ca,e,-683901,-1);g=f+g|0;e=$+a|0;hb=g;y=f>>>0>g>>>0?e+1|0:e;a=se(Ja,Ka,470296,0);e=$;f=a;a=se(ya,Ha,666643,0);g=f+a|0;f=$+e|0;e=g+w|0;a=wa+(a>>>0>g>>>0?f+1|0:f)|0;a=e>>>0<w>>>0?a+1|0:a;f=e;e=Na&-2097152;_a=f-e|0;$a=a-((e>>>0>f>>>0)+pa|0)|0;C=se(Ja,Ka,666643,0);A=$;a=se(ba,j,ga,j);e=$;f=a;a=se(aa,j,ca,j);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=se(da,j,ia,j);g=a+f|0;f=$+e|0;f=a>>>0>g>>>0?f+1|0:f;e=se(ea,j,ja,j);g=e+g|0;a=$+f|0;a=e>>>0>g>>>0?a+1|0:a;f=se(fa,j,ka,j);g=f+g|0;e=$+a|0;e=f>>>0>g>>>0?e+1|0:e;f=se(Z,j,la,j);g=f+g|0;a=$+e|0;a=f>>>0>g>>>0?a+1|0:a;f=a;e=G[h+174|0];a=e>>>24|0;k=G[h+173|0];n=k|e<<8;e=ra>>>16|a;a=ra<<16|n;a=((e&1)<<31|a>>>1)&2097151;g=a+g|0;e=f;w=g;g=a>>>0>g>>>0?e+1|0:e;a=se(ia,j,ba,j);e=$;f=a;a=se(ca,j,ga,j);n=f+a|0;f=$+e|0;f=a>>>0>n>>>0?f+1|0:f;e=se(da,j,ja,j);n=e+n|0;a=$+f|0;a=e>>>0>n>>>0?a+1|0:a;f=se(ea,j,ka,j);n=f+n|0;e=$+a|0;e=f>>>0>n>>>0?e+1|0:e;f=se(fa,j,la,j);n=f+n|0;a=$+e|0;o=n;f=f>>>0>o>>>0?a+1|0:a;e=G[h+171|0];a=e>>>24|0;ra=G[h+170|0];r=ra|e<<8;n=G[h+172|0];e=n>>>16|0;r=r|n<<16;n=a|e;e=k<<24;k=k>>>8|n;a=e|r;a=((k&15)<<28|a>>>4)&2097151;k=a+o|0;e=f;p=k;e=a>>>0>k>>>0?e+1|0:e;k=e;wa=e-((p>>>0<4293918720)-1|0)|0;Ma=p- -1048576|0;e=Ma;f=(wa&2097151)<<11|e>>>21;n=f+w|0;e=(wa>>>21|0)+g|0;o=n;e=f>>>0>o>>>0?e+1|0:e;pa=e;ma=e-((o>>>0<4293918720)-1|0)|0;La=o- -1048576|0;e=La;f=(ma&2097151)<<11|e>>>21;g=f+C|0;e=(ma>>>21|0)+A|0;e=f>>>0>g>>>0?e+1|0:e;a=g;g=a+t|0;f=e+i|0;e=g;f=a>>>0>e>>>0?f+1|0:f;a=Xa&-2097152;J=f-((a>>>0>e>>>0)+na|0)|0;r=e-a|0;Na=r- -1048576|0;e=Na;q=J-((r>>>0<4293918720)-1|0)|0;a=q>>21;f=(q&2097151)<<11|e>>>21;g=f+_a|0;e=a+$a|0;n=g;e=f>>>0>g>>>0?e+1|0:e;C=e;A=e-((g>>>0<4293918720)-1|0)|0;na=g- -1048576|0;e=na;f=(A&2097151)<<11|e>>>21;g=f+hb|0;e=(A>>21)+y|0;e=f>>>0>g>>>0?e+1|0:e;f=g;g=f+I|0;a=e+B|0;e=g;f=f>>>0>e>>>0?a+1|0:a;a=Ya&-2097152;B=f-((a>>>0>e>>>0)+M|0)|0;i=e-a|0;M=i- -1048576|0;e=M;t=B-((i>>>0<4293918720)-1|0)|0;a=t>>21;f=(t&2097151)<<11|e>>>21;g=f+gb|0;e=a+E|0;e=f>>>0>g>>>0?e+1|0:e;f=g;a=Za&-2097152;w=e-((a>>>0>f>>>0)+Oa|0)|0;e=f-a|0;g=K-((v>>>0<4293918720)-1|0)|0;_a=v- -1048576|0;y=w-((e>>>0<4293918720)-1|0)|0;f=y>>21;I=e- -1048576|0;v=(y&2097151)<<11|I>>>21;E=v+qa|0;a=f+K|0;a=v>>>0>E>>>0?a+1|0:a;v=E;f=_a&-2097152;$a=v-f|0;Xa=a-((f>>>0>v>>>0)+g|0)|0;a=I&-2097152;Ya=e-a|0;Za=w-((a>>>0>e>>>0)+y|0)|0;a=M&-2097152;Oa=i-a|0;qa=B-((a>>>0>i>>>0)+t|0)|0;a=se(Ua,Va,-997805,-1);e=$;f=a;a=se(Qa,Ra,654183,0);i=f+a|0;f=$+e|0;f=a>>>0>i>>>0?f+1|0:f;a=se(Ca,Wa,136657,0);i=a+i|0;e=$+f|0;e=a>>>0>i>>>0?e+1|0:e;a=i+n|0;e=e+C|0;e=a>>>0<n>>>0?e+1|0:e;f=a;a=na&-2097152;K=f-a|0;E=e-((a>>>0>f>>>0)+A|0)|0;a=Fa&-2097152;I=s-a|0;C=va-((a>>>0>s>>>0)+oa|0)|0;a=se(Sa,Ta,-997805,-1);e=$;f=a;a=se(Ba,Pa,654183,0);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=se(za,Ia,136657,0);i=a+f|0;f=$+e|0;f=a>>>0>i>>>0?f+1|0:f;e=se(Da,Ea,-683901,-1);i=e+i|0;a=$+f|0;f=i+u|0;e=Aa+(e>>>0>i>>>0?a+1|0:a)|0;e=f>>>0<u>>>0?e+1|0:e;a=fb&-2097152;t=f-a|0;w=e-((a>>>0>f>>>0)+ta|0)|0;a=se(Sa,Ta,654183,0);e=$;f=a;a=se(Ba,Pa,470296,0);f=f+a|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(za,Ia,-997805,-1);i=a+f|0;a=$+e|0;a=f>>>0>i>>>0?a+1|0:a;f=i+z|0;e=a+xa|0;a=se(Da,Ea,136657,0);i=a+f|0;f=$+(f>>>0<z>>>0?e+1|0:e)|0;f=a>>>0>i>>>0?f+1|0:f;e=se(ya,Ha,-683901,-1);i=e+i|0;a=$+f|0;a=e>>>0>i>>>0?a+1|0:a;f=i;e=eb&-2097152;s=f-e|0;n=a-((e>>>0>f>>>0)+sa|0)|0;e=se(N,x,ba,j);a=$;f=e;e=se(P,Q,ca,j);f=f+e|0;a=$+a|0;a=e>>>0>f>>>0?a+1|0:a;e=se(S,j,da,j);i=e+f|0;f=$+a|0;f=e>>>0>i>>>0?f+1|0:f;e=se(T,j,ea,j);i=e+i|0;a=$+f|0;a=e>>>0>i>>>0?a+1|0:a;f=se(V,W,fa,j);i=f+i|0;e=$+a|0;e=f>>>0>i>>>0?e+1|0:e;a=se(Y,j,Z,j);f=a+i|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=f;f=se(X,j,aa,j);i=a+f|0;a=$+e|0;a=f>>>0>i>>>0?a+1|0:a;e=se(U,H,ga,j);i=e+i|0;f=$+a|0;f=e>>>0>i>>>0?f+1|0:f;e=se(O,x,ia,j);i=e+i|0;a=$+f|0;a=e>>>0>i>>>0?a+1|0:a;f=se(L,x,ja,j);i=f+i|0;e=$+a|0;e=f>>>0>i>>>0?e+1|0:e;a=se(R,j,ka,j);f=a+i|0;e=$+e|0;b=se(c,b,la,j);c=b+f|0;a=$+(a>>>0>f>>>0?e+1|0:e)|0;i=c;b=b>>>0>c>>>0?a+1|0:a;c=G[h+189|0];a=c>>>24|0;f=ab|c<<8;c=G[h+190|0];e=c>>>16|0;f=f|c<<16;e=a|e;v=i;c=G[h+191|0];a=c>>>8|0;c=c<<24;i=a|e;a=c|f;a=(i&127)<<25|a>>>7;c=v+a|0;f=(i>>>7|0)+b|0;f=a>>>0>c>>>0?f+1|0:f;b=(l&2097151)<<11|bb>>>21;c=b+c|0;a=(l>>>21|0)+f|0;i=c;a=b>>>0>c>>>0?a+1|0:a;y=a;v=a-((c>>>0<4293918720)-1|0)|0;A=c- -1048576|0;a=A;a=(v&2097151)<<11|a>>>21;b=a+s|0;e=(v>>21)+n|0;l=b;e=a>>>0>b>>>0?e+1|0:e;z=e;u=e-((b>>>0<4293918720)-1|0)|0;e=u>>21;B=b- -1048576|0;b=(u&2097151)<<11|B>>>21;c=b+t|0;a=e+w|0;a=b>>>0>c>>>0?a+1|0:a;b=c;s=a;c=a-((b>>>0<4293918720)-1|0)|0;a=b- -1048576|0;e=(c>>21)+C|0;f=(c&2097151)<<11|a>>>21;n=f+I|0;na=n;e=f>>>0>n>>>0?e+1|0:e;oa=e;e=se(n,e,-683901,-1);n=e+K|0;f=$+E|0;w=n;n=e>>>0>n>>>0?f+1|0:f;f=se(Ua,Va,654183,0);e=$;a=a&-2097152;c=s-((a>>>0>b>>>0)+c|0)|0;M=b-a|0;E=c;b=se(Qa,Ra,470296,0);f=b+f|0;a=$+e|0;a=b>>>0>f>>>0?a+1|0:a;b=se(Ca,Wa,-997805,-1);e=b+f|0;a=$+a|0;a=b>>>0>e>>>0?a+1|0:a;b=e+r|0;e=a+J|0;e=b>>>0<r>>>0?e+1|0:e;a=se(na,oa,136657,0);f=b;b=Na&-2097152;r=a+(f-b|0)|0;f=$+(e-((b>>>0>f>>>0)+q|0)|0)|0;f=a>>>0>r>>>0?f+1|0:f;a=se(M,c,-683901,-1);b=a+r|0;e=$+f|0;c=b;e=a>>>0>b>>>0?e+1|0:e;s=e;r=e-((b>>>0<4293918720)-1|0)|0;a=r>>21;t=b- -1048576|0;b=(r&2097151)<<11|t>>>21;e=b+w|0;f=a+n|0;f=b>>>0>e>>>0?f+1|0:f;b=e;n=f;f=f-((e>>>0<4293918720)-1|0)|0;a=f>>21;w=e- -1048576|0;H=(f&2097151)<<11|w>>>21;C=H+Oa|0;e=a+qa|0;xa=C;H=C>>>0<H>>>0?e+1|0:e;a=w&-2097152;sa=b-a|0;Aa=n-((a>>>0>b>>>0)+f|0)|0;a=t&-2097152;ta=c-a|0;va=s-((a>>>0>c>>>0)+r|0)|0;b=se(Ua,Va,470296,0);a=$;c=b;b=se(Qa,Ra,666643,0);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=se(Ca,Wa,654183,0);c=b+c|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=c+o|0;e=a+pa|0;e=b>>>0<o>>>0?e+1|0:e;a=La&-2097152;s=b-a|0;o=e-((a>>>0>b>>>0)+ma|0)|0;a=B&-2097152;r=l-a|0;n=z-((a>>>0>l>>>0)+u|0)|0;b=se(Sa,Ta,470296,0);a=$;c=b;b=se(Ba,Pa,666643,0);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=se(za,Ia,654183,0);c=b+c|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=se(Da,Ea,-997805,-1);c=b+c|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;a=se(ya,Ha,136657,0);b=a+c|0;e=$+e|0;e=a>>>0>b>>>0?e+1|0:e;a=se(Ja,Ka,-683901,-1);b=a+b|0;f=$+e|0;f=a>>>0>b>>>0?f+1|0:f;b=b+i|0;a=f+y|0;a=b>>>0<i>>>0?a+1|0:a;e=b;c=A&-2097152;b=(m&2097151)<<11|cb>>>21;f=(e-c|0)+b|0;e=(a-((c>>>0>e>>>0)+v|0)|0)+(m>>21)|0;l=f;e=b>>>0>f>>>0?e+1|0:e;t=e;u=e-((f>>>0<4293918720)-1|0)|0;a=u>>21;C=f- -1048576|0;b=(u&2097151)<<11|C>>>21;c=b+r|0;e=a+n|0;qa=c;e=b>>>0>c>>>0?e+1|0:e;I=e;b=se(c,e,-683901,-1);c=b+s|0;a=$+o|0;a=b>>>0>c>>>0?a+1|0:a;b=se(na,oa,-997805,-1);c=b+c|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;a=se(M,E,136657,0);b=a+c|0;f=$+e|0;z=b;s=a>>>0>b>>>0?f+1|0:f;n=p;i=k;b=se(ba,j,ja,j);a=$;c=b;b=se(ca,j,ia,j);c=c+b|0;a=$+a|0;a=b>>>0>c>>>0?a+1|0:a;b=se(da,j,ka,j);c=b+c|0;e=$+a|0;e=b>>>0>c>>>0?e+1|0:e;b=se(ea,j,la,j);c=b+c|0;a=$+e|0;m=c;b=b>>>0>c>>>0?a+1|0:a;c=G[h+168|0];a=c>>>24|0;k=G[h+167|0];f=k|c<<8;c=G[h+169|0];e=c>>>16|0;f=f|c<<16;e=a|e|ra>>>8;a=ra<<24|f;a=((e&127)<<25|a>>>7)&2097151;c=a+m|0;e=b;r=c;c=a>>>0>c>>>0?e+1|0:e;a=se(ba,j,ka,j);b=$;e=a;a=se(ca,j,ja,j);e=e+a|0;f=$+b|0;f=a>>>0>e>>>0?f+1|0:f;a=se(da,j,la,j);b=a+e|0;e=$+f|0;f=b;b=a>>>0>f>>>0?e+1|0:e;a=G[h+166|0];e=a>>>24|0;w=G[h+165|0];m=w|a<<8;e=k>>>16|e;a=k<<16|m;e=((e&3)<<30|a>>>2)&2097151;f=e+f|0;a=b;m=f;a=e>>>0>f>>>0?a+1|0:a;b=a;y=a-((f>>>0<4293918720)-1|0)|0;ma=f- -1048576|0;a=ma;a=(y&2097151)<<11|a>>>21;f=a+r|0;e=(y>>>21|0)+c|0;k=f;e=a>>>0>f>>>0?e+1|0:e;v=e;p=e-((f>>>0<4293918720)-1|0)|0;e=p>>>21|0;J=f- -1048576|0;c=(p&2097151)<<11|J>>>21;f=c+n|0;a=e+i|0;a=c>>>0>f>>>0?a+1|0:a;c=se(Ua,Va,666643,0);e=Ma&-2097152;i=c+(f-e|0)|0;e=$+(a-((e>>>0>f>>>0)+wa|0)|0)|0;e=c>>>0>i>>>0?e+1|0:e;a=se(Ca,Wa,470296,0);c=a+i|0;e=$+e|0;e=a>>>0>c>>>0?e+1|0:e;a=c;c=se(qa,I,136657,0);f=a+c|0;a=$+e|0;a=c>>>0>f>>>0?a+1|0:a;c=se(na,oa,654183,0);e=c+f|0;f=$+a|0;f=c>>>0>e>>>0?f+1|0:f;c=se(M,E,-997805,-1);e=c+e|0;a=$+f|0;q=e;a=c>>>0>e>>>0?a+1|0:a;o=a;r=o-((e>>>0<4293918720)-1|0)|0;A=e- -1048576|0;a=A;a=(r&2097151)<<11|a>>>21;c=a+z|0;e=(r>>21)+s|0;e=a>>>0>c>>>0?e+1|0:e;B=c- -1048576|0;a=B;n=e-((c>>>0<4293918720)-1|0)|0;f=n>>21;i=(n&2097151)<<11|a>>>21;s=i+ta|0;a=f+va|0;ta=s;z=i>>>0>s>>>0?a+1|0:a;i=c;f=e;c=C&-2097152;a=l-c|0;e=t-((c>>>0>l>>>0)+u|0)|0;l=a;a=g>>21;c=(g&2097151)<<11|_a>>>21;g=l+c|0;e=a+e|0;e=c>>>0>g>>>0?e+1|0:e;u=e;s=e-((g>>>0<4293918720)-1|0)|0;a=s>>21;C=g- -1048576|0;K=(s&2097151)<<11|C>>>21;pa=a;c=se(K,a,-683901,-1);e=c+i|0;a=$+f|0;a=c>>>0>e>>>0?a+1|0:a;c=B&-2097152;va=e-c|0;ra=a-((c>>>0>e>>>0)+n|0)|0;a=se(K,pa,136657,0);c=a+q|0;e=$+o|0;e=a>>>0>c>>>0?e+1|0:e;a=A&-2097152;wa=c-a|0;q=e-((a>>>0>c>>>0)+r|0)|0;a=se(Ca,Wa,666643,0);c=J&-2097152;f=a+(k-c|0)|0;e=$+(v-((c>>>0>k>>>0)+p|0)|0)|0;e=a>>>0>f>>>0?e+1|0:e;a=se(qa,I,-997805,-1);c=a+f|0;f=$+e|0;f=a>>>0>c>>>0?f+1|0:f;a=c;c=se(na,oa,470296,0);e=a+c|0;a=$+f|0;a=c>>>0>e>>>0?a+1|0:a;c=se(M,E,654183,0);f=c+e|0;e=$+a|0;v=f;i=c>>>0>f>>>0?e+1|0:e;k=b;b=se(ba,j,la,j);a=$;c=b;b=se(ca,j,ka,j);c=c+b|0;a=$+a|0;n=c;f=b>>>0>c>>>0?a+1|0:a;b=se(ca,j,la,j);l=G[h+162|0];a=l;a=a<<16&2031616|(G[h+160|0]|G[h+161|0]<<8);c=b+a|0;e=$;e=a>>>0>c>>>0?e+1|0:e;p=e;o=e-((c>>>0<4293918720)-1|0)|0;a=o>>>21|0;A=c- -1048576|0;b=(o&2097151)<<11|A>>>21;e=b+n|0;a=a+f|0;n=e;e=b>>>0>e>>>0?a+1|0:a;b=G[h+163|0];a=b>>>24|0;f=l|b<<8;b=a;l=f;f=G[h+164|0];a=f>>>16|0;l=l|f<<16;b=a|b|w>>>8;a=((b&31)<<27|(w<<24|l)>>>5)&2097151;b=a+n|0;e=a>>>0>b>>>0?e+1|0:e;r=e;n=e-((b>>>0<4293918720)-1|0)|0;f=n>>>21|0;B=b- -1048576|0;e=(n&2097151)<<11|B>>>21;m=e+m|0;a=f+k|0;a=e>>>0>m>>>0?a+1|0:a;f=se(qa,I,654183,0);k=m;e=ma&-2097152;m=f+(k-e|0)|0;e=$+(a-((e>>>0>k>>>0)+y|0)|0)|0;a=se(na,oa,666643,0);k=a+m|0;f=$+(f>>>0>m>>>0?e+1|0:e)|0;f=a>>>0>k>>>0?f+1|0:f;e=se(M,E,470296,0);k=e+k|0;a=$+f|0;t=k;a=e>>>0>k>>>0?a+1|0:a;l=a;a=k;m=l-((a>>>0<4293918720)-1|0)|0;w=a- -1048576|0;a=w;e=(m&2097151)<<11|a>>>21;k=e+v|0;a=(m>>21)+i|0;y=k;a=e>>>0>k>>>0?a+1|0:a;e=a;a=k;k=e-((a>>>0<4293918720)-1|0)|0;v=a- -1048576|0;a=v;i=(k&2097151)<<11|a>>>21;J=i+wa|0;a=(k>>21)+q|0;ma=J;i=i>>>0>J>>>0?a+1|0:a;a=se(K,pa,-997805,-1);f=a+y|0;e=$+e|0;e=a>>>0>f>>>0?e+1|0:e;a=v&-2097152;J=f-a|0;q=e-((a>>>0>f>>>0)+k|0)|0;a=se(K,pa,654183,0);f=a+t|0;e=$+l|0;e=a>>>0>f>>>0?e+1|0:e;a=w&-2097152;y=f-a|0;v=e-((a>>>0>f>>>0)+m|0)|0;e=se(qa,I,470296,0);a=B&-2097152;f=e+(b-a|0)|0;a=$+(r-((a>>>0>b>>>0)+n|0)|0)|0;a=e>>>0>f>>>0?a+1|0:a;b=se(M,E,666643,0);e=b+f|0;f=$+a|0;f=b>>>0>e>>>0?f+1|0:f;k=e;a=se(qa,I,666643,0);b=A&-2097152;m=a+(c-b|0)|0;e=$+(p-((o&4095)+(b>>>0>c>>>0)|0)|0)|0;b=m;e=a>>>0>b>>>0?e+1|0:e;l=e;m=e-((b>>>0<4293918720)-1|0)|0;a=m>>21;o=b- -1048576|0;c=(m&2097151)<<11|o>>>21;e=c+k|0;f=a+f|0;f=c>>>0>e>>>0?f+1|0:f;k=f;a=e;f=f-((e>>>0<4293918720)-1|0)|0;n=e- -1048576|0;c=n;c=(f&2097151)<<11|c>>>21;p=c+y|0;e=(f>>21)+v|0;e=c>>>0>p>>>0?e+1|0:e;c=e;e=se(K,pa,470296,0);r=e+a|0;a=$+k|0;a=e>>>0>r>>>0?a+1|0:a;k=n&-2097152;e=r-k|0;f=a-((k>>>0>r>>>0)+f|0)|0;n=e;a=se(K,pa,666643,0);e=o&-2097152;k=a+(b-e|0)|0;e=$+(l-((b>>>0<e>>>0)+m|0)|0)|0;m=k;b=k;e=a>>>0>b>>>0?e+1|0:e;a=e>>21;b=(e&2097151)<<11|b>>>21;e=n+b|0;a=a+f|0;a=b>>>0>e>>>0?a+1|0:a;k=e;b=e;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+p|0;f=c+e|0;f=a>>>0>b>>>0?f+1|0:f;t=b;b=(f&2097151)<<11|b>>>21;c=b+J|0;e=(f>>21)+q|0;w=c;a=c;e=b>>>0>a>>>0?e+1|0:e;b=(e&2097151)<<11|a>>>21;c=b+ma|0;a=(e>>21)+i|0;a=b>>>0>c>>>0?a+1|0:a;y=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+va|0;e=e+ra|0;e=a>>>0>b>>>0?e+1|0:e;v=b;b=(e&2097151)<<11|b>>>21;c=b+ta|0;a=(e>>21)+z|0;a=b>>>0>c>>>0?a+1|0:a;z=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+sa|0;f=e+Aa|0;f=a>>>0>b>>>0?f+1|0:f;p=b;b=(f&2097151)<<11|b>>>21;c=b+xa|0;e=(f>>21)+H|0;o=c;a=c;e=b>>>0>a>>>0?e+1|0:e;b=(e&2097151)<<11|a>>>21;c=b+Ya|0;a=(e>>21)+Za|0;a=b>>>0>c>>>0?a+1|0:a;r=c;b=c;e=a>>21;a=(a&2097151)<<11|b>>>21;b=a+$a|0;e=e+Xa|0;e=a>>>0>b>>>0?e+1|0:e;n=b;a=e>>21;e=(e&2097151)<<11|b>>>21;c=C&-2097152;b=g-c|0;e=e+b|0;f=(u-((c>>>0>g>>>0)+s|0)|0)+a|0;i=e;f=b>>>0>e>>>0?f+1|0:f;s=(f&2097151)<<11|e>>>21;e=f>>21;l=e;a=m&2097151;b=se(s,e,666643,0)+a|0;e=$;m=b;e=a>>>0>b>>>0?e+1|0:e;b=e;D[d+32|0]=m;D[d+33|0]=(e&255)<<24|m>>>8;c=k&2097151;e=se(s,l,470296,0)+c|0;a=$;a=c>>>0>e>>>0?a+1|0:a;c=(b&2097151)<<11|m>>>21;g=c+e|0;f=(b>>21)+a|0;k=g;a=g;f=c>>>0>a>>>0?f+1|0:f;D[d+36|0]=(f&2047)<<21|a>>>11;D[d+35|0]=(f&7)<<29|a>>>3;a=t&2097151;c=se(s,l,654183,0)+a|0;e=$;e=a>>>0>c>>>0?e+1|0:e;a=e;e=f>>21;t=c;c=(f&2097151)<<11|g>>>21;f=t+c|0;a=a+e|0;g=f;a=c>>>0>f>>>0?a+1|0:a;c=a;D[d+38|0]=(a&63)<<26|f>>>6;e=0;k=k&2097151;a=k;D[d+34|0]=((b&65535)<<16|m>>>16)&31|a<<5;b=w&2097151;f=se(s,l,-997805,-1)+b|0;a=$;a=b>>>0>f>>>0?a+1|0:a;b=a;a=c>>21;c=(c&2097151)<<11|g>>>21;m=c+f|0;f=a+b|0;f=c>>>0>m>>>0?f+1|0:f;c=m;a=c;D[d+41|0]=(f&511)<<23|a>>>9;D[d+40|0]=(f&1)<<31|a>>>1;b=0;m=g&2097151;g=m;D[d+37|0]=(e&524287)<<13|k>>>19|g<<2;a=y&2097151;g=se(s,l,136657,0)+a|0;e=$;e=a>>>0>g>>>0?e+1|0:e;a=f;f=a>>21;a=(a&2097151)<<11|c>>>21;g=a+g|0;e=e+f|0;e=a>>>0>g>>>0?e+1|0:e;a=g;D[d+44|0]=(e&4095)<<20|a>>>12;D[d+43|0]=(e&15)<<28|a>>>4;f=0;k=c&2097151;c=k;D[d+39|0]=(b&16383)<<18|m>>>14|c<<7;b=v&2097151;c=se(s,l,-683901,-1)+b|0;a=$;a=b>>>0>c>>>0?a+1|0:a;b=e;e=e>>21;b=(b&2097151)<<11|g>>>21;c=b+c|0;a=a+e|0;a=b>>>0>c>>>0?a+1|0:a;e=c;D[d+46|0]=(a&127)<<25|e>>>7;g=g&2097151;D[d+42|0]=(f&131071)<<15|k>>>17|g<<4;b=a;a=a>>21;b=(b&2097151)<<11|e>>>21;k=b+(z&2097151)|0;c=0;f=a+c|0;f=b>>>0>k>>>0?f+1|0:f;a=k;D[d+49|0]=(f&1023)<<22|a>>>10;D[d+48|0]=(f&3)<<30|a>>>2;m=e&2097151;e=m;D[d+45|0]=(c&1048575)<<12|g>>>20|e<<1;a=f>>21;c=(f&2097151)<<11|k>>>21;f=c+(p&2097151)|0;b=0;e=a+b|0;e=c>>>0>f>>>0?e+1|0:e;a=f;D[d+52|0]=(e&8191)<<19|a>>>13;c=e;D[d+51|0]=(e&31)<<27|a>>>5;f=0;k=k&2097151;e=k;D[d+47|0]=(b&32767)<<17|m>>>15|e<<6;b=(c&2097151)<<11|a>>>21;m=b+(o&2097151)|0;e=c>>21;e=b>>>0>m>>>0?e+1|0:e;D[d+53|0]=m;D[d+50|0]=(f&262143)<<14|k>>>18|a<<3;b=e;a=m;D[d+54|0]=(e&255)<<24|a>>>8;a=(e&2097151)<<11|a>>>21;g=a+(r&2097151)|0;f=e>>21;f=a>>>0>g>>>0?f+1|0:f;a=g;D[d+57|0]=(f&2047)<<21|a>>>11;c=a;D[d+56|0]=(f&7)<<29|a>>>3;a=f>>21;c=(f&2097151)<<11|c>>>21;f=c+(n&2097151)|0;e=a;e=c>>>0>f>>>0?e+1|0:e;a=f;D[d+59|0]=(e&63)<<26|a>>>6;k=g&2097151;a=k;D[d+55|0]=((b&65535)<<16|m>>>16)&31|a<<5;a=e>>21;b=(e&2097151)<<11|f>>>21;e=b+(i&2097151)|0;c=0;a=a+c|0;a=b>>>0>e>>>0?a+1|0:a;D[d+63|0]=(a&131071)<<15|e>>>17;D[d+62|0]=(a&511)<<23|e>>>9;D[d+61|0]=(a&1)<<31|e>>>1;b=0;g=f&2097151;f=g;D[d+58|0]=(c&524287)<<13|k>>>19|f<<2;D[d+60|0]=(b&16383)<<18|f>>>14|e<<7;_=h+624|0}function hb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;j=_-768|0;_=j;a:{if(G[d+63|0]>31){break a}i=_-272|0;_=i;W=G[a+31|0];V=G[a+30|0];S=G[a+6|0];T=G[a+5|0];U=G[a+9|0];n=G[a+8|0];C=G[a+12|0];I=G[a+11|0];x=G[a+15|0];y=G[a+14|0];A=G[a+28|0];z=G[a+27|0];v=G[a+25|0];o=G[a+24|0];M=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);B=G[a+29|0];w=G[a+4|0];t=G[a+7|0];r=G[a+10|0];s=G[a+13|0];p=G[a+26|0];l=G[a+23|0];q=j+128|0;R=q+40|0;k=R;f=G[a+21|0];g=f>>>17|0;e=f<<15;f=g;K=e;e=G[a+20|0];g=e>>>25|0;N=K|e<<7;e=f|g;f=G[a+22|0];g=f>>>9|0;f=f<<23|N;K=e|g;h=f;f=0;O=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);g=O+16777216|0;f=g>>>0<16777216?1:f;N=g;e=g;g=f>>>25|0;f=(f&33554431)<<7|e>>>25;e=h+f|0;g=g+K|0;g=e>>>0<f>>>0?g+1|0:g;f=e+33554432|0;g=f>>>0<33554432?g+1|0:g;K=f;f=g;g=e;e=K&-67108864;F[k+24>>2]=g-e;g=o>>>19|0;o=o<<13;e=g;g=l>>>27|0;l=l<<5|o;e=e|g;g=v>>>11|0;v=v<<21|l;o=v+((f&67108863)<<6|K>>>26)|0;g=e|g;e=o;f=v+16777216|0;g=f>>>0<16777216?g+1|0:g;o=f;f=g;g=e;e=o&1040187392;F[k+28>>2]=g-e;e=p>>>28|0;p=z<<12|p<<4;l=e|z>>>20|A>>>12;g=f>>>25|0;f=(f&33554431)<<7|o>>>25;e=f+(A<<20|p)|0;g=g+l|0;g=e>>>0<f>>>0?g+1|0:g;f=g;g=e+33554432|0;f=g>>>0<33554432?f+1|0:f;K=g;o=f;f=g&-67108864;F[k+32>>2]=e-f;p=y<<10|s<<2|x<<18;l=y>>>22|s>>>30|x>>>14;e=I<<11|r<<3;f=I>>>21|r>>>29;r=C<<19|e;e=C>>>13|f;g=r+16777216|0;e=g>>>0<16777216?e+1|0:e;z=g;f=g;g=e>>>25|0;f=(e&33554431)<<7|f>>>25;e=f+p|0;g=g+l|0;g=e>>>0<f>>>0?g+1|0:g;f=e;e=e+33554432|0;g=e>>>0<33554432?g+1|0:g;x=e;p=g;g=f;f=e&-67108864;F[k+16>>2]=g-f;f=n>>>19|t>>>27;t=n<<13|t<<5|U<<21;l=U>>>11|f;s=T<<14|w<<6|S<<22;e=T>>>18|w>>>26|S>>>10;g=s+16777216|0;e=g>>>0<16777216?e+1|0:e;v=g;f=e>>>25|0;e=(e&33554431)<<7|g>>>25;t=e+t|0;g=f+l|0;g=e>>>0>t>>>0?g+1|0:g;f=t;e=f+33554432|0;g=e>>>0<33554432?g+1|0:g;y=e;l=g;g=f;f=e&-67108864;F[k+8>>2]=g-f;f=V>>>22|B>>>30;g=o>>>26|0;w=W<<18&33292288|(V<<10|B<<2);o=(o&67108863)<<6|K>>>26;t=w+o|0;o=t;g=f;f=w+16777216|0;g=f>>>0<16777216?g+1|0:g;t=f;f=g;g=o;e=t&33554432;F[k+36>>2]=g-e;e=(p&67108863)<<6|x>>>26;p=e+O|0;F[k+20>>2]=p-(N&-33554432);e=r;l=e+((l&67108863)<<6|y>>>26)|0;F[k+12>>2]=l-(z&234881024);l=s-(v&2113929216)|0;f=se((f&33554431)<<7|t>>>25,f>>>25|0,19,0);e=f+M|0;g=$;g=e>>>0<f>>>0?g+1|0:g;f=e;e=g;g=f+33554432|0;e=g>>>0<33554432?e+1|0:e;e=l+((e&67108863)<<6|g>>>26)|0;F[k+4>>2]=e;k=g&-67108864;F[R>>2]=f-k;F[q+84>>2]=0;F[q+88>>2]=0;F[q+80>>2]=1;F[q+92>>2]=0;F[q+96>>2]=0;F[q+100>>2]=0;F[q+104>>2]=0;F[q+108>>2]=0;F[q+112>>2]=0;F[q+116>>2]=0;M=i+192|0;fa(M,R);P=i+144|0;ha(P,M,1936);K=F[q+116>>2];O=F[q+112>>2];N=F[q+108>>2];W=F[q+104>>2];V=F[q+100>>2];S=F[q+96>>2];T=F[q+92>>2];U=F[q+88>>2];n=F[q+84>>2];C=F[i+228>>2];t=F[i+224>>2];r=F[i+220>>2];s=F[i+216>>2];o=F[i+212>>2];p=F[i+208>>2];l=F[i+204>>2];e=F[i+200>>2];f=F[i+196>>2];k=F[i+192>>2];g=F[q+80>>2];F[i+144>>2]=g+F[i+144>>2];I=k-g|0;F[i+192>>2]=I;x=f-n|0;F[i+196>>2]=x;y=e-U|0;F[i+200>>2]=y;A=l-T|0;F[i+204>>2]=A;z=p-S|0;F[i+208>>2]=z;v=o-V|0;F[i+212>>2]=v;B=s-W|0;F[i+216>>2]=B;w=r-N|0;F[i+220>>2]=w;t=t-O|0;F[i+224>>2]=t;r=C-K|0;F[i+228>>2]=r;s=F[i+148>>2];o=F[i+152>>2];p=F[i+156>>2];l=F[i+160>>2];e=F[i+164>>2];f=F[i+168>>2];k=F[i+172>>2];g=F[i+176>>2];F[i+180>>2]=K+F[i+180>>2];F[i+176>>2]=g+O;F[i+172>>2]=k+N;F[i+168>>2]=f+W;F[i+164>>2]=e+V;F[i+160>>2]=l+S;F[i+156>>2]=p+T;F[i+152>>2]=o+U;F[i+148>>2]=n+s;k=i+96|0;fa(k,P);ha(k,k,P);fa(q,k);ha(q,q,P);ha(q,q,M);f=_-144|0;_=f;g=f+96|0;fa(g,q);e=f+48|0;fa(e,g);fa(e,e);ha(e,q,e);ha(g,g,e);fa(g,g);ha(g,e,g);fa(e,g);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(g,e,g);fa(e,g);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(e,e,g);fa(f,e);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);fa(f,f);ha(e,f,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(g,e,g);fa(e,g);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);ha(e,e,g);fa(f,e);g=1;while(1){fa(f,f);g=g+1|0;if((g|0)!=100){continue}break}e=f+48|0;ha(e,f,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);fa(e,e);g=f+96|0;ha(g,e,g);fa(g,g);fa(g,g);ha(q,g,q);_=f+144|0;ha(q,q,k);ha(q,q,M);g=i+48|0;fa(g,q);ha(g,g,P);F[i+36>>2]=F[i+84>>2]-r;F[i+32>>2]=F[i+80>>2]-t;F[i+28>>2]=F[i+76>>2]-w;F[i+24>>2]=F[i+72>>2]-B;F[i+20>>2]=F[i+68>>2]-v;F[i+16>>2]=F[i+64>>2]-z;F[i+12>>2]=F[i+60>>2]-A;F[i+8>>2]=F[i+56>>2]-y;F[i+4>>2]=F[i+52>>2]-x;F[i>>2]=F[i+48>>2]-I;Ga(i+240|0,i);b:{if(G[i+271|0]|(G[i+270|0]|(G[i+269|0]|(G[i+268|0]|(G[i+267|0]|(G[i+266|0]|(G[i+265|0]|(G[i+264|0]|(G[i+263|0]|(G[i+262|0]|(G[i+261|0]|(G[i+260|0]|(G[i+259|0]|(G[i+258|0]|(G[i+257|0]|(G[i+256|0]|(G[i+255|0]|(G[i+254|0]|(G[i+253|0]|(G[i+252|0]|(G[i+251|0]|(G[i+250|0]|(G[i+249|0]|(G[i+248|0]|(G[i+247|0]|(G[i+246|0]|(G[i+245|0]|(G[i+244|0]|(G[i+243|0]|(G[i+242|0]|(G[i+241|0]|G[i+240|0]))))))))))))))))))))))))))))))){I=F[i+192>>2];x=F[i+48>>2];y=F[i+196>>2];A=F[i+52>>2];z=F[i+200>>2];v=F[i+56>>2];B=F[i+204>>2];w=F[i+60>>2];t=F[i+208>>2];r=F[i+64>>2];s=F[i+212>>2];o=F[i+68>>2];p=F[i+216>>2];l=F[i+72>>2];e=F[i+220>>2];f=F[i+76>>2];k=F[i+224>>2];g=F[i+80>>2];F[i+36>>2]=F[i+228>>2]+F[i+84>>2];F[i+32>>2]=g+k;F[i+28>>2]=e+f;F[i+24>>2]=l+p;F[i+20>>2]=o+s;F[i+16>>2]=r+t;F[i+12>>2]=w+B;F[i+8>>2]=v+z;F[i+4>>2]=y+A;F[i>>2]=x+I;Ga(i+240|0,i);g=-1;if(G[i+271|0]|(G[i+270|0]|(G[i+269|0]|(G[i+268|0]|(G[i+267|0]|(G[i+266|0]|(G[i+265|0]|(G[i+264|0]|(G[i+263|0]|(G[i+262|0]|(G[i+261|0]|(G[i+260|0]|(G[i+259|0]|(G[i+258|0]|(G[i+257|0]|(G[i+256|0]|(G[i+255|0]|(G[i+254|0]|(G[i+253|0]|(G[i+252|0]|(G[i+251|0]|(G[i+250|0]|(G[i+249|0]|(G[i+248|0]|(G[i+247|0]|(G[i+246|0]|(G[i+245|0]|(G[i+244|0]|(G[i+243|0]|(G[i+242|0]|(G[i+241|0]|G[i+240|0]))))))))))))))))))))))))))))))){break b}ha(q,q,1984)}Ga(i+240|0,q);if((D[i+240|0]&1)==(G[a+31|0]>>>7|0)){F[q+36>>2]=0-F[q+36>>2];F[q+32>>2]=0-F[q+32>>2];F[q+28>>2]=0-F[q+28>>2];F[q+24>>2]=0-F[q+24>>2];F[q+20>>2]=0-F[q+20>>2];F[q+16>>2]=0-F[q+16>>2];F[q+12>>2]=0-F[q+12>>2];F[q+8>>2]=0-F[q+8>>2];F[q+4>>2]=0-F[q+4>>2];F[q>>2]=0-F[q>>2]}ha(q+120|0,q,R);g=0}_=i+272|0;if(g){break a}F[j+352>>2]=327033209;F[j+356>>2]=1541459225;F[j+344>>2]=-79577749;F[j+348>>2]=528734635;F[j+336>>2]=725511199;F[j+340>>2]=-1694144372;F[j+328>>2]=-1377402159;F[j+332>>2]=1359893119;s=32;F[j+320>>2]=1595750129;F[j+324>>2]=-1521486534;F[j+312>>2]=-23791573;F[j+316>>2]=1013904242;F[j+304>>2]=-2067093701;F[j+308>>2]=-1150833019;F[j+296>>2]=-205731576;F[j+300>>2]=1779033703;F[j+288>>2]=0;F[j+292>>2]=0;F[j+360>>2]=0;D[j+364|0]=G[d|0];D[j+365|0]=G[d+1|0];D[j+366|0]=G[d+2|0];D[j+367|0]=G[d+3|0];r=j+364|0;D[(r+F[j+360>>2]|0)+4|0]=G[d+4|0];D[(r+F[j+360>>2]|0)+5|0]=G[d+5|0];D[(r+F[j+360>>2]|0)+6|0]=G[d+6|0];D[(r+F[j+360>>2]|0)+7|0]=G[d+7|0];D[(r+F[j+360>>2]|0)+8|0]=G[d+8|0];D[(r+F[j+360>>2]|0)+9|0]=G[d+9|0];D[(r+F[j+360>>2]|0)+10|0]=G[d+10|0];D[(r+F[j+360>>2]|0)+11|0]=G[d+11|0];D[(r+F[j+360>>2]|0)+12|0]=G[d+12|0];D[(r+F[j+360>>2]|0)+13|0]=G[d+13|0];D[(r+F[j+360>>2]|0)+14|0]=G[d+14|0];D[(r+F[j+360>>2]|0)+15|0]=G[d+15|0];D[(r+F[j+360>>2]|0)+16|0]=G[d+16|0];D[(r+F[j+360>>2]|0)+17|0]=G[d+17|0];D[(r+F[j+360>>2]|0)+18|0]=G[d+18|0];D[(r+F[j+360>>2]|0)+19|0]=G[d+19|0];D[(r+F[j+360>>2]|0)+20|0]=G[d+20|0];D[(r+F[j+360>>2]|0)+21|0]=G[d+21|0];D[(r+F[j+360>>2]|0)+22|0]=G[d+22|0];D[(r+F[j+360>>2]|0)+23|0]=G[d+23|0];D[(r+F[j+360>>2]|0)+24|0]=G[d+24|0];D[(r+F[j+360>>2]|0)+25|0]=G[d+25|0];D[(r+F[j+360>>2]|0)+26|0]=G[d+26|0];D[(r+F[j+360>>2]|0)+27|0]=G[d+27|0];D[(r+F[j+360>>2]|0)+28|0]=G[d+28|0];D[(r+F[j+360>>2]|0)+29|0]=G[d+29|0];D[(r+F[j+360>>2]|0)+30|0]=G[d+30|0];D[(r+F[j+360>>2]|0)+31|0]=G[d+31|0];g=F[j+360>>2]+32|0;F[j+360>>2]=g;if((g|0)==128){ua(j+288|0,r);F[j+360>>2]=0;g=F[j+292>>2];k=F[j+288>>2]+1024|0;g=k>>>0<1024?g+1|0:g;F[j+288>>2]=k;F[j+292>>2]=g}c:{if(!a){break c}l=F[j+360>>2];if(l>>>0>128){break c}while(1){d:{if(!(s>>>0<128|l)){ua(j+288|0,a);g=F[j+292>>2];k=F[j+288>>2]+1024|0;g=k>>>0<1024?g+1|0:g;F[j+288>>2]=k;F[j+292>>2]=g;s=s-128|0;a=a+128|0;break d}g=128-l|0;o=g>>>0>s>>>0?s:g;e:{if(!o){break e}e=o&3;p=0;f:{if(o-1>>>0<3){u=0;break f}k=o&-4;u=0;f=0;while(1){g=l+u|0;l=j+364|0;D[g+l|0]=G[a+u|0];g=u|1;D[l+(g+F[j+360>>2]|0)|0]=G[a+g|0];g=u|2;D[l+(g+F[j+360>>2]|0)|0]=G[a+g|0];g=u|3;D[l+(g+F[j+360>>2]|0)|0]=G[a+g|0];u=u+4|0;l=F[j+360>>2];f=f+4|0;if((k|0)!=(f|0)){continue}break}}if(!e){break e}while(1){D[((l+u|0)+j|0)+364|0]=G[a+u|0];u=u+1|0;l=F[j+360>>2];p=p+1|0;if((e|0)!=(p|0)){continue}break}}s=s-o|0;a=a+o|0;g=l+o|0;F[j+360>>2]=g;if((g|0)!=128){break d}ua(j+288|0,r);F[j+360>>2]=0;f=F[j+292>>2];g=F[j+288>>2]+1024|0;f=g>>>0<1024?f+1|0:f;F[j+288>>2]=g;F[j+292>>2]=f}if(!s){break c}l=F[j+360>>2];continue}}g:{if(!b|!c){break g}a=F[j+360>>2];if(a>>>0>128){break g}while(1){h:{if(!(c>>>0<128|a)){ua(j+288|0,b);g=F[j+292>>2];a=F[j+288>>2]+1024|0;g=a>>>0<1024?g+1|0:g;F[j+288>>2]=a;F[j+292>>2]=g;c=c-128|0;b=b+128|0;break h}g=128-a|0;l=c>>>0<g>>>0?c:g;i:{if(!l){break i}f=l&3;k=0;j:{if(l-1>>>0<3){u=0;break j}g=l&-4;u=0;p=0;while(1){e=j+364|0;D[e+(a+u|0)|0]=G[b+u|0];a=u|1;D[e+(a+F[j+360>>2]|0)|0]=G[a+b|0];a=u|2;D[e+(a+F[j+360>>2]|0)|0]=G[a+b|0];a=u|3;D[e+(a+F[j+360>>2]|0)|0]=G[a+b|0];u=u+4|0;a=F[j+360>>2];p=p+4|0;if((g|0)!=(p|0)){continue}break}}if(!f){break i}while(1){D[((a+u|0)+j|0)+364|0]=G[b+u|0];u=u+1|0;a=F[j+360>>2];k=k+1|0;if((f|0)!=(k|0)){continue}break}}c=c-l|0;b=b+l|0;a=a+l|0;F[j+360>>2]=a;if((a|0)!=128){break h}ua(j+288|0,r);F[j+360>>2]=0;g=F[j+292>>2];a=F[j+288>>2]+1024|0;g=a>>>0<1024?g+1|0:g;F[j+288>>2]=a;F[j+292>>2]=g}if(!c){break g}a=F[j+360>>2];continue}}e=j+528|0;db(j+288|0,e);mb(e);g=j+8|0;c=j+128|0;o=d+32|0;b=0;a=0;m=_-2272|0;_=m;while(1){k=m+2016|0;f=e+(b>>>3|0)|0;D[k+b|0]=G[f|0]>>>(b&6)&1;l=k;k=b|1;D[l+k|0]=G[f|0]>>>(k&7)&1;b=b+2|0;if((b|0)!=256){continue}break}while(1){k=a;a=a+1|0;s=k+(m+2016|0)|0;k:{if(!G[s|0]|k>>>0>254){break k}l=(m+2016|0)+a|0;b=D[l|0];l:{if(!b){break l}e=b<<1;f=D[s|0];b=e+f|0;if((b|0)<=15){D[s|0]=b;D[l|0]=0;break l}b=f-e|0;if((b|0)<-15){break k}D[s|0]=b;b=a;while(1){f=(m+2016|0)+b|0;if(!G[f|0]){D[f|0]=1;break l}D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break}}if(k>>>0>253){break k}b=k+2|0;p=b+(m+2016|0)|0;f=D[p|0];m:{if(!f){break m}l=f<<2;e=D[s|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break k}D[s|0]=f;while(1){f=(m+2016|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break m}break}D[f|0]=1;break m}D[s|0]=f;D[p|0]=0}if(k>>>0>252){break k}b=k+3|0;p=b+(m+2016|0)|0;f=D[p|0];n:{if(!f){break n}l=f<<3;e=D[s|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break k}D[s|0]=f;while(1){f=(m+2016|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break n}break}D[f|0]=1;break n}D[s|0]=f;D[p|0]=0}if(k>>>0>251){break k}b=k+4|0;p=b+(m+2016|0)|0;f=D[p|0];o:{if(!f){break o}l=f<<4;e=D[s|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break k}D[s|0]=f;while(1){f=(m+2016|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break o}break}D[f|0]=1;break o}D[s|0]=f;D[p|0]=0}if(k>>>0>250){break k}b=k+5|0;p=b+(m+2016|0)|0;f=D[p|0];p:{if(!f){break p}l=f<<5;e=D[s|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break k}D[s|0]=f;while(1){f=(m+2016|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break p}break}D[f|0]=1;break p}D[s|0]=f;D[p|0]=0}if(k>>>0>249){break k}b=k+6|0;l=b+(m+2016|0)|0;k=D[l|0];if(!k){break k}e=k<<6;f=D[s|0];k=e+f|0;if((k|0)>=16){k=f-e|0;if((k|0)<-15){break k}D[s|0]=k;while(1){k=(m+2016|0)+b|0;if(G[k|0]){D[k|0]=0;k=b>>>0<255;b=b+1|0;if(k){continue}break k}break}D[k|0]=1;break k}D[s|0]=k;D[l|0]=0}if((a|0)!=256){continue}break}b=0;while(1){a=m+1760|0;k=o+(b>>>3|0)|0;D[a+b|0]=G[k|0]>>>(b&6)&1;f=a;a=b|1;D[f+a|0]=G[k|0]>>>(a&7)&1;b=b+2|0;if((b|0)!=256){continue}break}a=0;while(1){k=a;a=a+1|0;o=k+(m+1760|0)|0;q:{if(!G[o|0]|k>>>0>254){break q}l=(m+1760|0)+a|0;b=D[l|0];r:{if(!b){break r}e=b<<1;f=D[o|0];b=e+f|0;if((b|0)<=15){D[o|0]=b;D[l|0]=0;break r}b=f-e|0;if((b|0)<-15){break q}D[o|0]=b;b=a;while(1){f=(m+1760|0)+b|0;if(!G[f|0]){D[f|0]=1;break r}D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break}}if(k>>>0>253){break q}b=k+2|0;p=b+(m+1760|0)|0;f=D[p|0];s:{if(!f){break s}l=f<<2;e=D[o|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break q}D[o|0]=f;while(1){f=(m+1760|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break s}break}D[f|0]=1;break s}D[o|0]=f;D[p|0]=0}if(k>>>0>252){break q}b=k+3|0;p=b+(m+1760|0)|0;f=D[p|0];t:{if(!f){break t}l=f<<3;e=D[o|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break q}D[o|0]=f;while(1){f=(m+1760|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break t}break}D[f|0]=1;break t}D[o|0]=f;D[p|0]=0}if(k>>>0>251){break q}b=k+4|0;p=b+(m+1760|0)|0;f=D[p|0];u:{if(!f){break u}l=f<<4;e=D[o|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break q}D[o|0]=f;while(1){f=(m+1760|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break u}break}D[f|0]=1;break u}D[o|0]=f;D[p|0]=0}if(k>>>0>250){break q}b=k+5|0;p=b+(m+1760|0)|0;f=D[p|0];v:{if(!f){break v}l=f<<5;e=D[o|0];f=l+e|0;if((f|0)>=16){f=e-l|0;if((f|0)<-15){break q}D[o|0]=f;while(1){f=(m+1760|0)+b|0;if(G[f|0]){D[f|0]=0;f=b>>>0<255;b=b+1|0;if(f){continue}break v}break}D[f|0]=1;break v}D[o|0]=f;D[p|0]=0}if(k>>>0>249){break q}b=k+6|0;l=b+(m+1760|0)|0;k=D[l|0];if(!k){break q}e=k<<6;f=D[o|0];k=e+f|0;if((k|0)>=16){k=f-e|0;if((k|0)<-15){break q}D[o|0]=k;while(1){k=(m+1760|0)+b|0;if(G[k|0]){D[k|0]=0;k=b>>>0<255;b=b+1|0;if(k){continue}break q}break}D[k|0]=1;break q}D[o|0]=k;D[l|0]=0}if((a|0)!=256){continue}break}r=m+480|0;Ha(r,c);s=F[c>>2];o=F[c+4>>2];p=F[c+8>>2];l=F[c+12>>2];e=F[c+16>>2];f=F[c+20>>2];k=F[c+24>>2];b=F[c+28>>2];a=F[c+36>>2];F[m+192>>2]=F[c+32>>2];F[m+196>>2]=a;F[m+184>>2]=k;F[m+188>>2]=b;F[m+176>>2]=e;F[m+180>>2]=f;F[m+168>>2]=p;F[m+172>>2]=l;F[m+160>>2]=s;F[m+164>>2]=o;s=F[c+48>>2];o=F[c+52>>2];p=F[c+56>>2];l=F[c+60>>2];a=c- -64|0;e=F[a>>2];f=F[a+4>>2];k=F[c+40>>2];b=F[c+44>>2];a=F[c+76>>2];F[m+232>>2]=F[c+72>>2];F[m+236>>2]=a;F[m+224>>2]=e;F[m+228>>2]=f;F[m+216>>2]=p;F[m+220>>2]=l;F[m+208>>2]=s;F[m+212>>2]=o;F[m+200>>2]=k;F[m+204>>2]=b;s=F[c+88>>2];o=F[c+92>>2];p=F[c+96>>2];l=F[c+100>>2];e=F[c+104>>2];f=F[c+108>>2];k=F[c+80>>2];b=F[c+84>>2];a=F[c+116>>2];F[m+272>>2]=F[c+112>>2];F[m+276>>2]=a;F[m+264>>2]=e;F[m+268>>2]=f;F[m+256>>2]=p;F[m+260>>2]=l;F[m+248>>2]=s;F[m+252>>2]=o;F[m+240>>2]=k;F[m+244>>2]=b;c=m+320|0;b=m+160|0;Sa(c,b);E=m+440|0;ha(m,c,E);J=m+360|0;H=m+400|0;ha(m+40|0,J,H);ha(m+80|0,H,E);ha(m+120|0,c,J);Ia(c,m,r);ha(b,c,E);Q=m+200|0;ha(Q,J,H);i=m+240|0;ha(i,H,E);q=m+280|0;ha(q,c,J);a=m+640|0;Ha(a,b);Ia(c,m,a);ha(b,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);a=m+800|0;Ha(a,b);Ia(c,m,a);ha(b,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);a=m+960|0;Ha(a,b);Ia(c,m,a);ha(b,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);a=m+1120|0;Ha(a,b);Ia(c,m,a);ha(b,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);a=m+1280|0;Ha(a,b);Ia(c,m,a);ha(b,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);a=m+1440|0;Ha(a,b);Ia(c,m,a);ha(b,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);Ha(m+1600|0,b);F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;F[g+16>>2]=0;F[g+20>>2]=0;F[g+8>>2]=0;F[g+12>>2]=0;F[g>>2]=0;F[g+4>>2]=0;F[g+44>>2]=0;F[g+48>>2]=0;F[g+40>>2]=1;F[g+52>>2]=0;F[g+56>>2]=0;F[g+60>>2]=0;F[g+64>>2]=0;F[g+68>>2]=0;F[g+72>>2]=0;F[g+84>>2]=0;F[g+88>>2]=0;F[g+76>>2]=0;F[g+80>>2]=1;F[g+92>>2]=0;F[g+96>>2]=0;F[g+100>>2]=0;F[g+104>>2]=0;F[g+108>>2]=0;F[g+112>>2]=0;F[g+116>>2]=0;W=g+80|0;V=g+40|0;a=255;while(1){w:{x:{if(!(G[(m+2016|0)+a|0]|G[(m+1760|0)+a|0])){b=a-1|0;if(!(G[b+(m+1760|0)|0]?1:G[b+(m+2016|0)|0])){break x}a=b}if((a|0)<0){break w}while(1){Sa(m+320|0,g);b=a;C=D[a+(m+2016|0)|0];y:{if((C|0)>0){a=m+160|0;c=m+320|0;ha(a,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);Ia(c,a,(m+480|0)+L((C&254)>>>1|0,160)|0);break y}if((C|0)>=0){break y}n=m+160|0;h=m+320|0;ha(n,h,E);ha(Q,J,H);ha(i,H,E);ha(q,h,J);x=F[n+44>>2];y=F[n+48>>2];A=F[n+52>>2];z=F[n+56>>2];v=F[n+60>>2];I=n- -64|0;B=F[I>>2];w=F[n+68>>2];t=F[n+72>>2];r=F[n+76>>2];s=F[n+4>>2];o=F[n+8>>2];p=F[n+12>>2];l=F[n+16>>2];e=F[n+20>>2];f=F[n+24>>2];k=F[n+28>>2];c=F[n+32>>2];a=F[n+36>>2];F[h>>2]=F[n>>2]+F[n+40>>2];F[h+36>>2]=a+r;F[h+32>>2]=c+t;F[h+28>>2]=k+w;F[h+24>>2]=f+B;F[h+20>>2]=e+v;F[h+16>>2]=l+z;F[h+12>>2]=p+A;F[h+8>>2]=o+y;F[h+4>>2]=s+x;x=F[n+44>>2];y=F[n+48>>2];A=F[n+52>>2];z=F[n+56>>2];v=F[n+60>>2];B=F[I>>2];w=F[n+68>>2];t=F[n+72>>2];r=F[n>>2];s=F[n+40>>2];o=F[n+4>>2];p=F[n+8>>2];l=F[n+12>>2];e=F[n+16>>2];f=F[n+20>>2];k=F[n+24>>2];c=F[n+28>>2];a=F[n+32>>2];F[h+76>>2]=F[n+76>>2]-F[n+36>>2];F[h+72>>2]=t-a;F[h+68>>2]=w-c;u=h- -64|0;F[u>>2]=B-k;F[h+60>>2]=v-f;F[h+56>>2]=z-e;F[h+52>>2]=A-l;F[h+48>>2]=y-p;F[h+44>>2]=x-o;F[h+40>>2]=s-r;c=(m+480|0)+L((0-C&254)>>>1|0,160)|0;ha(h+80|0,h,c+40|0);a=h+40|0;ha(a,a,c);ha(h+120|0,c+120|0,n+120|0);ha(h,n+80|0,c+80|0);P=F[h+44>>2];R=F[h+84>>2];M=F[h+48>>2];K=F[h+88>>2];O=F[h+52>>2];N=F[h+92>>2];C=F[h+56>>2];I=F[h+96>>2];x=F[h+60>>2];y=F[h+100>>2];A=F[u>>2];z=F[h+104>>2];v=F[h+68>>2];B=F[h+108>>2];w=F[h+72>>2];t=F[h+112>>2];S=F[h>>2];T=F[h+4>>2];U=F[h+8>>2];n=F[h+12>>2];o=F[h+16>>2];p=F[h+20>>2];l=F[h+24>>2];e=F[h+28>>2];f=F[h+32>>2];k=F[h+36>>2];r=F[h+40>>2];s=F[h+80>>2];c=F[h+76>>2];a=F[h+116>>2];F[h+76>>2]=c+a;F[h+72>>2]=t+w;F[h+68>>2]=v+B;F[u>>2]=A+z;F[h+60>>2]=x+y;F[h+56>>2]=C+I;F[h+52>>2]=N+O;F[h+48>>2]=K+M;F[h+44>>2]=P+R;F[h+40>>2]=s+r;F[h+36>>2]=a-c;F[h+32>>2]=t-w;F[h+28>>2]=B-v;F[h+24>>2]=z-A;F[h+20>>2]=y-x;F[h+16>>2]=I-C;F[h+12>>2]=N-O;F[h+8>>2]=K-M;F[h+4>>2]=R-P;F[h>>2]=s-r;C=F[h+156>>2];I=k<<1;F[h+156>>2]=C+I;x=F[h+152>>2];y=f<<1;F[h+152>>2]=x+y;A=F[h+148>>2];z=e<<1;F[h+148>>2]=A+z;v=F[h+144>>2];B=l<<1;F[h+144>>2]=v+B;w=F[h+140>>2];t=p<<1;F[h+140>>2]=w+t;r=F[h+136>>2];s=o<<1;F[h+136>>2]=r+s;o=F[h+132>>2];p=n<<1;F[h+132>>2]=o+p;l=F[h+128>>2];e=U<<1;F[h+128>>2]=l+e;f=F[h+124>>2];k=T<<1;F[h+124>>2]=f+k;c=F[h+120>>2];a=S<<1;F[h+120>>2]=c+a;F[h+112>>2]=y-x;F[h+108>>2]=z-A;F[h+104>>2]=B-v;F[h+100>>2]=t-w;F[h+96>>2]=s-r;F[h+92>>2]=p-o;F[h+88>>2]=e-l;F[h+84>>2]=k-f;F[h+80>>2]=a-c;F[h+116>>2]=I-C}C=D[b+(m+1760|0)|0];z:{if((C|0)>0){a=m+160|0;c=m+320|0;ha(a,c,E);ha(Q,J,H);ha(i,H,E);ha(q,c,J);lb(c,a,L((C&254)>>>1|0,120)+5680|0);break z}if((C|0)>=0){break z}n=m+160|0;h=m+320|0;ha(n,h,E);ha(Q,J,H);ha(i,H,E);ha(q,h,J);x=F[n+44>>2];y=F[n+48>>2];A=F[n+52>>2];z=F[n+56>>2];v=F[n+60>>2];I=n- -64|0;B=F[I>>2];w=F[n+68>>2];t=F[n+72>>2];r=F[n+76>>2];s=F[n+4>>2];o=F[n+8>>2];p=F[n+12>>2];l=F[n+16>>2];e=F[n+20>>2];f=F[n+24>>2];k=F[n+28>>2];c=F[n+32>>2];a=F[n+36>>2];F[h>>2]=F[n>>2]+F[n+40>>2];F[h+36>>2]=a+r;F[h+32>>2]=c+t;F[h+28>>2]=k+w;F[h+24>>2]=f+B;F[h+20>>2]=e+v;F[h+16>>2]=l+z;F[h+12>>2]=p+A;F[h+8>>2]=o+y;F[h+4>>2]=s+x;x=F[n+44>>2];y=F[n+48>>2];A=F[n+52>>2];z=F[n+56>>2];v=F[n+60>>2];B=F[I>>2];w=F[n+68>>2];t=F[n+72>>2];r=F[n>>2];s=F[n+40>>2];o=F[n+4>>2];p=F[n+8>>2];l=F[n+12>>2];e=F[n+16>>2];f=F[n+20>>2];k=F[n+24>>2];c=F[n+28>>2];a=F[n+32>>2];F[h+76>>2]=F[n+76>>2]-F[n+36>>2];F[h+72>>2]=t-a;F[h+68>>2]=w-c;u=h- -64|0;F[u>>2]=B-k;F[h+60>>2]=v-f;F[h+56>>2]=z-e;F[h+52>>2]=A-l;F[h+48>>2]=y-p;F[h+44>>2]=x-o;F[h+40>>2]=s-r;c=L((0-C&254)>>>1|0,120)+5680|0;ha(h+80|0,h,c+40|0);a=h+40|0;ha(a,a,c);ha(h+120|0,c+80|0,n+120|0);S=F[n+84>>2];T=F[n+88>>2];U=F[n+92>>2];o=F[n+96>>2];p=F[n+100>>2];l=F[n+104>>2];e=F[n+108>>2];f=F[n+112>>2];k=F[n+116>>2];P=F[h+44>>2];R=F[h+84>>2];M=F[h+48>>2];K=F[h+88>>2];O=F[h+52>>2];N=F[h+92>>2];C=F[h+56>>2];I=F[h+96>>2];x=F[h+60>>2];y=F[h+100>>2];A=F[u>>2];z=F[h+104>>2];v=F[h+68>>2];B=F[h+108>>2];w=F[h+72>>2];t=F[h+112>>2];n=F[n+80>>2];r=F[h+40>>2];s=F[h+80>>2];c=F[h+76>>2];a=F[h+116>>2];F[h+76>>2]=c+a;F[h+72>>2]=t+w;F[h+68>>2]=v+B;F[u>>2]=A+z;F[h+60>>2]=x+y;F[h+56>>2]=C+I;F[h+52>>2]=N+O;F[h+48>>2]=K+M;F[h+44>>2]=P+R;F[h+40>>2]=s+r;F[h+36>>2]=a-c;F[h+32>>2]=t-w;F[h+28>>2]=B-v;F[h+24>>2]=z-A;F[h+20>>2]=y-x;F[h+16>>2]=I-C;F[h+12>>2]=N-O;F[h+8>>2]=K-M;F[h+4>>2]=R-P;F[h>>2]=s-r;C=F[h+156>>2];I=k<<1;F[h+156>>2]=C+I;x=F[h+152>>2];y=f<<1;F[h+152>>2]=x+y;A=F[h+148>>2];z=e<<1;F[h+148>>2]=A+z;v=F[h+144>>2];B=l<<1;F[h+144>>2]=v+B;w=F[h+140>>2];t=p<<1;F[h+140>>2]=w+t;r=F[h+136>>2];s=o<<1;F[h+136>>2]=r+s;o=F[h+132>>2];p=U<<1;F[h+132>>2]=o+p;l=F[h+128>>2];e=T<<1;F[h+128>>2]=l+e;f=F[h+124>>2];k=S<<1;F[h+124>>2]=f+k;c=F[h+120>>2];a=n<<1;F[h+120>>2]=c+a;F[h+112>>2]=y-x;F[h+108>>2]=z-A;F[h+104>>2]=B-v;F[h+100>>2]=t-w;F[h+96>>2]=s-r;F[h+92>>2]=p-o;F[h+88>>2]=e-l;F[h+84>>2]=k-f;F[h+80>>2]=a-c;F[h+116>>2]=I-C}ha(g,m+320|0,E);ha(V,J,H);ha(W,H,E);a=b-1|0;if((b|0)>0){continue}break}break w}a=a-2|0;if(b){continue}}break}_=m+2272|0;c=j+688|0;nb(c,j+88|0);b=j+640|0;ha(b,g,c);a=j+592|0;ha(a,j+48|0,c);Ga(j+496|0,a);Ga(j+736|0,b);u=!(G[d+1|0]^G[j+497|0]|G[d|0]^G[j+496|0]|G[d+2|0]^G[j+498|0]|G[d+3|0]^G[j+499|0]|G[d+4|0]^G[j+500|0]|G[d+5|0]^G[j+501|0]|G[d+6|0]^G[j+502|0]|G[d+7|0]^G[j+503|0]|G[d+8|0]^G[j+504|0]|G[d+9|0]^G[j+505|0]|G[d+10|0]^G[j+506|0]|G[d+11|0]^G[j+507|0]|G[d+12|0]^G[j+508|0]|G[d+13|0]^G[j+509|0]|G[d+14|0]^G[j+510|0]|G[d+15|0]^G[j+511|0]|G[d+16|0]^G[j+512|0]|G[d+17|0]^G[j+513|0]|G[d+18|0]^G[j+514|0]|G[d+19|0]^G[j+515|0]|G[d+20|0]^G[j+516|0]|G[d+21|0]^G[j+517|0]|G[d+22|0]^G[j+518|0]|G[d+23|0]^G[j+519|0]|G[d+24|0]^G[j+520|0]|G[d+25|0]^G[j+521|0]|G[d+26|0]^G[j+522|0]|G[d+27|0]^G[j+523|0]|G[d+28|0]^G[j+524|0]|G[d+29|0]^G[j+525|0]|G[d+30|0]^G[j+526|0]|G[d+31|0]^(G[j+527|0]^G[j+736|0]<<7&128))}_=j+768|0;return(u|0)!=0}function mb(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0;c=G[a+48|0];b=c>>>24|0;n=G[a+47|0];e=n|c<<8;g=G[a+49|0];h=g;d=h>>>16|0;h=h<<16;d=b|d;c=e|h;H=((d&3)<<30|c>>>2)&2097151;c=se(H,0,136657,0);d=G[a+27|0];b=d>>>24|0;f=G[a+26|0];h=f|d<<8;e=c;Y=G[a+28|0];d=Y;c=d>>>16|0;d=d<<16;c=b|c;b=d|h;c=((c&3)<<30|b>>>2)&2097151;d=e+c|0;b=$;h=d;d=c>>>0>d>>>0?b+1|0:b;c=G[a+50|0];b=c>>>24|0;g=g|c<<8;e=G[a+51|0];c=e>>>16|0;i=g|e<<16;g=b|c;c=h;e=G[a+52|0];b=e>>>8|0;h=e<<24;g=b|g;b=h|i;I=((g&127)<<25|b>>>7)&2097151;b=se(I,0,-997805,-1);h=c+b|0;c=$+d|0;c=b>>>0>h>>>0?c+1|0:c;d=c;b=G[a+53|0];c=b>>>24|0;g=e|b<<8;e=G[a+54|0];b=e>>>16|0;i=g|e<<16;g=b|c;b=h;e=G[a+55|0];c=e>>>8|0;h=e<<24;g=c|g;c=h|i;J=((g&15)<<28|c>>>4)&2097151;c=se(J,0,654183,0);h=b+c|0;b=$+d|0;b=c>>>0>h>>>0?b+1|0:b;c=h;h=b;d=G[a+56|0];b=d>>>24|0;i=e|d<<8;j=c;g=G[a+57|0];e=g;c=e>>>16|0;e=e<<16;d=b|c;c=e|i;K=((d&1)<<31|c>>>1)&2097151;b=se(K,0,470296,0);d=j+b|0;c=$+h|0;i=d;d=b>>>0>d>>>0?c+1|0:c;b=G[a+58|0];c=b>>>24|0;h=g|b<<8;b=c;e=h;h=G[a+59|0];c=h>>>16|0;g=e|h<<16;e=b|c;r=G[a+60|0];h=r;c=h>>>8|0;h=h<<24;e=c|e;c=h|g;L=((e&63)<<26|c>>>6)&2097151;c=se(L,0,666643,0);h=c+i|0;b=$+d|0;b=c>>>0>h>>>0?b+1|0:b;j=h;i=b;k=se(H,o,-997805,-1);b=G[a+24|0];d=b>>>24|0;e=G[a+23|0];g=e|b<<8;b=G[a+25|0];c=b>>>16|0;g=g|b<<16;d=c|d|f>>>8;b=f<<24|g;c=((d&31)<<27|b>>>5)&2097151;d=c+k|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=se(I,o,654183,0);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=se(J,o,470296,0);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=se(K,o,666643,0);f=b+d|0;d=$+c|0;g=f;f=b>>>0>f>>>0?d+1|0:d;b=se(H,o,654183,0);c=e<<16&2031616|(G[a+21|0]|G[a+22|0]<<8);d=b+c|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=se(I,o,470296,0);d=c+d|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=se(J,o,666643,0);e=c+d|0;d=$+b|0;l=e;d=c>>>0>e>>>0?d+1|0:d;e=d;s=d-((l>>>0<4293918720)-1|0)|0;b=s>>>21|0;E=l- -1048576|0;d=(s&2097151)<<11|E>>>21;g=d+g|0;c=b+f|0;c=d>>>0>g>>>0?c+1|0:c;p=c;Z=h- -1048576|0;f=i-((h>>>0<4293918720)-1|0)|0;h=f;k=c-((g>>>0<4293918720)-1|0)|0;q=g- -1048576|0;c=q;c=(k&2097151)<<11|c>>>21;j=c+j|0;d=(k>>21)+i|0;d=c>>>0>j>>>0?d+1|0:d;c=j;b=Z&-2097152;u=c-b|0;w=d-((b>>>0>c>>>0)+f|0)|0;b=G[a+61|0];c=b>>>24|0;f=r|b<<8;d=G[a+62|0];b=d>>>16|0;f=f|d<<16;d=b|c;b=G[a+63|0];c=b>>>8|0;b=b<<24|f;d=c|d;c=d>>>3|0;M=(d&7)<<29|b>>>3;A=c;b=se(M,c,-683901,-1);d=G[a+44|0];c=d;c=c<<16&2031616|(G[a+42|0]|G[a+43|0]<<8);f=b+c|0;b=$;b=c>>>0>f>>>0?b+1|0:b;r=b;j=b-((f>>>0<4293918720)-1|0)|0;t=f- -1048576|0;b=t;x=(j&2097151)<<11|b>>>21;i=j>>21;b=G[a+45|0];c=b>>>24|0;m=d|b<<8;b=G[a+46|0];d=b>>>16|0;m=m|b<<16;d=c|d|n>>>8;b=n<<24|m;b=((d&31)<<27|b>>>5)&2097151;d=b+x|0;c=i;Q=d;c=b>>>0>d>>>0?c+1|0:c;y=c;c=se(d,c,-683901,-1);d=c+u|0;b=$+w|0;b=c>>>0>d>>>0?b+1|0:b;c=d;_=c- -1048576|0;i=b-((c>>>0<4293918720)-1|0)|0;N=i;d=_&-2097152;W=c-d|0;X=b-((c>>>0<d>>>0)+i|0)|0;c=se(Q,y,136657,0);b=q&-2097152;d=c+(g-b|0)|0;b=$+(p-((b>>>0>g>>>0)+k|0)|0)|0;q=d;k=c>>>0>d>>>0?b+1|0:b;b=t&-2097152;t=f-b|0;n=r-((b>>>0>f>>>0)+j|0)|0;c=se(L,o,-683901,-1);d=G[a+40|0];b=d>>>24|0;g=G[a+39|0];f=g|d<<8;i=c;c=G[a+41|0];d=c>>>16|0;c=c<<16;d=b|d;b=c|f;c=d>>>3|0;b=(d&7)<<29|b>>>3;d=i+b|0;c=c+$|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=se(M,A,136657,0);f=b+d|0;b=$+c|0;p=f;f=d>>>0>f>>>0?b+1|0:b;r=se(K,o,-683901,-1);b=G[a+37|0];c=b>>>24|0;B=G[a+36|0];d=B|b<<8;b=c;i=d;d=G[a+38|0];c=d>>>16|0;i=i|d<<16;d=b|c|g>>>8;b=g<<24|i;b=((d&63)<<26|b>>>6)&2097151;c=b+r|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=se(L,o,136657,0);g=b+c|0;b=$+d|0;b=c>>>0>g>>>0?b+1|0:b;d=se(M,A,-997805,-1);g=d+g|0;c=$+b|0;j=g;c=d>>>0>g>>>0?c+1|0:c;v=c;u=c-((g>>>0<4293918720)-1|0)|0;T=g- -1048576|0;c=T;c=(u&2097151)<<11|c>>>21;d=c+p|0;b=(u>>21)+f|0;i=d;b=c>>>0>d>>>0?b+1|0:b;w=b;r=b-((d>>>0<4293918720)-1|0)|0;b=r>>21;C=d- -1048576|0;d=(r&2097151)<<11|C>>>21;f=d+t|0;c=b+n|0;R=f;c=d>>>0>f>>>0?c+1|0:c;F=c;b=se(f,c,-683901,-1);d=b+q|0;c=$+k|0;S=d;t=b>>>0>d>>>0?c+1|0:c;k=l;l=e;c=se(H,o,470296,0);e=G[a+19|0];b=e>>>24|0;d=G[a+18|0];f=d|e<<8;g=c;e=G[a+20|0];c=e>>>16|0;e=e<<16;p=b|c;b=e|f;e=(p&7)<<29|b>>>3;f=g+e|0;b=$+(p>>>3|0)|0;z=f;e=e>>>0>f>>>0?b+1|0:b;n=se(H,o,666643,0);c=G[a+16|0];b=c>>>24|0;x=G[a+15|0];g=x|c<<8;f=G[a+17|0];c=f>>>16|0;g=g|f<<16;f=b|c;c=d<<24;d=d>>>8|f;b=c|g;b=((d&63)<<26|b>>>6)&2097151;c=b+n|0;d=$;g=c;d=b>>>0>c>>>0?d+1|0:d;m=d;q=d-((c>>>0<4293918720)-1|0)|0;b=q>>>21|0;U=c- -1048576|0;d=(q&2097151)<<11|U>>>21;f=d+z|0;c=b+e|0;c=d>>>0>f>>>0?c+1|0:c;d=se(I,o,666643,0);e=d+f|0;b=$+c|0;f=e;b=d>>>0>e>>>0?b+1|0:b;n=b;p=b-((e>>>0<4293918720)-1|0)|0;z=e- -1048576|0;b=C&-2097152;d=w-((b>>>0>i>>>0)+r|0)|0;O=i-b|0;C=d;b=(p&2097151)<<11|z>>>21;e=b+k|0;c=(p>>>21|0)+l|0;c=b>>>0>e>>>0?c+1|0:c;i=e;b=E&-2097152;e=se(Q,y,-997805,-1);l=(i-b|0)+e|0;b=$+(c-((s&8191)+(b>>>0>i>>>0)|0)|0)|0;b=e>>>0>l>>>0?b+1|0:b;e=se(R,F,136657,0);i=e+l|0;c=$+b|0;c=e>>>0>i>>>0?c+1|0:c;b=se(O,d,-683901,-1);e=b+i|0;d=$+c|0;d=b>>>0>e>>>0?d+1|0:d;r=d;k=d-((e>>>0<4293918720)-1|0)|0;c=k>>21;s=e- -1048576|0;b=(k&2097151)<<11|s>>>21;d=b+S|0;c=c+t|0;c=b>>>0>d>>>0?c+1|0:c;b=d;l=c;i=c-((b>>>0<4293918720)-1|0)|0;c=i>>21;w=b- -1048576|0;t=(i&2097151)<<11|w>>>21;E=t+W|0;d=c+X|0;aa=E;t=t>>>0>E>>>0?d+1|0:d;c=w&-2097152;ba=b-c|0;ca=l-((b>>>0<c>>>0)+i|0)|0;b=s&-2097152;S=e-b|0;E=r-((b>>>0>e>>>0)+k|0)|0;c=se(Q,y,654183,0);b=z&-2097152;d=c+(f-b|0)|0;b=$+(n-((b>>>0>f>>>0)+p|0)|0)|0;b=c>>>0>d>>>0?b+1|0:b;c=se(R,F,-997805,-1);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=se(O,C,136657,0);e=b+e|0;c=$+d|0;z=e;i=b>>>0>e>>>0?c+1|0:c;b=T&-2097152;s=j-b|0;u=v-((b>>>0>j>>>0)+u|0)|0;b=se(J,o,-683901,-1);d=G[a+35|0];c=d>>>24|0;f=G[a+34|0];e=f|d<<8;d=b;c=B>>>16|c;b=B<<16|e;b=((c&1)<<31|b>>>1)&2097151;d=d+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=se(K,o,136657,0);e=b+d|0;d=$+c|0;d=b>>>0>e>>>0?d+1|0:d;b=se(L,o,-997805,-1);e=b+e|0;c=$+d|0;c=b>>>0>e>>>0?c+1|0:c;d=se(M,A,654183,0);e=d+e|0;b=$+c|0;n=e;e=d>>>0>e>>>0?b+1|0:b;k=se(I,o,-683901,-1);b=G[a+32|0];d=b>>>24|0;p=G[a+31|0];j=p|b<<8;b=G[a+33|0];c=b>>>16|0;j=j|b<<16;d=c|d|f>>>8;b=f<<24|j;c=((d&15)<<28|b>>>4)&2097151;d=c+k|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=se(J,o,136657,0);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=se(K,o,-997805,-1);d=b+f|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=se(L,o,654183,0);f=b+d|0;d=$+c|0;d=b>>>0>f>>>0?d+1|0:d;c=se(M,A,470296,0);f=c+f|0;b=$+d|0;b=c>>>0>f>>>0?b+1|0:b;r=b;k=b-((f>>>0<4293918720)-1|0)|0;w=f- -1048576|0;b=w;b=(k&2097151)<<11|b>>>21;j=b+n|0;c=(k>>21)+e|0;e=j;c=b>>>0>e>>>0?c+1|0:c;j=c;c=c-((e>>>0<4293918720)-1|0)|0;d=c>>21;l=e- -1048576|0;n=(c&2097151)<<11|l>>>21;v=n+s|0;b=d+u|0;V=v;b=n>>>0>v>>>0?b+1|0:b;s=b;d=se(v,b,-683901,-1);n=d+z|0;b=$+i|0;b=d>>>0>n>>>0?b+1|0:b;i=b;b=l&-2097152;j=j-((b>>>0>e>>>0)+c|0)|0;P=e-b|0;B=j;b=se(Q,y,470296,0);c=U&-2097152;d=b+(g-c|0)|0;c=$+(m-((q&2047)+(c>>>0>g>>>0)|0)|0)|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=se(R,F,654183,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=se(O,C,-997805,-1);d=c+e|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=se(v,s,136657,0);e=c+d|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;b=se(P,j,-683901,-1);e=b+e|0;c=$+d|0;c=b>>>0>e>>>0?c+1|0:c;l=c;j=c-((e>>>0<4293918720)-1|0)|0;c=j>>21;q=e- -1048576|0;b=(j&2097151)<<11|q>>>21;g=b+n|0;d=c+i|0;d=b>>>0>g>>>0?d+1|0:d;b=g;i=d;g=d-((b>>>0<4293918720)-1|0)|0;d=b- -1048576|0;c=(g>>21)+E|0;n=(g&2097151)<<11|d>>>21;m=n+S|0;W=m;n=n>>>0>m>>>0?c+1|0:c;c=d&-2097152;X=b-c|0;S=i-((b>>>0<c>>>0)+g|0)|0;b=q&-2097152;z=e-b|0;u=l-((b>>>0>e>>>0)+j|0)|0;c=se(Q,y,666643,0);d=G[a+14|0];b=d>>>24|0;i=G[a+13|0];e=i|d<<8;d=x>>>16|b;b=x<<16|e;b=((d&1)<<31|b>>>1)&2097151;d=b+c|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=d;d=se(R,F,470296,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=se(O,C,654183,0);d=c+e|0;b=$+b|0;m=d;g=c>>>0>d>>>0?b+1|0:b;b=w&-2097152;q=f-b|0;l=r-((b>>>0>f>>>0)+k|0)|0;j=se(H,o,-683901,-1);b=G[a+29|0];c=b>>>24|0;d=Y|b<<8;b=c;e=d;d=G[a+30|0];c=d>>>16|0;e=e|d<<16;d=b|c|p>>>8;b=p<<24|e;b=((d&127)<<25|b>>>7)&2097151;c=b+j|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=se(I,o,136657,0);e=b+c|0;b=$+d|0;b=c>>>0>e>>>0?b+1|0:b;d=se(J,o,-997805,-1);e=d+e|0;c=$+b|0;c=d>>>0>e>>>0?c+1|0:c;b=se(K,o,654183,0);d=b+e|0;c=$+c|0;c=b>>>0>d>>>0?c+1|0:c;b=d;d=se(L,o,470296,0);e=b+d|0;b=$+c|0;b=d>>>0>e>>>0?b+1|0:b;c=se(M,A,666643,0);e=c+e|0;d=$+b|0;d=c>>>0>e>>>0?d+1|0:d;c=h>>21;h=(h&2097151)<<11|Z>>>21;e=h+e|0;b=c+d|0;b=e>>>0<h>>>0?b+1|0:b;r=b;k=b-((e>>>0<4293918720)-1|0)|0;w=e- -1048576|0;b=w;d=(k&2097151)<<11|b>>>21;h=d+q|0;b=(k>>21)+l|0;A=h;b=d>>>0>h>>>0?b+1|0:b;v=b;b=se(h,b,-683901,-1);c=b+m|0;d=$+g|0;d=b>>>0>c>>>0?d+1|0:d;b=c;c=se(V,s,-997805,-1);h=b+c|0;b=$+d|0;b=c>>>0>h>>>0?b+1|0:b;d=se(P,B,136657,0);h=d+h|0;c=$+b|0;p=h;h=d>>>0>h>>>0?c+1|0:c;c=se(R,F,666643,0);b=G[a+11|0];d=b>>>24|0;l=G[a+10|0];g=l|b<<8;f=G[a+12|0];b=f>>>16|0;f=g|f<<16;g=c;c=b|d|i>>>8;b=((c&15)<<28|(i<<24|f)>>>4)&2097151;d=g+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;b=d;d=se(O,C,470296,0);f=b+d|0;b=$+c|0;b=d>>>0>f>>>0?b+1|0:b;c=se(A,v,136657,0);d=c+f|0;b=$+b|0;b=c>>>0>d>>>0?b+1|0:b;c=se(V,s,654183,0);f=c+d|0;d=$+b|0;d=c>>>0>f>>>0?d+1|0:d;b=se(P,B,-997805,-1);f=b+f|0;c=$+d|0;x=f;c=b>>>0>f>>>0?c+1|0:c;j=c;b=f;i=c-((b>>>0<4293918720)-1|0)|0;m=b- -1048576|0;b=m;c=(i&2097151)<<11|b>>>21;f=c+p|0;b=(i>>21)+h|0;b=c>>>0>f>>>0?b+1|0:b;h=f;q=f- -1048576|0;c=q;g=b-((f>>>0<4293918720)-1|0)|0;d=g>>21;f=(g&2097151)<<11|c>>>21;p=f+z|0;c=d+u|0;F=p;p=f>>>0>p>>>0?c+1|0:c;f=h;d=b;c=w&-2097152;b=e-c|0;e=r-((c>>>0>e>>>0)+k|0)|0;h=(N&2097151)<<11|_>>>21;k=h+b|0;b=(N>>21)+e|0;b=h>>>0>k>>>0?b+1|0:b;h=k;r=b;k=b-((h>>>0<4293918720)-1|0)|0;w=h- -1048576|0;b=w;y=(k&2097151)<<11|b>>>21;c=k>>21;u=c;c=se(y,c,-683901,-1);e=c+f|0;b=$+d|0;b=c>>>0>e>>>0?b+1|0:b;d=e;c=q&-2097152;E=d-c|0;T=b-((c>>>0>d>>>0)+g|0)|0;c=se(y,u,136657,0);d=c+x|0;b=$+j|0;b=c>>>0>d>>>0?b+1|0:b;c=m&-2097152;z=d-c|0;N=b-((c>>>0>d>>>0)+i|0)|0;i=se(O,C,666643,0);c=G[a+8|0];b=c>>>24|0;e=G[a+7|0];f=e|c<<8;c=G[a+9|0];d=c>>>16|0;f=f|c<<16;c=b|d|l>>>8;c=((c&127)<<25|(l<<24|f)>>>7)&2097151;d=c+i|0;b=$;b=c>>>0>d>>>0?b+1|0:b;c=d;d=se(A,v,-997805,-1);f=c+d|0;c=$+b|0;c=d>>>0>f>>>0?c+1|0:c;b=se(V,s,470296,0);f=b+f|0;d=$+c|0;d=b>>>0>f>>>0?d+1|0:d;c=se(P,B,654183,0);f=c+f|0;b=$+d|0;j=f;d=c>>>0>f>>>0?b+1|0:b;b=se(A,v,654183,0);f=G[a+6|0];c=f>>>24|0;i=G[a+5|0];f=i|f<<8;g=b;b=e>>>16|0;e=e<<16;c=b|c;b=e|f;b=((c&3)<<30|b>>>2)&2097151;e=g+b|0;c=$;c=b>>>0>e>>>0?c+1|0:c;b=e;e=se(V,s,666643,0);f=b+e|0;b=$+c|0;b=e>>>0>f>>>0?b+1|0:b;e=se(P,B,470296,0);f=e+f|0;c=$+b|0;x=f;c=e>>>0>f>>>0?c+1|0:c;g=c;b=f;f=c-((b>>>0<4293918720)-1|0)|0;m=b- -1048576|0;c=m;c=(f&2097151)<<11|c>>>21;e=c+j|0;b=(f>>21)+d|0;q=e;b=c>>>0>e>>>0?b+1|0:b;d=b;b=e;e=d-((b>>>0<4293918720)-1|0)|0;j=b- -1048576|0;c=j;l=(e&2097151)<<11|c>>>21;s=l+z|0;c=(e>>21)+N|0;C=s;l=l>>>0>s>>>0?c+1|0:c;b=se(y,u,-997805,-1);c=b+q|0;d=$+d|0;d=b>>>0>c>>>0?d+1|0:d;b=j&-2097152;U=c-b|0;z=d-((b>>>0>c>>>0)+e|0)|0;b=se(y,u,654183,0);d=b+x|0;c=$+g|0;c=b>>>0>d>>>0?c+1|0:c;b=m&-2097152;s=d-b|0;N=c-((b>>>0>d>>>0)+f|0)|0;j=se(A,v,470296,0);b=G[a+3|0];c=b>>>24|0;f=G[a+2|0];e=f|b<<8;d=G[a+4|0];b=d>>>16|0;e=e|d<<16;c=b|c|i>>>8;b=((c&31)<<27|(i<<24|e)>>>5)&2097151;c=b+j|0;d=$;d=b>>>0>c>>>0?d+1|0:d;b=c;c=se(P,B,666643,0);e=b+c|0;b=$+d|0;g=e;e=c>>>0>e>>>0?b+1|0:b;b=se(A,v,666643,0);c=f<<16&2031616|(G[a|0]|G[a+1|0]<<8);d=b+c|0;b=$;b=c>>>0>d>>>0?b+1|0:b;j=b;i=b-((d>>>0<4293918720)-1|0)|0;x=d- -1048576|0;b=x;f=(i&2097151)<<11|b>>>21;g=f+g|0;b=(i>>21)+e|0;m=g;b=f>>>0>g>>>0?b+1|0:b;g=b;b=m;f=g-((b>>>0<4293918720)-1|0)|0;q=b- -1048576|0;b=q;e=(f&2097151)<<11|b>>>21;v=e+s|0;b=(f>>21)+N|0;b=e>>>0>v>>>0?b+1|0:b;e=b;b=se(y,u,470296,0);m=b+m|0;c=$+g|0;c=b>>>0>m>>>0?c+1|0:c;g=q&-2097152;b=m-g|0;f=c-((g>>>0>m>>>0)+f|0)|0;m=b;c=se(y,u,666643,0);b=x&-2097152;g=c+(d-b|0)|0;b=$+(j-((b>>>0>d>>>0)+i|0)|0)|0;i=g;d=g;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;b=(b&2097151)<<11|d>>>21;d=m+b|0;c=c+f|0;c=b>>>0>d>>>0?c+1|0:c;g=d;b=c>>21;c=(c&2097151)<<11|d>>>21;d=c+v|0;b=b+e|0;b=c>>>0>d>>>0?b+1|0:b;f=d;c=b>>21;b=(b&2097151)<<11|d>>>21;e=b+U|0;d=c+z|0;B=e;c=e;d=b>>>0>c>>>0?d+1|0:d;b=d>>21;d=(d&2097151)<<11|c>>>21;e=d+C|0;c=b+l|0;v=e;b=e;c=d>>>0>b>>>0?c+1|0:c;d=c>>21;c=(c&2097151)<<11|b>>>21;e=c+E|0;b=d+T|0;u=e;d=e;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;b=(b&2097151)<<11|d>>>21;d=b+F|0;c=c+p|0;c=b>>>0>d>>>0?c+1|0:c;x=d;b=c>>21;c=(c&2097151)<<11|d>>>21;d=c+X|0;b=b+S|0;b=c>>>0>d>>>0?b+1|0:b;m=d;c=b>>21;b=(b&2097151)<<11|d>>>21;e=b+W|0;d=c+n|0;q=e;c=e;d=b>>>0>c>>>0?d+1|0:d;b=d>>21;d=(d&2097151)<<11|c>>>21;e=d+ba|0;c=b+ca|0;n=e;b=e;c=d>>>0>b>>>0?c+1|0:c;d=c>>21;c=(c&2097151)<<11|b>>>21;e=c+aa|0;b=d+t|0;p=e;d=e;b=c>>>0>d>>>0?b+1|0:b;c=b>>21;e=(b&2097151)<<11|d>>>21;b=w&-2097152;d=h-b|0;e=e+d|0;b=(r-((b>>>0>h>>>0)+k|0)|0)+c|0;r=e;c=e;b=d>>>0>c>>>0?b+1|0:b;t=(b&2097151)<<11|c>>>21;d=b>>21;j=d;c=i&2097151;d=se(t,d,666643,0)+c|0;b=$;i=d;b=c>>>0>d>>>0?b+1|0:b;h=b;D[a|0]=d;D[a+1|0]=(b&255)<<24|d>>>8;b=g&2097151;d=se(t,j,470296,0)+b|0;c=$;c=b>>>0>d>>>0?c+1|0:c;e=(h&2097151)<<11|i>>>21;g=e+d|0;b=(h>>21)+c|0;b=e>>>0>g>>>0?b+1|0:b;e=g;d=e;D[a+4|0]=(b&2047)<<21|d>>>11;c=b;D[a+3|0]=(b&7)<<29|d>>>3;d=f&2097151;f=se(t,j,654183,0)+d|0;b=$;b=d>>>0>f>>>0?b+1|0:b;d=f;f=(c&2097151)<<11|e>>>21;g=d+f|0;c=(c>>21)+b|0;c=f>>>0>g>>>0?c+1|0:c;b=c;D[a+6|0]=(b&63)<<26|g>>>6;f=0;k=e&2097151;c=k;D[a+2|0]=((h&65535)<<16|i>>>16)&31|c<<5;d=B&2097151;h=se(t,j,-997805,-1)+d|0;c=$;c=d>>>0>h>>>0?c+1|0:c;d=h;h=(b&2097151)<<11|g>>>21;e=d+h|0;b=(b>>21)+c|0;i=e;c=e;b=c>>>0<h>>>0?b+1|0:b;D[a+9|0]=(b&511)<<23|c>>>9;D[a+8|0]=(b&1)<<31|c>>>1;e=0;l=g&2097151;d=l;D[a+5|0]=(f&524287)<<13|k>>>19|d<<2;c=v&2097151;h=se(t,j,136657,0)+c|0;d=$;d=c>>>0>h>>>0?d+1|0:d;c=b;b=b>>21;c=(c&2097151)<<11|i>>>21;h=c+h|0;b=b+d|0;b=c>>>0>h>>>0?b+1|0:b;f=h;c=f;D[a+12|0]=(b&4095)<<20|c>>>12;D[a+11|0]=(b&15)<<28|c>>>4;h=0;g=i&2097151;d=g;D[a+7|0]=(e&16383)<<18|l>>>14|d<<7;d=u&2097151;e=se(t,j,-683901,-1)+d|0;c=$;c=d>>>0>e>>>0?c+1|0:c;d=b;b=b>>21;d=(d&2097151)<<11|f>>>21;e=d+e|0;c=b+c|0;c=d>>>0>e>>>0?c+1|0:c;b=e;D[a+14|0]=(c&127)<<25|b>>>7;f=f&2097151;D[a+10|0]=(h&131071)<<15|g>>>17|f<<4;b=c;c=b>>21;h=(b&2097151)<<11|e>>>21;g=h+(x&2097151)|0;d=0;b=c+d|0;b=h>>>0>g>>>0?b+1|0:b;c=g;D[a+17|0]=(b&1023)<<22|c>>>10;D[a+16|0]=(b&3)<<30|c>>>2;i=e&2097151;e=i;D[a+13|0]=(d&1048575)<<12|f>>>20|e<<1;c=b>>21;b=(b&2097151)<<11|g>>>21;e=b+(m&2097151)|0;h=0;d=c+h|0;d=b>>>0>e>>>0?d+1|0:d;f=e;b=e;D[a+20|0]=(d&8191)<<19|b>>>13;D[a+19|0]=(d&31)<<27|b>>>5;g=g&2097151;c=g;D[a+15|0]=(h&32767)<<17|i>>>15|c<<6;h=(d&2097151)<<11|b>>>21;i=h+(q&2097151)|0;e=0;b=e+(d>>21)|0;b=h>>>0>i>>>0?b+1|0:b;h=b;D[a+21|0]=i;b=f;D[a+18|0]=(e&262143)<<14|c>>>18|b<<3;c=i;D[a+22|0]=(h&255)<<24|c>>>8;c=(h&2097151)<<11|c>>>21;e=c+(n&2097151)|0;b=h>>21;b=c>>>0>e>>>0?b+1|0:b;g=e;c=e;D[a+25|0]=(b&2047)<<21|c>>>11;d=c;D[a+24|0]=(b&7)<<29|c>>>3;c=b>>21;b=(b&2097151)<<11|d>>>21;f=b+(p&2097151)|0;d=b>>>0>f>>>0?c+1|0:c;b=f;D[a+27|0]=(d&63)<<26|b>>>6;e=0;g=g&2097151;b=g;D[a+23|0]=((h&65535)<<16|i>>>16)&31|b<<5;c=d>>21;b=(d&2097151)<<11|f>>>21;d=b+(r&2097151)|0;c=b>>>0>d>>>0?c+1|0:c;b=d;D[a+31|0]=(c&131071)<<15|b>>>17;D[a+30|0]=(c&511)<<23|b>>>9;D[a+29|0]=(c&1)<<31|b>>>1;b=0;f=f&2097151;D[a+26|0]=(e&524287)<<13|g>>>19|f<<2;D[a+28|0]=(b&16383)<<18|f>>>14|d<<7}function Wd(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=_-160|0;_=k;l=-1;if(!(e>>>0<8|g>>>0>i>>>0)){i=F[a+4>>2];j=F[a+8>>2];a=k+80|0;Aa(b,c,0,0,i,j,a,80);b=F[k+108>>2];F[k+24>>2]=F[k+104>>2];F[k+28>>2]=b;b=F[k+100>>2];F[k+16>>2]=F[k+96>>2];F[k+20>>2]=b;b=F[k+92>>2];F[k+8>>2]=F[k+88>>2];F[k+12>>2]=b;b=F[k+124>>2];F[k+40>>2]=F[k+120>>2];F[k+44>>2]=b;b=F[k+132>>2];F[k+48>>2]=F[k+128>>2];F[k+52>>2]=b;b=F[k+140>>2];F[k+56>>2]=F[k+136>>2];F[k+60>>2]=b;b=F[k+156>>2];F[k+72>>2]=F[k+152>>2];F[k+76>>2]=b;b=F[k+84>>2];F[k>>2]=F[k+80>>2];F[k+4>>2]=b;b=F[k+116>>2];F[k+32>>2]=F[k+112>>2];F[k+36>>2]=b;b=F[k+148>>2];F[k+64>>2]=F[k+144>>2];F[k+68>>2]=b;ia(a,80);ka(k+32|0,32,d,e-8|0,a);if(Ka((d+e|0)-8|0,a,8)){b=_-272|0;_=b;Hb(k,b+32|0);a=k- -64|0;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[b+16>>2]=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[b+20>>2]=c;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[b+24>>2]=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[b+28>>2]=c;if(g){c=0;while(1){d=c+f|0;a=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[b>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[b+4>>2]=a;a=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);F[b+8>>2]=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);F[b+12>>2]=a;a=_-16|0;_=a;n=G[d+15|0];o=G[d+14|0];p=G[d+13|0];q=G[d+12|0];s=G[d+11|0];r=G[d+10|0];t=G[d+9|0];u=G[d+8|0];m=G[d+6|0];v=G[d+5|0];w=G[d+4|0];x=G[d+3|0];y=G[d+2|0];z=G[d+1|0];A=G[d|0];e=F[b+256>>2];i=F[b+268>>2];l=F[b+264>>2];j=F[b+240>>2];B=G[d+7|0];d=F[b+260>>2];D[a+12|0]=j^G[((B^d)&255)+3392|0];D[a+8|0]=G[((r^l>>>8)&255)+3392|0]^j>>>8;D[a+4|0]=G[((p^i>>>16)&255)+3392|0]^j>>>16;D[a|0]=G[(A^e>>>24)+3392|0]^j>>>24;j=F[b+244>>2];D[a+13|0]=j^G[((l^s)&255)+3392|0];D[a+9|0]=G[((o^i>>>8)&255)+3392|0]^j>>>8;D[a+5|0]=G[((z^e>>>16)&255)+3392|0]^j>>>16;D[a+1|0]=G[(w^d>>>24)+3392|0]^j>>>24;j=F[b+248>>2];D[a+14|0]=j^G[((i^n)&255)+3392|0];D[a+10|0]=G[((y^e>>>8)&255)+3392|0]^j>>>8;D[a+6|0]=G[((v^d>>>16)&255)+3392|0]^j>>>16;D[a+2|0]=G[(u^l>>>24)+3392|0]^j>>>24;j=G[((e^x)&255)+3392|0];e=F[b+252>>2];D[a+15|0]=j^e;D[a+11|0]=G[((m^d>>>8)&255)+3392|0]^e>>>8;D[a+7|0]=G[((t^l>>>16)&255)+3392|0]^e>>>16;D[a+3|0]=G[(q^i>>>24)+3392|0]^e>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+224>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+228>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+232>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+236>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+2|0];i=G[a+1|0];l=G[a|0];j=G[a+14|0];n=G[a+12|0];o=G[a+15|0];p=G[a+8|0];q=G[a+10|0];s=G[a+9|0];r=G[a+11|0];t=G[a+4|0];u=G[a+5|0];m=G[a+6|0];v=G[a+7|0];w=G[a+3|0];d=F[b+208>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[q+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[l+3392|0]^d>>>24;d=F[b+212>>2];D[a+13|0]=d^G[j+3392|0];D[a+9|0]=G[r+3392|0]^d>>>8;D[a+5|0]=G[t+3392|0]^d>>>16;D[a+1|0]=G[i+3392|0]^d>>>24;d=F[b+216>>2];D[a+14|0]=d^G[o+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[u+3392|0]^d>>>16;D[a+2|0]=G[e+3392|0]^d>>>24;d=F[b+220>>2];D[a+15|0]=d^G[n+3392|0];D[a+11|0]=G[s+3392|0]^d>>>8;D[a+7|0]=G[m+3392|0]^d>>>16;D[a+3|0]=G[w+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+192>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+196>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+200>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+204>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+2|0];i=G[a+1|0];l=G[a|0];j=G[a+14|0];n=G[a+12|0];o=G[a+15|0];p=G[a+8|0];q=G[a+10|0];s=G[a+9|0];r=G[a+11|0];t=G[a+4|0];u=G[a+5|0];m=G[a+6|0];v=G[a+7|0];w=G[a+3|0];d=F[b+176>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[q+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[l+3392|0]^d>>>24;d=F[b+180>>2];D[a+13|0]=d^G[j+3392|0];D[a+9|0]=G[r+3392|0]^d>>>8;D[a+5|0]=G[t+3392|0]^d>>>16;D[a+1|0]=G[i+3392|0]^d>>>24;d=F[b+184>>2];D[a+14|0]=d^G[o+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[u+3392|0]^d>>>16;D[a+2|0]=G[e+3392|0]^d>>>24;d=F[b+188>>2];D[a+15|0]=d^G[n+3392|0];D[a+11|0]=G[s+3392|0]^d>>>8;D[a+7|0]=G[m+3392|0]^d>>>16;D[a+3|0]=G[w+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+160>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+164>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+168>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+172>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+144>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+148>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+152>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+156>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+128>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+132>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+136>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+140>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+112>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+116>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+120>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+124>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+96>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+100>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+104>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+108>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+80>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+84>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+88>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+92>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+3|0];i=G[a+6|0];l=G[a+9|0];j=G[a+12|0];n=G[a+2|0];o=G[a+5|0];p=G[a+8|0];q=G[a+15|0];s=G[a+1|0];r=G[a+4|0];t=G[a+11|0];u=G[a+14|0];m=G[a|0];v=G[a+7|0];w=G[a+10|0];d=F[b+64>>2];D[a+12|0]=d^G[G[a+13|0]+3392|0];D[a+8|0]=G[w+3392|0]^d>>>8;D[a+4|0]=G[v+3392|0]^d>>>16;D[a|0]=G[m+3392|0]^d>>>24;d=F[b+68>>2];D[a+13|0]=d^G[u+3392|0];D[a+9|0]=G[t+3392|0]^d>>>8;D[a+5|0]=G[r+3392|0]^d>>>16;D[a+1|0]=G[s+3392|0]^d>>>24;d=F[b+72>>2];D[a+14|0]=d^G[q+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=G[o+3392|0]^d>>>16;D[a+2|0]=G[n+3392|0]^d>>>24;d=F[b+76>>2];D[a+15|0]=d^G[j+3392|0];D[a+11|0]=G[l+3392|0]^d>>>8;D[a+7|0]=G[i+3392|0]^d>>>16;D[a+3|0]=G[e+3392|0]^d>>>24;xa(a);e=G[a+15|0];i=G[a+12|0];D[a+15|0]=i;l=G[G[a+2|0]+3392|0];D[a+2|0]=l;j=G[G[a+1|0]+3392|0];D[a+1|0]=j;n=G[G[a|0]+3392|0];D[a|0]=n;o=G[a+9|0];p=G[a+8|0];q=G[a+4|0];s=G[a+11|0];r=G[a+14|0];t=G[a+7|0];u=G[a+10|0];d=G[a+13|0];m=G[a+5|0];v=G[a+3|0];D[a+7|0]=G[G[a+6|0]+3392|0];D[a+6|0]=G[m+3392|0];D[a+3|0]=G[v+3392|0];m=G[d+3392|0];d=F[b+48>>2];D[a+12|0]=m^d;D[a+8|0]=G[u+3392|0]^d>>>8;D[a+4|0]=G[t+3392|0]^d>>>16;D[a|0]=n^d>>>24;d=F[b+52>>2];D[a+13|0]=d^G[r+3392|0];D[a+1|0]=j^d>>>24;D[a+9|0]=G[s+3392|0]^d>>>8;D[a+5|0]=G[q+3392|0]^d>>>16;d=F[b+56>>2];D[a+2|0]=l^d>>>24;l=G[a+6|0];D[a+14|0]=d^G[e+3392|0];D[a+10|0]=G[p+3392|0]^d>>>8;D[a+6|0]=l^d>>>16;d=F[b+60>>2];D[a+3|0]=G[a+3|0]^d>>>24;e=G[a+7|0];D[a+15|0]=d^G[i+3392|0];D[a+11|0]=G[o+3392|0]^d>>>8;D[a+7|0]=e^d>>>16;xa(a);n=G[a+15|0];j=G[a+12|0];D[a+15|0]=j;o=G[G[a+1|0]+3392|0];D[a+1|0]=o;p=G[G[a+2|0]+3392|0];D[a+2|0]=p;q=G[G[a+3|0]+3392|0];D[a+3|0]=q;s=G[a+7|0];r=G[G[a+6|0]+3392|0];D[a+7|0]=r;e=F[b+32>>2];i=F[b+36>>2];l=F[b+40>>2];t=G[a|0];u=G[a+10|0];m=G[a+4|0];v=G[a+11|0];w=G[a+5|0];x=G[a+8|0];y=G[a+9|0];z=G[a+13|0];A=G[a+14|0];d=c+h|0;B=G[j+3392|0];j=F[b+44>>2];D[d+15|0]=B^j;D[d+11|0]=l^G[n+3392|0];D[d+7|0]=i^G[A+3392|0];D[d+3|0]=e^G[z+3392|0];D[d+14|0]=G[y+3392|0]^j>>>8;D[d+13|0]=r^j>>>16;D[d+12|0]=q^j>>>24;D[d+10|0]=G[x+3392|0]^l>>>8;D[d+9|0]=G[w+3392|0]^l>>>16;D[d+8|0]=p^l>>>24;D[d+6|0]=G[v+3392|0]^i>>>8;D[d+5|0]=G[m+3392|0]^i>>>16;D[d+4|0]=o^i>>>24;D[d+2|0]=G[u+3392|0]^e>>>8;D[d+1|0]=G[s+3392|0]^e>>>16;D[d|0]=G[t+3392|0]^e>>>24;_=a+16|0;D[d|0]=G[d|0]^G[b+16|0];D[d+1|0]=G[d+1|0]^G[b+17|0];D[d+2|0]=G[d+2|0]^G[b+18|0];D[d+3|0]=G[d+3|0]^G[b+19|0];D[d+4|0]=G[d+4|0]^G[b+20|0];D[d+5|0]=G[d+5|0]^G[b+21|0];D[d+6|0]=G[d+6|0]^G[b+22|0];D[d+7|0]=G[d+7|0]^G[b+23|0];D[d+8|0]=G[d+8|0]^G[b+24|0];D[d+9|0]=G[d+9|0]^G[b+25|0];D[d+10|0]=G[d+10|0]^G[b+26|0];D[d+11|0]=G[d+11|0]^G[b+27|0];D[d+12|0]=G[d+12|0]^G[b+28|0];D[d+13|0]=G[d+13|0]^G[b+29|0];D[d+14|0]=G[d+14|0]^G[b+30|0];D[d+15|0]=G[d+15|0]^G[b+31|0];a=F[b+12>>2];F[b+24>>2]=F[b+8>>2];F[b+28>>2]=a;a=F[b+4>>2];F[b+16>>2]=F[b>>2];F[b+20>>2]=a;c=c+16|0;if(g>>>0>c>>>0){continue}break}}ia(b+32|0,240);ia(b+16|0,16);ia(b,16);_=b+272|0;a=G[(g+h|0)-1|0];l=a>>>0>g>>>0?-1:g-a|0}ia(k,80)}_=k+160|0;return l|0}function Jb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=_-16|0;_=d;h=G[a+14|0];k=G[a+6|0];l=G[a+5|0];s=G[a+9|0];q=G[a+13|0];m=G[a+1|0];n=G[a+10|0];i=G[a+2|0];j=G[a+3|0];o=G[a+7|0];p=G[a+15|0];r=G[a+11|0];u=G[a|0];f=F[c>>2];v=G[a+4|0];e=F[c+4>>2];t=G[a+8|0];g=F[c+8>>2];w=G[a+12|0];a=F[c+12>>2];D[d+3|0]=G[(w^a>>>24)+3072|0];D[d+2|0]=G[(t^g>>>24)+3072|0];D[d+1|0]=G[(v^e>>>24)+3072|0];D[d|0]=G[(u^f>>>24)+3072|0];D[d+15|0]=G[((g^r)&255)+3072|0];D[d+12|0]=G[((a^p)&255)+3072|0];D[d+14|0]=G[((e^o)&255)+3072|0];D[d+13|0]=G[((f^j)&255)+3072|0];D[d+10|0]=G[(i^f>>>8&255)+3072|0];D[d+8|0]=G[(n^g>>>8&255)+3072|0];D[d+7|0]=G[(m^f>>>16&255)+3072|0];D[d+6|0]=G[(q^a>>>16&255)+3072|0];D[d+5|0]=G[(s^g>>>16&255)+3072|0];D[d+4|0]=G[(l^e>>>16&255)+3072|0];D[d+11|0]=G[(k^e>>>8&255)+3072|0];D[d+9|0]=G[(h^a>>>8&255)+3072|0];ya(d);a=F[c+16>>2];f=F[c+20>>2];e=F[c+24>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+28>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+32>>2];f=F[c+36>>2];e=F[c+40>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+44>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+48>>2];f=F[c+52>>2];e=F[c+56>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+60>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+64>>2];f=F[c+68>>2];e=F[c+72>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+76>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+80>>2];f=F[c+84>>2];e=F[c+88>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+92>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+96>>2];f=F[c+100>>2];e=F[c+104>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+108>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+112>>2];f=F[c+116>>2];e=F[c+120>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+124>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+128>>2];f=F[c+132>>2];e=F[c+136>>2];h=G[d+11|0];k=G[d+9|0];l=G[d+5|0];s=G[d+6|0];q=G[d+7|0];m=G[d+4|0];n=G[d+10|0];i=G[d+8|0];j=G[d+12|0];o=G[d+13|0];p=G[d+15|0];r=G[d+14|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+140>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];D[d+15|0]=G[((e^r)&255)+3072|0];D[d+12|0]=G[((g^p)&255)+3072|0];D[d+14|0]=G[((f^o)&255)+3072|0];D[d+13|0]=G[((a^j)&255)+3072|0];D[d+10|0]=G[(i^a>>>8&255)+3072|0];D[d+8|0]=G[(n^e>>>8&255)+3072|0];D[d+7|0]=G[(m^a>>>16&255)+3072|0];D[d+6|0]=G[(q^g>>>16&255)+3072|0];D[d+5|0]=G[(s^e>>>16&255)+3072|0];D[d+4|0]=G[(l^f>>>16&255)+3072|0];D[d+11|0]=G[(k^f>>>8&255)+3072|0];D[d+9|0]=G[(h^g>>>8&255)+3072|0];ya(d);a=F[c+156>>2];h=a^G[d+15|0];f=F[c+152>>2];k=f^G[d+14|0];e=F[c+148>>2];l=e^G[d+13|0];g=F[c+144>>2];s=g^G[d+12|0];q=G[d+11|0]^a>>>8;m=G[d+7|0]^a>>>16;a=G[d+3|0]^a>>>24;n=G[d+10|0]^f>>>8;i=G[d+6|0]^f>>>16;f=G[d+2|0]^f>>>24;j=G[d+9|0]^e>>>8;o=G[d+5|0]^e>>>16;e=G[d+1|0]^e>>>24;p=G[d+8|0]^g>>>8;r=G[d+4|0]^g>>>16;D[d|0]=G[(G[d|0]^g>>>24)+3072|0];D[d+10|0]=G[(p&255)+3072|0];D[d+8|0]=G[(n&255)+3072|0];D[d+7|0]=G[(r&255)+3072|0];D[d+6|0]=G[(m&255)+3072|0];D[d+5|0]=G[(i&255)+3072|0];D[d+4|0]=G[(o&255)+3072|0];D[d+3|0]=G[a+3072|0];D[d+2|0]=G[f+3072|0];D[d+1|0]=G[e+3072|0];D[d+15|0]=G[(k&255)+3072|0];D[d+12|0]=G[(h&255)+3072|0];D[d+11|0]=G[(j&255)+3072|0];D[d+9|0]=G[(q&255)+3072|0];D[d+14|0]=G[(l&255)+3072|0];D[d+13|0]=G[(s&255)+3072|0];ya(d);f=F[c+160>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+164>>2];h=e^G[d+13|0];D[d+13|0]=h;k=G[d+9|0]^e>>>8;D[d+9|0]=k;g=F[c+168>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+172>>2];D[d+1|0]=G[(G[d+1|0]^e>>>24)+3072|0];D[d|0]=G[(G[d|0]^f>>>24)+3072|0];D[d+2|0]=G[(G[d+2|0]^g>>>24)+3072|0];s=G[d+5|0];q=G[d+6|0];m=G[d+4|0];n=G[d+10|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+3072|0];D[d+6|0]=G[(G[d+7|0]^a>>>16&255)+3072|0];i=G[d+11|0];j=G[d+15|0];o=G[d+12|0];p=G[d+8|0];D[d+8|0]=G[(n^g>>>8&255)+3072|0];D[d+7|0]=G[(m^f>>>16&255)+3072|0];D[d+5|0]=G[(q^g>>>16&255)+3072|0];D[d+4|0]=G[(s^e>>>16&255)+3072|0];D[d+10|0]=G[p+3072|0];D[d+15|0]=G[(l&255)+3072|0];D[d+12|0]=G[((a^j)&255)+3072|0];D[d+11|0]=G[(k&255)+3072|0];D[d+9|0]=G[(i^a>>>8&255)+3072|0];D[d+14|0]=G[(h&255)+3072|0];D[d+13|0]=G[o+3072|0];ya(d);a=F[c+176>>2];f=F[c+180>>2];e=F[c+184>>2];h=G[d+4|0];k=G[d+5|0];l=G[d+6|0];s=G[d+7|0];q=G[d+8|0];m=G[d+9|0];n=G[d+10|0];i=G[d+11|0];j=G[d+12|0];o=G[d+13|0];p=G[d+14|0];r=G[d+15|0];u=G[d|0];v=G[d+1|0];t=G[d+2|0];g=F[c+188>>2];D[d+3|0]=G[(G[d+3|0]^g>>>24)+3072|0];D[d+2|0]=G[(t^e>>>24)+3072|0];D[d+1|0]=G[(v^f>>>24)+3072|0];D[d|0]=G[(u^a>>>24)+3072|0];r=G[((g^r)&255)+3072|0];p=G[((e^p)&255)+3072|0];o=G[((f^o)&255)+3072|0];j=G[((a^j)&255)+3072|0];i=G[(i^g>>>8&255)+3072|0];n=G[(n^e>>>8&255)+3072|0];m=G[(m^f>>>8&255)+3072|0];g=G[(s^g>>>16&255)+3072|0];e=G[(l^e>>>16&255)+3072|0];f=G[(k^f>>>16&255)+3072|0];h=G[(h^a>>>16&255)+3072|0];D[d+10|0]=G[(q^a>>>8&255)+3072|0];D[d+8|0]=n;D[d+7|0]=h;D[d+6|0]=g;D[d+5|0]=e;D[d+4|0]=f;D[d+15|0]=p;D[d+12|0]=r;D[d+11|0]=m;D[d+9|0]=i;D[d+14|0]=o;D[d+13|0]=j;ya(d);f=F[c+192>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+196>>2];h=e^G[d+13|0];D[d+13|0]=h;k=G[d+9|0]^e>>>8;D[d+9|0]=k;g=F[c+200>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+204>>2];D[d+1|0]=G[(G[d+1|0]^e>>>24)+3072|0];D[d|0]=G[(G[d|0]^f>>>24)+3072|0];D[d+2|0]=G[(G[d+2|0]^g>>>24)+3072|0];s=G[d+5|0];q=G[d+6|0];m=G[d+4|0];n=G[d+10|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+3072|0];i=G[d+11|0];j=G[d+15|0];o=G[d+7|0];p=G[d+12|0];r=G[d+8|0];D[d+8|0]=G[(n^g>>>8&255)+3072|0];D[d+7|0]=G[(m^f>>>16&255)+3072|0];D[d+6|0]=G[(o^a>>>16&255)+3072|0];D[d+5|0]=G[(q^g>>>16&255)+3072|0];D[d+4|0]=G[(s^e>>>16&255)+3072|0];D[d+10|0]=G[r+3072|0];D[d+15|0]=G[(l&255)+3072|0];D[d+12|0]=G[((a^j)&255)+3072|0];D[d+11|0]=G[(k&255)+3072|0];D[d+9|0]=G[(i^a>>>8&255)+3072|0];D[d+14|0]=G[(h&255)+3072|0];D[d+13|0]=G[p+3072|0];ya(d);f=F[c+208>>2];D[d+12|0]=f^G[d+12|0];D[d+8|0]=G[d+8|0]^f>>>8;e=F[c+212>>2];k=e^G[d+13|0];D[d+13|0]=k;h=G[d+9|0]^e>>>8;D[d+9|0]=h;g=F[c+216>>2];l=g^G[d+14|0];D[d+14|0]=l;a=F[c+220>>2];D[d+2|0]=G[(G[d+2|0]^g>>>24)+3072|0];s=G[d+4|0];q=G[d+6|0];m=G[d+5|0];n=G[d+10|0];i=G[d|0];j=G[d+1|0];D[d+3|0]=G[(G[d+3|0]^a>>>24)+3072|0];j=G[(j^e>>>24)+3072|0];D[d+1|0]=j;i=G[(i^f>>>24)+3072|0];D[d|0]=i;o=G[d+7|0];p=G[d+11|0];r=G[d+15|0];u=G[d+8|0];v=G[d+12|0];l=G[(l&255)+3072|0];D[d+15|0]=l;t=G[(h&255)+3072|0];D[d+11|0]=t;h=F[c+224>>2];r=h^G[((a^r)&255)+3072|0];D[d+12|0]=r;n=G[(n^g>>>8&255)+3072|0]^h>>>8;D[d+8|0]=n;m=G[(m^e>>>16&255)+3072|0]^h>>>16;D[d+4|0]=m;h=i^h>>>24;D[d|0]=h;e=F[c+228>>2];i=e^G[v+3072|0];D[d+13|0]=i;p=G[(p^a>>>8&255)+3072|0]^e>>>8;D[d+9|0]=p;g=G[(q^g>>>16&255)+3072|0]^e>>>16;D[d+5|0]=g;q=j^e>>>24;D[d+1|0]=q;e=F[c+232>>2];k=e^G[(k&255)+3072|0];D[d+14|0]=k;j=G[u+3072|0]^e>>>8;D[d+10|0]=j;o=G[(o^a>>>16&255)+3072|0]^e>>>16;D[d+6|0]=o;e=G[d+2|0]^e>>>24;D[d+2|0]=e;a=F[c+236>>2];c=G[(s^f>>>16&255)+3072|0]^a>>>16;D[d+7|0]=c;f=G[d+3|0]^a>>>24;D[d+3|0]=f;D[b+13|0]=c;D[b+12|0]=f;D[b+11|0]=k;D[b+10|0]=j;D[b+9|0]=o;D[b+8|0]=e;D[b+7|0]=i;D[b+6|0]=p;D[b+5|0]=g;D[b+4|0]=q;D[b+3|0]=r;D[b+2|0]=n;D[b+1|0]=m;D[b|0]=h;D[b+15|0]=a^l;D[b+14|0]=t^a>>>8;_=d+16|0}function bd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=_-16|0;_=l;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{k:{if(a>>>0<=244){e=F[9386];h=a>>>0<11?16:a+11&-8;c=h>>>3|0;b=e>>>c|0;if(b&3){d=c+((b^-1)&1)|0;b=d<<3;f=F[b+37592>>2];a=f+8|0;c=F[f+8>>2];b=b+37584|0;l:{if((c|0)==(b|0)){F[9386]=ue(-2,d)&e;break l}F[c+12>>2]=b;F[b+8>>2]=c}b=d<<3;F[f+4>>2]=b|3;b=b+f|0;F[b+4>>2]=F[b+4>>2]|1;break a}k=F[9388];if(k>>>0>=h>>>0){break k}if(b){a=2<<c;a=(0-a|a)&b<<c;b=(0-a&a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;c=(c|a)+(b>>>a|0)|0;a=c<<3;g=F[a+37592>>2];b=F[g+8>>2];a=a+37584|0;m:{if((b|0)==(a|0)){e=ue(-2,c)&e;F[9386]=e;break m}F[b+12>>2]=a;F[a+8>>2]=b}a=g+8|0;F[g+4>>2]=h|3;d=g+h|0;b=c<<3;f=b-h|0;F[d+4>>2]=f|1;F[b+g>>2]=f;if(k){b=k>>>3|0;c=(b<<3)+37584|0;g=F[9391];b=1<<b;n:{if(!(b&e)){F[9386]=b|e;b=c;break n}b=F[c+8>>2]}F[c+8>>2]=g;F[b+12>>2]=g;F[g+12>>2]=c;F[g+8>>2]=b}F[9391]=d;F[9388]=f;break a}j=F[9387];if(!j){break k}b=(j&0-j)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;b=F[((c|a)+(b>>>a|0)<<2)+37848>>2];d=(F[b+4>>2]&-8)-h|0;c=b;while(1){o:{a=F[c+16>>2];if(!a){a=F[c+20>>2];if(!a){break o}}c=(F[a+4>>2]&-8)-h|0;f=c>>>0<d>>>0;d=f?c:d;b=f?a:b;c=a;continue}break}i=F[b+24>>2];f=F[b+12>>2];if((f|0)!=(b|0)){a=F[b+8>>2];F[a+12>>2]=f;F[f+8>>2]=a;break b}c=b+20|0;a=F[c>>2];if(!a){a=F[b+16>>2];if(!a){break j}c=b+16|0}while(1){g=c;f=a;c=a+20|0;a=F[c>>2];if(a){continue}c=f+16|0;a=F[f+16>>2];if(a){continue}break}F[g>>2]=0;break b}h=-1;if(a>>>0>4294967231){break k}a=a+11|0;h=a&-8;j=F[9387];if(!j){break k}d=0-h|0;e=0;p:{if(h>>>0<256){break p}e=31;if(h>>>0>16777215){break p}a=a>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;e=(a<<1|h>>>a+21&1)+28|0}c=F[(e<<2)+37848>>2];q:{r:{s:{if(!c){a=0;break s}a=0;b=h<<((e|0)==31?0:25-(e>>>1|0)|0);while(1){t:{g=(F[c+4>>2]&-8)-h|0;if(g>>>0>=d>>>0){break t}f=c;d=g;if(d){break t}d=0;a=c;break r}g=F[c+20>>2];c=F[((b>>>29&4)+c|0)+16>>2];a=g?(g|0)==(c|0)?a:g:a;b=b<<1;if(c){continue}break}}if(!(a|f)){f=0;a=2<<e;a=(0-a|a)&j;if(!a){break k}b=(a&0-a)-1|0;a=b>>>12&16;c=a;b=b>>>a|0;a=b>>>5&8;c=c|a;b=b>>>a|0;a=b>>>2&4;c=c|a;b=b>>>a|0;a=b>>>1&2;c=c|a;b=b>>>a|0;a=b>>>1&1;a=F[((c|a)+(b>>>a|0)<<2)+37848>>2]}if(!a){break q}}while(1){b=(F[a+4>>2]&-8)-h|0;c=b>>>0<d>>>0;d=c?b:d;f=c?a:f;b=F[a+16>>2];if(b){a=b}else{a=F[a+20>>2]}if(a){continue}break}}if(!f|F[9388]-h>>>0<=d>>>0){break k}e=F[f+24>>2];b=F[f+12>>2];if((f|0)!=(b|0)){a=F[f+8>>2];F[a+12>>2]=b;F[b+8>>2]=a;break c}c=f+20|0;a=F[c>>2];if(!a){a=F[f+16>>2];if(!a){break i}c=f+16|0}while(1){g=c;b=a;c=a+20|0;a=F[c>>2];if(a){continue}c=b+16|0;a=F[b+16>>2];if(a){continue}break}F[g>>2]=0;break c}c=F[9388];if(c>>>0>=h>>>0){d=F[9391];b=c-h|0;u:{if(b>>>0>=16){F[9388]=b;a=d+h|0;F[9391]=a;F[a+4>>2]=b|1;F[c+d>>2]=b;F[d+4>>2]=h|3;break u}F[9391]=0;F[9388]=0;F[d+4>>2]=c|3;a=c+d|0;F[a+4>>2]=F[a+4>>2]|1}a=d+8|0;break a}i=F[9389];if(i>>>0>h>>>0){b=i-h|0;F[9389]=b;c=F[9392];a=c+h|0;F[9392]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}a=0;j=h+47|0;if(F[9504]){c=F[9506]}else{F[9507]=-1;F[9508]=-1;F[9505]=4096;F[9506]=4096;F[9504]=l+12&-16^1431655768;F[9509]=0;F[9497]=0;c=4096}g=j+c|0;f=0-c|0;c=g&f;if(c>>>0<=h>>>0){break a}d=F[9496];if(d){b=F[9494];e=b+c|0;if(d>>>0<e>>>0|b>>>0>=e>>>0){break a}}if(G[37988]&4){break f}v:{w:{d=F[9392];if(d){a=37992;while(1){b=F[a>>2];if(b>>>0<=d>>>0&d>>>0<b+F[a+4>>2]>>>0){break w}a=F[a+8>>2];if(a){continue}break}}b=La(0);if((b|0)==-1){break g}e=c;d=F[9505];a=d-1|0;if(a&b){e=(c-b|0)+(a+b&0-d)|0}if(e>>>0<=h>>>0|e>>>0>2147483646){break g}d=F[9496];if(d){a=F[9494];f=a+e|0;if(d>>>0<f>>>0|a>>>0>=f>>>0){break g}}a=La(e);if((b|0)!=(a|0)){break v}break e}e=f&g-i;if(e>>>0>2147483646){break g}b=La(e);if((b|0)==(F[a>>2]+F[a+4>>2]|0)){break h}a=b}if(!((a|0)==-1|h+48>>>0<=e>>>0)){b=F[9506];b=b+(j-e|0)&0-b;if(b>>>0>2147483646){b=a;break e}if((La(b)|0)!=-1){e=b+e|0;b=a;break e}La(0-e|0);break g}b=a;if((a|0)!=-1){break e}break g}f=0;break b}b=0;break c}if((b|0)!=-1){break e}}F[9497]=F[9497]|4}if(c>>>0>2147483646){break d}b=La(c);a=La(0);if((b|0)==-1|(a|0)==-1|a>>>0<=b>>>0){break d}e=a-b|0;if(e>>>0<=h+40>>>0){break d}}a=F[9494]+e|0;F[9494]=a;if(a>>>0>I[9495]){F[9495]=a}x:{y:{z:{g=F[9392];if(g){a=37992;while(1){d=F[a>>2];c=F[a+4>>2];if((d+c|0)==(b|0)){break z}a=F[a+8>>2];if(a){continue}break}break y}a=F[9390];if(!(a>>>0<=b>>>0?a:0)){F[9390]=b}a=0;F[9499]=e;F[9498]=b;F[9394]=-1;F[9395]=F[9504];F[9501]=0;while(1){d=a<<3;c=d+37584|0;F[d+37592>>2]=c;F[d+37596>>2]=c;a=a+1|0;if((a|0)!=32){continue}break}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;F[9389]=c;a=a+b|0;F[9392]=a;F[a+4>>2]=c|1;F[(b+d|0)+4>>2]=40;F[9393]=F[9508];break x}if(G[a+12|0]&8|d>>>0>g>>>0|b>>>0<=g>>>0){break y}F[a+4>>2]=c+e;a=g+8&7?-8-g&7:0;c=a+g|0;F[9392]=c;b=F[9389]+e|0;a=b-a|0;F[9389]=a;F[c+4>>2]=a|1;F[(b+g|0)+4>>2]=40;F[9393]=F[9508];break x}if(I[9390]>b>>>0){F[9390]=b}c=b+e|0;a=37992;A:{B:{C:{D:{E:{F:{while(1){if((c|0)!=F[a>>2]){a=F[a+8>>2];if(a){continue}break F}break}if(!(G[a+12|0]&8)){break E}}a=37992;while(1){c=F[a>>2];if(c>>>0<=g>>>0){f=c+F[a+4>>2]|0;if(f>>>0>g>>>0){break D}}a=F[a+8>>2];continue}}F[a>>2]=b;F[a+4>>2]=F[a+4>>2]+e;j=(b+8&7?-8-b&7:0)+b|0;F[j+4>>2]=h|3;e=c+(c+8&7?-8-c&7:0)|0;i=h+j|0;c=e-i|0;if((e|0)==(g|0)){F[9392]=i;a=F[9389]+c|0;F[9389]=a;F[i+4>>2]=a|1;break B}if(F[9391]==(e|0)){F[9391]=i;a=F[9388]+c|0;F[9388]=a;F[i+4>>2]=a|1;F[a+i>>2]=a;break B}a=F[e+4>>2];if((a&3)==1){g=a&-8;G:{if(a>>>0<=255){d=F[e+8>>2];a=a>>>3|0;b=F[e+12>>2];if((b|0)==(d|0)){F[9386]=F[9386]&ue(-2,a);break G}F[d+12>>2]=b;F[b+8>>2]=d;break G}h=F[e+24>>2];b=F[e+12>>2];H:{if((e|0)!=(b|0)){a=F[e+8>>2];F[a+12>>2]=b;F[b+8>>2]=a;break H}I:{a=e+20|0;d=F[a>>2];if(d){break I}a=e+16|0;d=F[a>>2];if(d){break I}b=0;break H}while(1){f=a;b=d;a=b+20|0;d=F[a>>2];if(d){continue}a=b+16|0;d=F[b+16>>2];if(d){continue}break}F[f>>2]=0}if(!h){break G}d=F[e+28>>2];a=(d<<2)+37848|0;J:{if(F[a>>2]==(e|0)){F[a>>2]=b;if(b){break J}F[9387]=F[9387]&ue(-2,d);break G}F[h+(F[h+16>>2]==(e|0)?16:20)>>2]=b;if(!b){break G}}F[b+24>>2]=h;a=F[e+16>>2];if(a){F[b+16>>2]=a;F[a+24>>2]=b}a=F[e+20>>2];if(!a){break G}F[b+20>>2]=a;F[a+24>>2]=b}e=e+g|0;c=c+g|0}F[e+4>>2]=F[e+4>>2]&-2;F[i+4>>2]=c|1;F[c+i>>2]=c;if(c>>>0<=255){a=c>>>3|0;b=(a<<3)+37584|0;c=F[9386];a=1<<a;K:{if(!(c&a)){F[9386]=a|c;a=b;break K}a=F[b+8>>2]}F[b+8>>2]=i;F[a+12>>2]=i;F[i+12>>2]=b;F[i+8>>2]=a;break B}a=31;if(c>>>0<=16777215){a=c>>>8|0;f=a+1048320>>>16&8;a=a<<f;d=a+520192>>>16&4;a=a<<d;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(d|f))|0;a=(a<<1|c>>>a+21&1)+28|0}F[i+28>>2]=a;F[i+16>>2]=0;F[i+20>>2]=0;f=(a<<2)+37848|0;d=F[9387];b=1<<a;L:{if(!(d&b)){F[9387]=b|d;F[f>>2]=i;F[i+24>>2]=f;break L}a=c<<((a|0)==31?0:25-(a>>>1|0)|0);b=F[f>>2];while(1){d=b;if((F[b+4>>2]&-8)==(c|0)){break C}b=a>>>29|0;a=a<<1;f=d+(b&4)|0;b=F[f+16>>2];if(b){continue}break}F[f+16>>2]=i;F[i+24>>2]=d}F[i+12>>2]=i;F[i+8>>2]=i;break B}d=e-40|0;a=b+8&7?-8-b&7:0;c=d-a|0;F[9389]=c;a=a+b|0;F[9392]=a;F[a+4>>2]=c|1;F[(b+d|0)+4>>2]=40;F[9393]=F[9508];a=(f+(f-39&7?39-f&7:0)|0)-47|0;c=a>>>0<g+16>>>0?g:a;F[c+4>>2]=27;a=F[9501];F[c+16>>2]=F[9500];F[c+20>>2]=a;a=F[9499];F[c+8>>2]=F[9498];F[c+12>>2]=a;F[9500]=c+8;F[9499]=e;F[9498]=b;F[9501]=0;a=c+24|0;while(1){F[a+4>>2]=7;b=a+8|0;a=a+4|0;if(b>>>0<f>>>0){continue}break}if((c|0)==(g|0)){break x}F[c+4>>2]=F[c+4>>2]&-2;f=c-g|0;F[g+4>>2]=f|1;F[c>>2]=f;if(f>>>0<=255){a=f>>>3|0;b=(a<<3)+37584|0;c=F[9386];a=1<<a;M:{if(!(c&a)){F[9386]=a|c;a=b;break M}a=F[b+8>>2]}F[b+8>>2]=g;F[a+12>>2]=g;F[g+12>>2]=b;F[g+8>>2]=a;break x}a=31;F[g+16>>2]=0;F[g+20>>2]=0;if(f>>>0<=16777215){a=f>>>8|0;d=a+1048320>>>16&8;a=a<<d;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|d))|0;a=(a<<1|f>>>a+21&1)+28|0}F[g+28>>2]=a;d=(a<<2)+37848|0;c=F[9387];b=1<<a;N:{if(!(c&b)){F[9387]=b|c;F[d>>2]=g;F[g+24>>2]=d;break N}a=f<<((a|0)==31?0:25-(a>>>1|0)|0);b=F[d>>2];while(1){c=b;if((f|0)==(F[b+4>>2]&-8)){break A}b=a>>>29|0;a=a<<1;d=c+(b&4)|0;b=F[d+16>>2];if(b){continue}break}F[d+16>>2]=g;F[g+24>>2]=c}F[g+12>>2]=g;F[g+8>>2]=g;break x}a=F[d+8>>2];F[a+12>>2]=i;F[d+8>>2]=i;F[i+24>>2]=0;F[i+12>>2]=d;F[i+8>>2]=a}a=j+8|0;break a}a=F[c+8>>2];F[a+12>>2]=g;F[c+8>>2]=g;F[g+24>>2]=0;F[g+12>>2]=c;F[g+8>>2]=a}a=F[9389];if(a>>>0<=h>>>0){break d}b=a-h|0;F[9389]=b;c=F[9392];a=c+h|0;F[9392]=a;F[a+4>>2]=b|1;F[c+4>>2]=h|3;a=c+8|0;break a}F[9343]=48;a=0;break a}O:{if(!e){break O}c=F[f+28>>2];a=(c<<2)+37848|0;P:{if(F[a>>2]==(f|0)){F[a>>2]=b;if(b){break P}j=ue(-2,c)&j;F[9387]=j;break O}F[e+(F[e+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break O}}F[b+24>>2]=e;a=F[f+16>>2];if(a){F[b+16>>2]=a;F[a+24>>2]=b}a=F[f+20>>2];if(!a){break O}F[b+20>>2]=a;F[a+24>>2]=b}Q:{if(d>>>0<=15){a=d+h|0;F[f+4>>2]=a|3;a=a+f|0;F[a+4>>2]=F[a+4>>2]|1;break Q}F[f+4>>2]=h|3;e=f+h|0;F[e+4>>2]=d|1;F[d+e>>2]=d;if(d>>>0<=255){a=d>>>3|0;b=(a<<3)+37584|0;c=F[9386];a=1<<a;R:{if(!(c&a)){F[9386]=a|c;a=b;break R}a=F[b+8>>2]}F[b+8>>2]=e;F[a+12>>2]=e;F[e+12>>2]=b;F[e+8>>2]=a;break Q}a=31;if(d>>>0<=16777215){a=d>>>8|0;g=a+1048320>>>16&8;a=a<<g;c=a+520192>>>16&4;a=a<<c;b=a+245760>>>16&2;a=(a<<b>>>15|0)-(b|(c|g))|0;a=(a<<1|d>>>a+21&1)+28|0}F[e+28>>2]=a;F[e+16>>2]=0;F[e+20>>2]=0;b=(a<<2)+37848|0;S:{c=1<<a;T:{if(!(c&j)){F[9387]=c|j;F[b>>2]=e;break T}a=d<<((a|0)==31?0:25-(a>>>1|0)|0);h=F[b>>2];while(1){b=h;if((F[b+4>>2]&-8)==(d|0)){break S}c=a>>>29|0;a=a<<1;c=(c&4)+b|0;h=F[c+16>>2];if(h){continue}break}F[c+16>>2]=e}F[e+24>>2]=b;F[e+12>>2]=e;F[e+8>>2]=e;break Q}a=F[b+8>>2];F[a+12>>2]=e;F[b+8>>2]=e;F[e+24>>2]=0;F[e+12>>2]=b;F[e+8>>2]=a}a=f+8|0;break a}U:{if(!i){break U}c=F[b+28>>2];a=(c<<2)+37848|0;V:{if(F[a>>2]==(b|0)){F[a>>2]=f;if(f){break V}F[9387]=ue(-2,c)&j;break U}F[i+(F[i+16>>2]==(b|0)?16:20)>>2]=f;if(!f){break U}}F[f+24>>2]=i;a=F[b+16>>2];if(a){F[f+16>>2]=a;F[a+24>>2]=f}a=F[b+20>>2];if(!a){break U}F[f+20>>2]=a;F[a+24>>2]=f}W:{if(d>>>0<=15){a=d+h|0;F[b+4>>2]=a|3;a=a+b|0;F[a+4>>2]=F[a+4>>2]|1;break W}F[b+4>>2]=h|3;f=b+h|0;F[f+4>>2]=d|1;F[d+f>>2]=d;if(k){a=k>>>3|0;c=(a<<3)+37584|0;g=F[9391];a=1<<a;X:{if(!(a&e)){F[9386]=a|e;a=c;break X}a=F[c+8>>2]}F[c+8>>2]=g;F[a+12>>2]=g;F[g+12>>2]=c;F[g+8>>2]=a}F[9391]=f;F[9388]=d}a=b+8|0}_=l+16|0;return a|0}function ta(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;e=F[c>>2];d=e;f=e>>31;e=F[b>>2];F[a>>2]=se(d,f,e,e>>31);F[a+4>>2]=$;e=F[c>>2];d=e;f=e>>31;e=F[b+8>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+8>>2];h=e;g=e>>31;e=F[b>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;F[a+8>>2]=d;F[a+12>>2]=d>>>0<i>>>0?e+1|0:e;e=F[c+16>>2];d=e;f=e>>31;e=F[b>>2];e=se(d,f,e,e>>31);f=$;h=e;e=F[c+8>>2];g=e;i=e>>31;d=F[b+8>>2];e=d>>31;i=se(g,i,(d&2147483647)<<1,e);d=h+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;h=d;d=F[c>>2];f=d;g=d>>31;d=F[b+16>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;F[a+16>>2]=d;F[a+20>>2]=d>>>0<f>>>0?e+1|0:e;e=F[c+8>>2];d=e;f=e>>31;e=F[b+16>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+16>>2];h=e;g=e>>31;e=F[b+8>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;f=d;d=F[c+24>>2];h=d;g=d>>31;d=F[b>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c>>2];h=e;g=e>>31;e=F[b+24>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;F[a+24>>2]=f;F[a+28>>2]=f>>>0<i>>>0?e+1|0:e;e=F[c+16>>2];d=e;f=e>>31;e=F[b+16>>2];e=se(d,f,e,e>>31);i=$;d=F[c+8>>2];f=d;h=d>>31;d=F[b+24>>2];d=se(f,h,d,d>>31);f=$;h=e;e=F[c+24>>2];g=e;j=e>>31;e=F[b+8>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+f|0;f=d;d=(d>>>0<g>>>0?e+1|0:e)<<1|d>>>31;g=f<<1;f=h+g|0;e=d+i|0;e=f>>>0<g>>>0?e+1|0:e;h=f;d=F[c+32>>2];f=d;g=d>>31;d=F[b>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c>>2];f=d;g=d>>31;d=F[b+32>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;F[a+32>>2]=d;F[a+36>>2]=d>>>0<f>>>0?e+1|0:e;e=F[c+16>>2];d=e;f=e>>31;e=F[b+24>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+24>>2];h=e;g=e>>31;e=F[b+16>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;f=d;d=F[c+32>>2];h=d;g=d>>31;d=F[b+8>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c+8>>2];h=e;g=e>>31;e=F[b+32>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;e=f>>>0<i>>>0?e+1|0:e;h=f;d=F[c+40>>2];f=d;g=d>>31;d=F[b>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c>>2];f=d;g=d>>31;d=F[b+40>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;F[a+40>>2]=d;F[a+44>>2]=d>>>0<f>>>0?e+1|0:e;e=F[c+32>>2];d=e;f=e>>31;e=F[b+16>>2];e=se(d,f,e,e>>31);i=$;d=F[c+40>>2];f=d;h=d>>31;d=F[b+8>>2];d=se(f,h,d,d>>31);f=$;h=e;e=F[c+24>>2];g=e;j=e>>31;e=F[b+24>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;f=d;d=F[c+8>>2];g=d;j=d>>31;d=F[b+40>>2];g=se(g,j,d,d>>31);f=f+g|0;d=$+e|0;d=f>>>0<g>>>0?d+1|0:d;e=d<<1|f>>>31;f=f<<1;d=h+f|0;e=e+i|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+16>>2];f=d;g=d>>31;d=F[b+32>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+48>>2];f=d;g=d>>31;d=F[b>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c>>2];h=d;g=d>>31;d=F[b+48>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;F[a+48>>2]=f;F[a+52>>2]=f>>>0<i>>>0?d+1|0:d;e=F[c+24>>2];d=e;f=e>>31;e=F[b+32>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+32>>2];h=e;g=e>>31;e=F[b+24>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;h=d;d=F[c+40>>2];f=d;g=d>>31;d=F[b+16>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+16>>2];f=d;g=d>>31;d=F[b+40>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+48>>2];f=d;g=d>>31;d=F[b+8>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c+8>>2];h=d;g=d>>31;d=F[b+48>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c+56>>2];h=e;g=e>>31;e=F[b>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;e=f>>>0<i>>>0?e+1|0:e;h=f;d=F[c>>2];f=d;g=d>>31;d=F[b+56>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;F[a+56>>2]=d;F[a+60>>2]=d>>>0<f>>>0?e+1|0:e;e=F[c+32>>2];d=e;f=e>>31;e=F[b+32>>2];e=se(d,f,e,e>>31);i=$;d=F[c+24>>2];f=d;h=d>>31;d=F[b+40>>2];d=se(f,h,d,d>>31);f=$;h=e;e=F[c+40>>2];g=e;j=e>>31;e=F[b+24>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;g=d;d=F[c+56>>2];f=d;j=d>>31;d=F[b+8>>2];f=se(f,j,d,d>>31);d=g+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c+8>>2];g=d;j=d>>31;d=F[b+56>>2];g=se(g,j,d,d>>31);f=f+g|0;d=$+e|0;d=f>>>0<g>>>0?d+1|0:d;e=d<<1|f>>>31;f=f<<1;d=h+f|0;e=e+i|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+48>>2];f=d;g=d>>31;d=F[b+16>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+16>>2];f=d;g=d>>31;d=F[b+48>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c+64>>2];h=d;g=d>>31;d=F[b>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c>>2];h=e;g=e>>31;e=F[b+64>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;F[a+64>>2]=f;F[a+68>>2]=f>>>0<i>>>0?e+1|0:e;e=F[c+32>>2];d=e;f=e>>31;e=F[b+40>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+40>>2];h=e;g=e>>31;e=F[b+32>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;h=d;d=F[c+48>>2];f=d;g=d>>31;d=F[b+24>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+24>>2];f=d;g=d>>31;d=F[b+48>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c+56>>2];h=d;g=d>>31;d=F[b+16>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c+16>>2];h=e;g=e>>31;e=F[b+56>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;e=f>>>0<i>>>0?e+1|0:e;h=f;d=F[c+64>>2];f=d;g=d>>31;d=F[b+8>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+8>>2];f=d;g=d>>31;d=F[b+64>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+72>>2];f=d;g=d>>31;d=F[b>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c>>2];h=d;g=d>>31;d=F[b+72>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;F[a+72>>2]=f;F[a+76>>2]=f>>>0<i>>>0?d+1|0:d;e=F[c+48>>2];d=e;f=e>>31;e=F[b+32>>2];e=se(d,f,e,e>>31);i=$;d=F[c+56>>2];f=d;h=d>>31;d=F[b+24>>2];d=se(f,h,d,d>>31);f=$;h=e;e=F[c+40>>2];g=e;j=e>>31;e=F[b+40>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;g=d;d=F[c+24>>2];f=d;j=d>>31;d=F[b+56>>2];f=se(f,j,d,d>>31);d=g+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;g=d;d=F[c+72>>2];f=d;j=d>>31;d=F[b+8>>2];f=se(f,j,d,d>>31);d=g+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;g=d;d=F[c+8>>2];f=d;j=d>>31;d=F[b+72>>2];f=se(f,j,d,d>>31);d=g+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;g=d<<1;f=h+g|0;d=(e<<1|d>>>31)+i|0;d=f>>>0<g>>>0?d+1|0:d;e=F[c+32>>2];h=e;g=e>>31;e=F[b+48>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;e=f>>>0<i>>>0?e+1|0:e;h=f;d=F[c+64>>2];f=d;g=d>>31;d=F[b+16>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+16>>2];f=d;g=d>>31;d=F[b+64>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;F[a+80>>2]=d;F[a+84>>2]=d>>>0<f>>>0?e+1|0:e;e=F[c+40>>2];d=e;f=e>>31;e=F[b+48>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+48>>2];h=e;g=e>>31;e=F[b+40>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;f=d;d=F[c+56>>2];h=d;g=d>>31;d=F[b+32>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c+32>>2];h=e;g=e>>31;e=F[b+56>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;e=f>>>0<i>>>0?e+1|0:e;h=f;d=F[c+64>>2];f=d;g=d>>31;d=F[b+24>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+24>>2];f=d;g=d>>31;d=F[b+64>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+72>>2];f=d;g=d>>31;d=F[b+16>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c+16>>2];h=d;g=d>>31;d=F[b+72>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;F[a+88>>2]=f;F[a+92>>2]=f>>>0<i>>>0?d+1|0:d;e=F[c+48>>2];d=e;f=e>>31;e=F[b+48>>2];e=se(d,f,e,e>>31);f=$;d=F[c+40>>2];h=d;g=d>>31;d=F[b+56>>2];d=se(h,g,d,d>>31);i=$;h=e;e=F[c+56>>2];g=e;j=e>>31;e=F[b+40>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+i|0;e=d>>>0<g>>>0?e+1|0:e;g=d;d=F[c+72>>2];i=d;j=d>>31;d=F[b+24>>2];i=se(i,j,d,d>>31);d=g+i|0;e=$+e|0;e=d>>>0<i>>>0?e+1|0:e;g=d;d=F[c+24>>2];i=d;j=d>>31;d=F[b+72>>2];i=se(i,j,d,d>>31);d=g+i|0;e=$+e|0;e=d>>>0<i>>>0?e+1|0:e;e=e<<1|d>>>31;i=d<<1;d=h+i|0;e=e+f|0;e=d>>>0<i>>>0?e+1|0:e;f=d;d=F[c+64>>2];h=d;g=d>>31;d=F[b+32>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c+32>>2];h=e;g=e>>31;e=F[b+64>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;F[a+96>>2]=f;F[a+100>>2]=f>>>0<i>>>0?e+1|0:e;e=F[c+48>>2];d=e;f=e>>31;e=F[b+56>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+56>>2];h=e;g=e>>31;e=F[b+48>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;h=d;d=F[c+64>>2];f=d;g=d>>31;d=F[b+40>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+40>>2];f=d;g=d>>31;d=F[b+64>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;f=d;d=F[c+72>>2];h=d;g=d>>31;d=F[b+32>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=F[c+32>>2];h=e;g=e>>31;e=F[b+72>>2];i=se(h,g,e,e>>31);f=i+f|0;e=$+d|0;F[a+104>>2]=f;F[a+108>>2]=f>>>0<i>>>0?e+1|0:e;e=F[c+64>>2];d=e;f=e>>31;e=F[b+48>>2];e=se(d,f,e,e>>31);f=$;d=F[c+72>>2];h=d;g=d>>31;d=F[b+40>>2];d=se(h,g,d,d>>31);i=$;h=e;e=F[c+56>>2];g=e;j=e>>31;e=F[b+56>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+i|0;e=d>>>0<g>>>0?e+1|0:e;g=d;d=F[c+40>>2];i=d;j=d>>31;d=F[b+72>>2];i=se(i,j,d,d>>31);d=g+i|0;e=$+e|0;e=d>>>0<i>>>0?e+1|0:e;e=e<<1|d>>>31;i=d<<1;d=h+i|0;e=e+f|0;e=d>>>0<i>>>0?e+1|0:e;f=d;d=F[c+48>>2];h=d;g=d>>31;d=F[b+64>>2];i=se(h,g,d,d>>31);f=f+i|0;d=$+e|0;F[a+112>>2]=f;F[a+116>>2]=f>>>0<i>>>0?d+1|0:d;e=F[c+56>>2];d=e;f=e>>31;e=F[b+64>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+64>>2];h=e;g=e>>31;e=F[b+56>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;h=d;d=F[c+72>>2];f=d;g=d>>31;d=F[b+48>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;h=d;d=F[c+48>>2];f=d;g=d>>31;d=F[b+72>>2];f=se(f,g,d,d>>31);d=h+f|0;e=$+e|0;F[a+120>>2]=d;F[a+124>>2]=d>>>0<f>>>0?e+1|0:e;e=F[c+64>>2];d=e;f=e>>31;e=F[b+64>>2];e=se(d,f,e,e>>31);i=$;d=F[c+56>>2];f=d;h=d>>31;d=F[b+72>>2];d=se(f,h,d,d>>31);f=$;h=e;e=F[c+72>>2];g=e;j=e>>31;e=F[b+56>>2];g=se(g,j,e,e>>31);d=g+d|0;e=$+f|0;e=d>>>0<g>>>0?e+1|0:e;g=d<<1;f=h+g|0;d=(e<<1|d>>>31)+i|0;F[a+128>>2]=f;F[a+132>>2]=f>>>0<g>>>0?d+1|0:d;e=F[c+64>>2];d=e;f=e>>31;e=F[b+72>>2];e=se(d,f,e,e>>31);f=$;d=e;e=F[c+72>>2];h=e;g=e>>31;e=F[b+64>>2];i=se(h,g,e,e>>31);d=d+i|0;e=$+f|0;F[a+136>>2]=d;F[a+140>>2]=d>>>0<i>>>0?e+1|0:e;e=F[b+72>>2];b=0;c=F[c+72>>2];F[a+144>>2]=se(c,c>>31,(e&2147483647)<<1|b>>>31,e>>31);F[a+148>>2]=$}function ha(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;V=F[c+4>>2];d=V;v=d;E=d>>31;G=F[b+20>>2];d=G<<1;ka=d;Y=d>>31;d=se(v,E,d,Y);f=$;e=d;d=F[c>>2];w=d;x=d>>31;d=F[b+24>>2];H=d;y=d>>31;o=se(w,x,d,y);e=e+o|0;d=$+f|0;d=e>>>0<o>>>0?d+1|0:d;f=e;g=F[c+8>>2];e=g;la=e;P=e>>31;e=F[b+16>>2];I=e;z=e>>31;o=se(g,P,e,z);e=f+o|0;f=$+d|0;f=e>>>0<o>>>0?f+1|0:f;h=F[c+12>>2];d=h;ma=d;S=d>>31;o=F[b+12>>2];d=o<<1;na=d;Z=d>>31;p=se(h,S,d,Z);d=p+e|0;e=$+f|0;e=d>>>0<p>>>0?e+1|0:e;f=d;s=F[c+16>>2];d=s;va=d;W=d>>31;d=F[b+8>>2];J=d;A=d>>31;p=se(s,W,d,A);f=f+p|0;d=$+e|0;d=f>>>0<p>>>0?d+1|0:d;K=f;k=F[c+20>>2];e=k;wa=e;_=e>>31;p=F[b+4>>2];e=p<<1;oa=e;aa=e>>31;f=se(k,_,e,aa);e=K+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=e;l=F[c+24>>2];e=l;xa=e;pa=e>>31;e=F[b>>2];M=e;B=e>>31;C=se(l,pa,e,B);f=f+C|0;e=$+d|0;e=f>>>0<C>>>0?e+1|0:e;ba=F[c+28>>2];d=L(ba,19);q=d;T=d>>31;C=F[b+36>>2];d=C<<1;qa=d;ca=d>>31;r=se(q,T,d,ca);d=r+f|0;f=$+e|0;f=d>>>0<r>>>0?f+1|0:f;e=d;ra=F[c+32>>2];d=L(ra,19);m=d;i=d>>31;d=F[b+32>>2];N=d;D=d>>31;r=se(m,i,d,D);e=e+r|0;d=$+f|0;d=e>>>0<r>>>0?d+1|0:d;ya=F[c+36>>2];c=L(ya,19);n=c;O=c>>31;r=F[b+28>>2];b=r<<1;sa=b;da=b>>31;c=se(c,O,b,da);b=c+e|0;d=$+d|0;U=b;b=b>>>0<c>>>0?d+1|0:d;c=se(I,z,v,E);d=$;ea=G>>31;e=se(w,x,G,ea);c=e+c|0;f=$+d|0;f=c>>>0<e>>>0?f+1|0:f;fa=o>>31;d=se(g,P,o,fa);c=d+c|0;e=$+f|0;e=c>>>0<d>>>0?e+1|0:e;f=se(J,A,h,S);c=f+c|0;d=$+e|0;d=c>>>0<f>>>0?d+1|0:d;ga=p>>31;e=se(s,W,p,ga);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;e=se(M,B,k,_);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;f=c;c=L(l,19);Q=c;X=c>>31;ha=C>>31;e=se(c,X,C,ha);c=f+e|0;f=$+d|0;f=c>>>0<e>>>0?f+1|0:f;d=se(N,D,q,T);c=d+c|0;e=$+f|0;e=c>>>0<d>>>0?e+1|0:e;ia=r>>31;f=se(m,i,r,ia);c=f+c|0;d=$+e|0;d=c>>>0<f>>>0?d+1|0:d;e=se(n,O,H,y);c=e+c|0;d=$+d|0;K=c;c=c>>>0<e>>>0?d+1|0:d;d=se(v,E,na,Z);f=$;l=se(w,x,I,z);e=l+d|0;d=$+f|0;d=e>>>0<l>>>0?d+1|0:d;l=se(J,A,g,P);e=l+e|0;f=$+d|0;f=e>>>0<l>>>0?f+1|0:f;l=se(h,S,oa,aa);d=l+e|0;e=$+f|0;e=d>>>0<l>>>0?e+1|0:e;l=se(M,B,s,W);f=l+d|0;d=$+e|0;d=f>>>0<l>>>0?d+1|0:d;t=f;e=L(k,19);ta=e;ja=e>>31;f=se(e,ja,qa,ca);e=t+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=se(N,D,Q,X);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;k=se(q,T,sa,da);e=k+e|0;f=$+d|0;f=e>>>0<k>>>0?f+1|0:f;k=se(m,i,H,y);d=k+e|0;e=$+f|0;e=d>>>0<k>>>0?e+1|0:e;k=se(n,O,ka,Y);f=k+d|0;d=$+e|0;d=f>>>0<k>>>0?d+1|0:d;k=f;Ba=d;e=f+33554432|0;d=e>>>0<33554432?d+1|0:d;l=e;Ca=d;f=K;K=(d&67108863)<<6|e>>>26;f=f+K|0;d=(d>>26)+c|0;d=f>>>0<K>>>0?d+1|0:d;K=f;c=K+16777216|0;f=c>>>0<16777216?d+1|0:d;Da=c;e=f>>25;f=(f&33554431)<<7|c>>>25;c=f+U|0;d=b+e|0;d=c>>>0<f>>>0?d+1|0:d;b=c+33554432|0;d=b>>>0<33554432?d+1|0:d;R=b;b=d;d=R&-67108864;F[a+24>>2]=c-d;c=se(v,E,oa,aa);d=$;e=se(w,x,J,A);c=e+c|0;f=$+d|0;f=c>>>0<e>>>0?f+1|0:f;e=se(M,B,g,P);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;f=c;c=L(h,19);h=c;U=c>>31;e=se(c,U,qa,ca);c=f+e|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;e=c;c=L(s,19);za=c;ua=c>>31;f=se(N,D,c,ua);c=e+f|0;e=$+d|0;e=c>>>0<f>>>0?e+1|0:e;f=se(sa,da,ta,ja);c=f+c|0;d=$+e|0;d=c>>>0<f>>>0?d+1|0:d;e=se(H,y,Q,X);c=e+c|0;f=$+d|0;f=c>>>0<e>>>0?f+1|0:f;e=se(q,T,ka,Y);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;e=se(m,i,I,z);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;f=se(n,O,na,Z);c=f+c|0;e=$+d|0;t=c;c=c>>>0<f>>>0?e+1|0:e;d=se(M,B,v,E);f=$;s=se(w,x,p,ga);e=s+d|0;d=$+f|0;d=e>>>0<s>>>0?d+1|0:d;f=e;e=L(g,19);s=e;j=e>>31;g=se(e,j,C,ha);e=f+g|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;g=se(N,D,h,U);e=g+e|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=se(za,ua,r,ia);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;g=se(H,y,ta,ja);f=g+e|0;e=$+d|0;e=f>>>0<g>>>0?e+1|0:e;g=se(Q,X,G,ea);f=g+f|0;d=$+e|0;d=f>>>0<g>>>0?d+1|0:d;g=se(I,z,q,T);e=g+f|0;f=$+d|0;f=e>>>0<g>>>0?f+1|0:f;g=se(m,i,o,fa);e=g+e|0;d=$+f|0;d=e>>>0<g>>>0?d+1|0:d;f=se(n,O,J,A);e=f+e|0;d=$+d|0;Aa=e;g=e>>>0<f>>>0?d+1|0:d;d=L(v,19);d=se(d,d>>31,qa,ca);e=$;f=se(w,x,M,B);d=f+d|0;e=$+e|0;e=d>>>0<f>>>0?e+1|0:e;V=se(N,D,s,j);f=V+d|0;d=$+e|0;h=se(h,U,sa,da);e=h+f|0;f=$+(f>>>0<V>>>0?d+1|0:d)|0;f=e>>>0<h>>>0?f+1|0:f;h=se(H,y,za,ua);e=h+e|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;f=se(ka,Y,ta,ja);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;h=se(I,z,Q,X);f=h+e|0;e=$+d|0;e=f>>>0<h>>>0?e+1|0:e;h=se(q,T,na,Z);f=h+f|0;d=$+e|0;d=f>>>0<h>>>0?d+1|0:d;h=se(m,i,J,A);e=h+f|0;f=$+d|0;f=e>>>0<h>>>0?f+1|0:f;h=se(n,O,oa,aa);e=h+e|0;d=$+f|0;d=e>>>0<h>>>0?d+1|0:d;h=e;V=d;e=e+33554432|0;d=e>>>0<33554432?d+1|0:d;U=e;s=d;f=d>>26;j=(d&67108863)<<6|e>>>26;d=j+Aa|0;e=f+g|0;g=d;d=d>>>0<j>>>0?e+1|0:e;e=g+16777216|0;d=e>>>0<16777216?d+1|0:d;Aa=e;f=t;t=(d&33554431)<<7|e>>>25;e=f+t|0;d=(d>>25)+c|0;d=e>>>0<t>>>0?d+1|0:d;c=e+33554432|0;d=c>>>0<33554432?d+1|0:d;t=c;c=d;d=t&-67108864;F[a+8>>2]=e-d;d=se(H,y,v,E);f=$;j=se(w,x,r,ia);e=j+d|0;d=$+f|0;d=e>>>0<j>>>0?d+1|0:d;f=se(la,P,G,ea);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=se(I,z,ma,S);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;j=se(va,W,o,fa);e=j+e|0;f=$+d|0;f=e>>>0<j>>>0?f+1|0:f;j=se(J,A,wa,_);d=j+e|0;e=$+f|0;e=d>>>0<j>>>0?e+1|0:e;j=se(p,ga,xa,pa);f=j+d|0;d=$+e|0;d=f>>>0<j>>>0?d+1|0:d;e=f;j=ba>>31;f=se(M,B,ba,j);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=se(m,i,C,ha);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;u=se(n,O,N,D);e=u+e|0;f=$+d|0;f=e>>>0<u>>>0?f+1|0:f;d=b>>26;R=(b&67108863)<<6|R>>>26;b=R+e|0;e=d+f|0;e=b>>>0<R>>>0?e+1|0:e;f=b;d=e;b=f+16777216|0;d=b>>>0<16777216?d+1|0:d;R=b;b=d;d=R&-33554432;F[a+28>>2]=f-d;d=se(J,A,v,E);e=$;u=se(w,x,o,fa);d=u+d|0;f=$+e|0;f=d>>>0<u>>>0?f+1|0:f;u=se(la,P,p,ga);d=u+d|0;e=$+f|0;e=d>>>0<u>>>0?e+1|0:e;u=se(M,B,ma,S);f=u+d|0;d=$+e|0;d=f>>>0<u>>>0?d+1|0:d;e=f;f=se(za,ua,C,ha);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=se(N,D,ta,ja);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;Q=se(Q,X,r,ia);e=Q+e|0;f=$+d|0;q=se(H,y,q,T);d=q+e|0;e=$+(e>>>0<Q>>>0?f+1|0:f)|0;m=se(m,i,G,ea);f=m+d|0;d=$+(d>>>0<q>>>0?e+1|0:e)|0;d=f>>>0<m>>>0?d+1|0:d;e=f;f=se(n,O,I,z);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;m=e;e=c>>26;f=(c&67108863)<<6|t>>>26;c=m+f|0;d=d+e|0;d=c>>>0<f>>>0?d+1|0:d;e=c;c=e+16777216|0;f=c>>>0<16777216?d+1|0:d;m=c;c=f;d=m&-33554432;F[a+12>>2]=e-d;d=se(v,E,sa,da);f=$;i=se(w,x,N,D);e=i+d|0;d=$+f|0;d=e>>>0<i>>>0?d+1|0:d;f=se(H,y,la,P);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;i=se(ma,S,ka,Y);e=i+e|0;f=$+d|0;f=e>>>0<i>>>0?f+1|0:f;i=se(I,z,va,W);d=i+e|0;e=$+f|0;e=d>>>0<i>>>0?e+1|0:e;i=se(na,Z,wa,_);f=i+d|0;d=$+e|0;d=f>>>0<i>>>0?d+1|0:d;e=f;f=se(J,A,xa,pa);e=e+f|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;f=se(ba,j,oa,aa);e=f+e|0;d=$+d|0;d=e>>>0<f>>>0?d+1|0:d;i=ra>>31;q=se(M,B,ra,i);e=q+e|0;f=$+d|0;n=se(n,O,qa,ca);d=n+e|0;e=$+(e>>>0<q>>>0?f+1|0:f)|0;e=d>>>0<n>>>0?e+1|0:e;t=d;d=b>>25;f=(b&33554431)<<7|R>>>25;b=t+f|0;d=d+e|0;d=b>>>0<f>>>0?d+1|0:d;e=b;b=e+33554432|0;d=b>>>0<33554432?d+1|0:d;n=b;b=d;d=n&-67108864;F[a+32>>2]=e-d;d=l&-67108864;e=k-d|0;d=Ba-((d>>>0>k>>>0)+Ca|0)|0;f=e;e=c>>25;k=(c&33554431)<<7|m>>>25;c=f+k|0;d=d+e|0;d=c>>>0<k>>>0?d+1|0:d;e=c+33554432|0;d=e>>>0<33554432?d+1|0:d;d=(K-(Da&-33554432)|0)+((d&67108863)<<6|e>>>26)|0;F[a+20>>2]=d;d=e&-67108864;F[a+16>>2]=c-d;c=se(N,D,v,E);d=$;e=se(w,x,C,ha);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;f=se(la,P,r,ia);c=f+c|0;e=$+d|0;e=c>>>0<f>>>0?e+1|0:e;d=se(H,y,ma,S);c=d+c|0;f=$+e|0;f=c>>>0<d>>>0?f+1|0:f;e=se(va,W,G,ea);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;e=se(I,z,wa,_);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;e=se(o,fa,xa,pa);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;f=se(J,A,ba,j);c=f+c|0;e=$+d|0;e=c>>>0<f>>>0?e+1|0:e;d=se(ra,i,p,ga);c=d+c|0;f=$+e|0;f=c>>>0<d>>>0?f+1|0:f;e=se(M,B,ya,ya>>31);c=e+c|0;d=$+f|0;d=c>>>0<e>>>0?d+1|0:d;e=b>>26;f=c;c=(b&67108863)<<6|n>>>26;b=f+c|0;d=d+e|0;d=b>>>0<c>>>0?d+1|0:d;c=b+16777216|0;d=c>>>0<16777216?d+1|0:d;e=c&-33554432;F[a+36>>2]=b-e;f=g-(Aa&-33554432)|0;b=U&-67108864;e=h-b|0;G=V-((b>>>0>h>>>0)+s|0)|0;b=d;d=d>>25;c=se((b&33554431)<<7|c>>>25,d,19,0);b=c+e|0;e=$+G|0;e=b>>>0<c>>>0?e+1|0:e;d=e;c=b+33554432|0;d=c>>>0<33554432?d+1|0:d;e=c;c=((d&67108863)<<6|e>>>26)+f|0;F[a+4>>2]=c;c=a;a=e&-67108864;F[c>>2]=b-a}function Sa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,aa=0,ba=0,ca=0,da=0,ea=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0;u=_-48|0;_=u;fa(a,b);fa(a+80|0,b+40|0);o=F[b+92>>2];c=o<<1;B=c;C=c>>31;l=F[b+84>>2];c=l<<1;D=c;w=c>>31;c=se(B,C,c,w);g=$;d=c;h=F[b+88>>2];c=h;i=c>>31;ba=c;e=se(c,i,c,i);d=d+e|0;c=$+g|0;c=d>>>0<e>>>0?c+1|0:c;e=d;P=F[b+96>>2];d=P;G=d;J=d>>31;m=F[b+80>>2];d=m<<1;E=d;x=d>>31;g=se(G,J,d,x);d=e+g|0;c=$+c|0;c=d>>>0<g>>>0?c+1|0:c;f=d;g=F[b+108>>2];d=L(g,38);X=d;T=d>>31;H=g;ca=g>>31;e=se(d,T,g,ca);d=f+e|0;c=$+c|0;c=d>>>0<e>>>0?c+1|0:c;e=d;r=F[b+112>>2];d=L(r,19);K=d;M=d>>31;k=F[b+104>>2];d=k<<1;t=se(K,M,d,d>>31);e=e+t|0;d=$+c|0;d=e>>>0<t>>>0?d+1|0:d;f=e;t=F[b+116>>2];c=L(t,38);y=c;z=c>>31;e=F[b+100>>2];c=e<<1;U=c;Q=c>>31;q=se(y,z,c,Q);c=f+q|0;d=$+d|0;d=c>>>0<q>>>0?d+1|0:d;q=c;c=d<<1|c>>>31;q=q<<1;R=c;d=q+33554432|0;c=d>>>0<33554432?c+1|0:c;I=d;N=c;d=c>>26;c=(c&67108863)<<6|I>>>26;v=d;d=se(D,w,G,J);j=$;f=c;c=h<<1;V=c;S=c>>31;h=o;da=h>>31;o=se(c,S,h,da);d=o+d|0;c=$+j|0;c=d>>>0<o>>>0?c+1|0:c;o=e;Y=e>>31;n=se(e,Y,E,x);j=n+d|0;d=$+c|0;d=j>>>0<n>>>0?d+1|0:d;p=j;c=g<<1;ha=c;ea=c>>31;j=se(K,M,c,ea);g=p+j|0;c=$+d|0;c=g>>>0<j>>>0?c+1|0:c;d=g;O=k>>31;g=se(y,z,k,O);d=d+g|0;c=$+c|0;c=d>>>0<g>>>0?c+1|0:c;g=d;d=c<<1|d>>>31;g=g<<1;c=f+g|0;d=d+v|0;v=c;c=c>>>0<g>>>0?d+1|0:d;d=v+16777216|0;c=d>>>0<16777216?c+1|0:c;ka=d;g=d;d=c>>25;c=(c&33554431)<<7|g>>>25;g=d;d=se(B,C,h,da);j=$;f=c;n=se(G,J,V,S);d=n+d|0;c=$+j|0;c=d>>>0<n>>>0?c+1|0:c;j=se(D,w,U,Q);d=j+d|0;c=$+c|0;c=d>>>0<j>>>0?c+1|0:c;n=se(E,x,k,O);j=n+d|0;d=$+c|0;d=j>>>0<n>>>0?d+1|0:d;Z=r>>31;n=se(K,M,r,Z);j=n+j|0;c=$+d|0;c=j>>>0<n>>>0?c+1|0:c;n=se(y,z,ha,ea);j=n+j|0;d=$+c|0;d=j>>>0<n>>>0?d+1|0:d;c=j;n=c<<1;j=f+n|0;c=(d<<1|c>>>31)+g|0;c=j>>>0<n>>>0?c+1|0:c;d=j;g=d+33554432|0;c=g>>>0<33554432?c+1|0:c;aa=g;g=c;c=aa&-67108864;F[a+144>>2]=d-c;c=L(e,38);c=se(c,c>>31,e,Y);d=$;f=c;c=m>>31;e=se(m,c,m,c);c=f+e|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;e=c;c=L(k,19);p=c;A=c>>31;c=G<<1;ia=c;ga=c>>31;m=se(p,A,c,ga);e=e+m|0;c=$+d|0;c=e>>>0<m>>>0?c+1|0:c;d=e;e=se(B,C,X,T);d=d+e|0;c=$+c|0;c=d>>>0<e>>>0?c+1|0:c;m=se(K,M,V,S);e=m+d|0;d=$+c|0;d=e>>>0<m>>>0?d+1|0:d;m=se(D,w,y,z);e=m+e|0;c=$+d|0;c=e>>>0<m>>>0?c+1|0:c;d=e;m=d<<1;c=c<<1|d>>>31;P=c;d=c;c=m+33554432|0;d=c>>>0<33554432?d+1|0:d;j=c;n=d;c=d>>26;d=(d&67108863)<<6|j>>>26;e=c;c=se(p,A,U,Q);s=$;W=d;f=l;ja=f>>31;l=se(E,x,f,ja);d=l+c|0;c=$+s|0;c=d>>>0<l>>>0?c+1|0:c;s=se(G,J,X,T);l=s+d|0;d=$+c|0;d=l>>>0<s>>>0?d+1|0:d;s=se(K,M,B,C);l=s+l|0;c=$+d|0;c=l>>>0<s>>>0?c+1|0:c;s=se(y,z,ba,i);l=s+l|0;d=$+c|0;d=l>>>0<s>>>0?d+1|0:d;c=l;s=c<<1;l=W+s|0;c=(d<<1|c>>>31)+e|0;c=l>>>0<s>>>0?c+1|0:c;d=l+16777216|0;c=d>>>0<16777216?c+1|0:c;s=d;e=d;d=c>>25;c=(c&33554431)<<7|e>>>25;e=d;d=se(E,x,ba,i);la=$;W=c;f=se(D,w,f,ja);d=f+d|0;c=$+la|0;c=d>>>0<f>>>0?c+1|0:c;p=se(p,A,k,O);f=p+d|0;d=$+c|0;d=f>>>0<p>>>0?d+1|0:d;p=se(U,Q,X,T);f=p+f|0;c=$+d|0;c=f>>>0<p>>>0?c+1|0:c;d=f;f=se(K,M,ia,ga);d=d+f|0;c=$+c|0;c=d>>>0<f>>>0?c+1|0:c;p=se(y,z,B,C);f=p+d|0;d=$+c|0;d=f>>>0<p>>>0?d+1|0:d;c=d<<1|f>>>31;f=f<<1;d=W+f|0;c=c+e|0;c=d>>>0<f>>>0?c+1|0:c;e=d;f=d;d=c;c=e+33554432|0;d=c>>>0<33554432?d+1|0:d;p=c;e=d;c=c&-67108864;F[a+128>>2]=f-c;c=se(V,S,o,Y);d=$;f=se(G,J,B,C);c=f+c|0;d=$+d|0;d=c>>>0<f>>>0?d+1|0:d;A=se(D,w,k,O);f=A+c|0;c=$+d|0;c=f>>>0<A>>>0?c+1|0:c;A=se(E,x,H,ca);f=A+f|0;d=$+c|0;d=f>>>0<A>>>0?d+1|0:d;A=se(y,z,r,Z);f=A+f|0;c=$+d|0;d=f;c=(d>>>0<A>>>0?c+1|0:c)<<1|d>>>31;W=d<<1;d=g>>26;f=(g&67108863)<<6|aa>>>26;g=W+f|0;c=c+d|0;c=g>>>0<f>>>0?c+1|0:c;f=g;d=c;c=g+16777216|0;d=c>>>0<16777216?d+1|0:d;aa=c;g=d;c=c&-33554432;F[a+148>>2]=f-c;c=se(E,x,h,da);h=$;i=se(D,w,ba,i);d=i+c|0;c=$+h|0;c=d>>>0<i>>>0?c+1|0:c;i=se(k,O,X,T);d=i+d|0;c=$+c|0;c=d>>>0<i>>>0?c+1|0:c;h=se(K,M,U,Q);i=h+d|0;d=$+c|0;d=h>>>0>i>>>0?d+1|0:d;c=i;i=se(y,z,G,J);c=c+i|0;d=$+d|0;d=c>>>0<i>>>0?d+1|0:d;i=c;c=d<<1|c>>>31;d=e>>26;f=i<<1;i=(e&67108863)<<6|p>>>26;e=f+i|0;c=c+d|0;c=e>>>0<i>>>0?c+1|0:c;d=e;e=d+16777216|0;c=e>>>0<16777216?c+1|0:c;i=e;e=c;c=i&-33554432;F[a+132>>2]=d-c;c=se(k,O,V,S);h=$;f=se(G,J,G,J);d=f+c|0;c=$+h|0;c=d>>>0<f>>>0?c+1|0:c;h=se(B,C,U,Q);d=h+d|0;c=$+c|0;c=d>>>0<h>>>0?c+1|0:c;h=se(D,w,ha,ea);d=h+d|0;c=$+c|0;c=d>>>0<h>>>0?c+1|0:c;f=se(E,x,r,Z);h=f+d|0;d=$+c|0;d=f>>>0>h>>>0?d+1|0:d;c=h;f=t>>31;h=se(y,z,t,f);c=c+h|0;d=$+d|0;d=c>>>0<h>>>0?d+1|0:d;h=c;c=d<<1|c>>>31;d=g>>25;p=h<<1;h=(g&33554431)<<7|aa>>>25;g=p+h|0;c=c+d|0;c=g>>>0<h>>>0?c+1|0:c;d=g;g=d+33554432|0;c=g>>>0<33554432?c+1|0:c;h=g;g=c;c=h&-67108864;F[a+152>>2]=d-c;v=v-(ka&-33554432)|0;c=I&-67108864;d=q-c|0;q=R-((c>>>0>q>>>0)+N|0)|0;c=e>>25;i=(e&33554431)<<7|i>>>25;e=i+d|0;d=c+q|0;d=e>>>0<i>>>0?d+1|0:d;c=d;d=e+33554432|0;c=d>>>0<33554432?c+1|0:c;c=((c&67108863)<<6|d>>>26)+v|0;F[a+140>>2]=c;c=d&-67108864;F[a+136>>2]=e-c;c=se(B,C,k,O);d=$;e=se(o,Y,ia,ga);c=e+c|0;d=$+d|0;d=c>>>0<e>>>0?d+1|0:d;k=se(V,S,H,ca);e=k+c|0;c=$+d|0;c=e>>>0<k>>>0?c+1|0:c;k=se(D,w,r,Z);e=k+e|0;d=$+c|0;d=e>>>0<k>>>0?d+1|0:d;k=se(E,x,t,f);e=k+e|0;c=$+d|0;d=e;c=(d>>>0<k>>>0?c+1|0:c)<<1|d>>>31;f=d<<1;d=g>>26;e=(g&67108863)<<6|h>>>26;g=f+e|0;c=c+d|0;c=e>>>0>g>>>0?c+1|0:c;d=c;c=g+16777216|0;d=c>>>0<16777216?d+1|0:d;e=c&-33554432;F[a+156>>2]=g-e;k=se((d&33554431)<<7|c>>>25,d>>25,19,0);e=j&-67108864;c=k+(m-e|0)|0;d=$+(P-((e>>>0>m>>>0)+n|0)|0)|0;d=c>>>0<k>>>0?d+1|0:d;g=c+33554432|0;d=g>>>0<33554432?d+1|0:d;d=(l-(s&-33554432)|0)+((d&67108863)<<6|g>>>26)|0;F[a+124>>2]=d;d=g&-67108864;F[a+120>>2]=c-d;c=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];e=F[b+56>>2];k=F[b+60>>2];i=F[b- -64>>2];o=F[b+68>>2];r=F[b+72>>2];l=F[b+40>>2];m=F[b>>2];H=F[b+4>>2];t=F[b+8>>2];q=F[b+12>>2];I=F[b+16>>2];h=F[b+20>>2];v=F[b+24>>2];j=F[b+28>>2];R=F[b+32>>2];F[a+76>>2]=F[b+76>>2]+F[b+36>>2];F[a+72>>2]=r+R;F[a+68>>2]=j+o;R=a- -64|0;F[R>>2]=i+v;F[a+60>>2]=h+k;F[a+56>>2]=e+I;F[a+52>>2]=g+q;F[a+48>>2]=d+t;F[a+44>>2]=c+H;F[a+40>>2]=l+m;fa(u,a+40|0);b=F[a+84>>2];c=F[a+88>>2];d=F[a+92>>2];g=F[a+96>>2];e=F[a+100>>2];k=F[a+104>>2];i=F[a+108>>2];o=F[a+112>>2];r=F[a>>2];l=F[a+80>>2];m=F[a+4>>2];H=F[a+8>>2];t=F[a+12>>2];q=F[a+16>>2];I=F[a+20>>2];h=F[a+24>>2];v=F[a+28>>2];j=F[a+32>>2];N=F[a+116>>2];P=F[a+36>>2];n=N-P|0;F[a+116>>2]=n;f=o-j|0;F[a+112>>2]=f;D=i-v|0;F[a+108>>2]=D;w=k-h|0;F[a+104>>2]=w;E=e-I|0;F[a+100>>2]=E;x=g-q|0;F[a+96>>2]=x;y=d-t|0;F[a+92>>2]=y;z=c-H|0;F[a+88>>2]=z;B=b-m|0;F[a+84>>2]=B;C=l-r|0;F[a+80>>2]=C;N=P+N|0;F[a+76>>2]=N;o=j+o|0;F[a+72>>2]=o;i=i+v|0;F[a+68>>2]=i;k=h+k|0;F[R>>2]=k;e=e+I|0;F[a+60>>2]=e;g=g+q|0;F[a+56>>2]=g;d=d+t|0;F[a+52>>2]=d;c=c+H|0;F[a+48>>2]=c;b=b+m|0;F[a+44>>2]=b;r=l+r|0;F[a+40>>2]=r;l=F[u>>2];m=F[u+4>>2];H=F[u+8>>2];t=F[u+12>>2];q=F[u+16>>2];I=F[u+20>>2];h=F[u+24>>2];v=F[u+28>>2];j=F[u+32>>2];F[a+36>>2]=F[u+36>>2]-N;F[a+32>>2]=j-o;F[a+28>>2]=v-i;F[a+24>>2]=h-k;F[a+20>>2]=I-e;F[a+16>>2]=q-g;F[a+12>>2]=t-d;F[a+8>>2]=H-c;F[a+4>>2]=m-b;F[a>>2]=l-r;b=F[a+124>>2];c=F[a+128>>2];d=F[a+132>>2];g=F[a+136>>2];e=F[a+140>>2];k=F[a+144>>2];i=F[a+148>>2];o=F[a+152>>2];r=F[a+120>>2];F[a+156>>2]=F[a+156>>2]-n;F[a+152>>2]=o-f;F[a+148>>2]=i-D;F[a+144>>2]=k-w;F[a+140>>2]=e-E;F[a+136>>2]=g-x;F[a+132>>2]=d-y;F[a+128>>2]=c-z;F[a+124>>2]=b-B;F[a+120>>2]=r-C;_=u+48|0}function Aa(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0;i=_-432|0;_=i;j=i- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[i+72>>2]=0;F[i+76>>2]=0;F[i+80>>2]=0;F[i+84>>2]=0;F[i+88>>2]=0;F[i+92>>2]=0;F[i+96>>2]=0;F[i+100>>2]=0;F[i+104>>2]=0;F[i+108>>2]=0;F[i+48>>2]=0;F[i+52>>2]=0;F[i+56>>2]=0;F[i+60>>2]=0;D[i+15|0]=1;j=c?c:1792;d=c?d:32;a:{if(d>>>0>=65){c=i+224|0;F[c+80>>2]=1779033703;F[c+84>>2]=-1150833019;F[c+72>>2]=0;F[c+76>>2]=0;F[c+64>>2]=0;F[c+104>>2]=528734635;F[c+108>>2]=1541459225;F[c+96>>2]=1359893119;F[c+100>>2]=-1694144372;F[c+88>>2]=1013904242;F[c+92>>2]=-1521486534;ra(c,j,d);Ba(c,i+48|0);break a}ja(i+48|0,j,d)}c=F[i+108>>2];F[i+280>>2]=F[i+104>>2];F[i+284>>2]=c;c=F[i+100>>2];F[i+272>>2]=F[i+96>>2];F[i+276>>2]=c;c=F[i+92>>2];F[i+264>>2]=F[i+88>>2];F[i+268>>2]=c;c=F[i+84>>2];F[i+256>>2]=F[i+80>>2];F[i+260>>2]=c;c=F[i+76>>2];F[i+248>>2]=F[i+72>>2];F[i+252>>2]=c;c=i- -64|0;d=F[c+4>>2];F[i+240>>2]=F[c>>2];F[i+244>>2]=d;c=F[i+60>>2];F[i+232>>2]=F[i+56>>2];F[i+236>>2]=c;c=F[i+52>>2];F[i+224>>2]=F[i+48>>2];F[i+228>>2]=c;c=0;while(1){d=i+224|0;j=d+c|0;D[j|0]=G[j|0]^54;j=d+(c|1)|0;D[j|0]=G[j|0]^54;j=d+(c|2)|0;D[j|0]=G[j|0]^54;d=d+(c|3)|0;D[d|0]=G[d|0]^54;c=c+4|0;if((c|0)!=64){continue}break}c=i+112|0;F[c+80>>2]=1779033703;F[c+84>>2]=-1150833019;F[c+72>>2]=0;F[c+76>>2]=0;F[c+64>>2]=0;F[c+104>>2]=528734635;F[c+108>>2]=1541459225;F[c+96>>2]=1359893119;F[c+100>>2]=-1694144372;F[c+88>>2]=1013904242;F[c+92>>2]=-1521486534;d=i+224|0;ra(c,d,64);ia(d,64);ra(c,a,b);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=i- -64|0;b=F[a+4>>2];F[i+352>>2]=F[a>>2];F[i+356>>2]=b;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}Ba(i+112|0,i+400|0);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;ra(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);F[i+80>>2]=0;F[i+84>>2]=0;F[i+88>>2]=0;F[i+92>>2]=0;F[i+96>>2]=0;F[i+100>>2]=0;F[i+104>>2]=0;F[i+108>>2]=0;a=F[i+44>>2];j=F[i+40>>2];F[i+72>>2]=j;F[i+76>>2]=a;b=F[i+36>>2];c=i- -64|0;k=F[i+32>>2];F[c>>2]=k;F[c+4>>2]=b;c=F[i+20>>2];l=F[i+16>>2];F[i+48>>2]=l;F[i+52>>2]=c;d=F[i+28>>2];m=F[i+24>>2];F[i+56>>2]=m;F[i+60>>2]=d;F[i+280>>2]=0;F[i+284>>2]=0;F[i+272>>2]=0;F[i+276>>2]=0;F[i+264>>2]=0;F[i+268>>2]=0;F[i+256>>2]=0;F[i+260>>2]=0;F[i+248>>2]=j;F[i+252>>2]=a;F[i+240>>2]=k;F[i+244>>2]=b;F[i+232>>2]=m;F[i+236>>2]=d;F[i+224>>2]=l;F[i+228>>2]=c;c=0;while(1){a=i+224|0;b=a+c|0;D[b|0]=G[b|0]^54;b=a+(c|1)|0;D[b|0]=G[b|0]^54;b=a+(c|2)|0;D[b|0]=G[b|0]^54;a=a+(c|3)|0;D[a|0]=G[a|0]^54;c=c+4|0;if((c|0)!=64){continue}break}a=i+112|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+224|0;ra(a,b,64);ia(b,64);ra(a,e,f);ra(a,i+15|0,1);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=i- -64|0;b=F[a+4>>2];F[i+352>>2]=F[a>>2];F[i+356>>2]=b;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}d=i+400|0;Ba(i+112|0,d);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;ra(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);if(h>>>0>=33){while(1){a=F[i+20>>2];b=F[i+16>>2];D[g|0]=b;D[g+1|0]=b>>>8;D[g+2|0]=b>>>16;D[g+3|0]=b>>>24;D[g+4|0]=a;D[g+5|0]=a>>>8;D[g+6|0]=a>>>16;D[g+7|0]=a>>>24;a=F[i+28>>2];b=F[i+24>>2];D[g+8|0]=b;D[g+9|0]=b>>>8;D[g+10|0]=b>>>16;D[g+11|0]=b>>>24;D[g+12|0]=a;D[g+13|0]=a>>>8;D[g+14|0]=a>>>16;D[g+15|0]=a>>>24;a=F[i+44>>2];b=F[i+40>>2];D[g+24|0]=b;D[g+25|0]=b>>>8;D[g+26|0]=b>>>16;D[g+27|0]=b>>>24;D[g+28|0]=a;D[g+29|0]=a>>>8;D[g+30|0]=a>>>16;D[g+31|0]=a>>>24;a=F[i+36>>2];b=F[i+32>>2];D[g+16|0]=b;D[g+17|0]=b>>>8;D[g+18|0]=b>>>16;D[g+19|0]=b>>>24;D[g+20|0]=a;D[g+21|0]=a>>>8;D[g+22|0]=a>>>16;D[g+23|0]=a>>>24;D[i+15|0]=G[i+15|0]+1;a=F[i+108>>2];F[i+280>>2]=F[i+104>>2];F[i+284>>2]=a;a=F[i+100>>2];F[i+272>>2]=F[i+96>>2];F[i+276>>2]=a;a=F[i+92>>2];F[i+264>>2]=F[i+88>>2];F[i+268>>2]=a;a=F[i+84>>2];F[i+256>>2]=F[i+80>>2];F[i+260>>2]=a;a=F[i+76>>2];F[i+248>>2]=F[i+72>>2];F[i+252>>2]=a;b=i- -64|0;a=b;c=F[a+4>>2];F[i+240>>2]=F[a>>2];F[i+244>>2]=c;a=F[i+60>>2];F[i+232>>2]=F[i+56>>2];F[i+236>>2]=a;a=F[i+52>>2];F[i+224>>2]=F[i+48>>2];F[i+228>>2]=a;g=g+32|0;c=0;while(1){a=i+224|0;j=a+c|0;D[j|0]=G[j|0]^54;j=a+(c|1)|0;D[j|0]=G[j|0]^54;j=a+(c|2)|0;D[j|0]=G[j|0]^54;a=a+(c|3)|0;D[a|0]=G[a|0]^54;c=c+4|0;if((c|0)!=64){continue}break}a=i+112|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;c=i+224|0;ra(a,c,64);ia(c,64);ra(a,i+16|0,32);ra(a,e,f);ra(a,i+15|0,1);a=F[i+108>>2];F[i+392>>2]=F[i+104>>2];F[i+396>>2]=a;a=F[i+100>>2];F[i+384>>2]=F[i+96>>2];F[i+388>>2]=a;a=F[i+92>>2];F[i+376>>2]=F[i+88>>2];F[i+380>>2]=a;a=F[i+84>>2];F[i+368>>2]=F[i+80>>2];F[i+372>>2]=a;a=F[i+76>>2];F[i+360>>2]=F[i+72>>2];F[i+364>>2]=a;a=F[b+4>>2];F[i+352>>2]=F[b>>2];F[i+356>>2]=a;a=F[i+60>>2];F[i+344>>2]=F[i+56>>2];F[i+348>>2]=a;a=F[i+52>>2];F[i+336>>2]=F[i+48>>2];F[i+340>>2]=a;c=0;while(1){a=i+336|0;b=a+c|0;D[b|0]=G[b|0]^92;b=a+(c|1)|0;D[b|0]=G[b|0]^92;b=a+(c|2)|0;D[b|0]=G[b|0]^92;a=a+(c|3)|0;D[a|0]=G[a|0]^92;c=c+4|0;if((c|0)!=64){continue}break}Ba(i+112|0,d);a=i+224|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=i+336|0;ra(a,b,96);Ba(a,i+16|0);ia(a,112);ia(b,96);h=h-32|0;if(h>>>0>32){continue}break}}a=i+16|0;ja(g,a,h);ia(i+112|0,112);ia(i+48|0,64);ia(a,32);_=i+432|0}function ua(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,H=0;A=_-640|0;_=A;c=a- -64|0;g=F[c>>2];j=F[c+4>>2];w=F[a+56>>2];e=F[a+60>>2];r=F[a+48>>2];m=F[a+52>>2];p=F[a+40>>2];f=F[a+44>>2];u=F[a+32>>2];k=F[a+36>>2];s=F[a+24>>2];i=F[a+28>>2];n=F[a+16>>2];v=F[a+20>>2];q=F[a+8>>2];o=F[a+12>>2];while(1){c=x<<3;y=c+A|0;c=b+c|0;d=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);h=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);z=h<<24|h<<8&16711680;F[y>>2]=((d&255)<<24|h>>>8)&-16777216|((d&16777215)<<8|h>>>24)&16711680|(d>>>8&65280|d>>>24);c=0;F[y+4>>2]=(d<<24|h>>>8)&65280|(d<<8|h>>>24)&255|z|(c|c);x=x+1|0;if((x|0)!=16){continue}break}b=16;h=F[A>>2];x=h;l=F[A+4>>2];d=l;while(1){z=d;y=(b<<3)+A|0;c=y-56|0;d=F[c>>2];B=F[c+4>>2];t=y-16|0;c=F[t+4>>2];t=F[t>>2];C=ve(t,c,45);E=$;D=x;H=d;x=ve(t,c,3)^C;d=c;c=c>>>6|0;x=x^((d&63)<<26|t>>>6);d=H+x|0;c=(c^($^E))+B|0;c=d>>>0<x>>>0?c+1|0:c;x=d;d=D+d|0;c=c+z|0;t=d;z=d>>>0<x>>>0?c+1|0:c;d=y-120|0;c=F[d+4>>2];x=F[d>>2];d=ve(x,c,63);B=$;D=d;d=c;C=((c&127)<<25|x>>>7)^(D^ve(x,c,56));t=C+t|0;c=($^B^c>>>7)+z|0;F[y>>2]=t;F[y+4>>2]=t>>>0<C>>>0?c+1|0:c;b=b+1|0;if((b|0)!=80){continue}break}b=0;while(1){x=b<<3;c=x+2080|0;d=F[c>>2];y=F[c+4>>2];c=ve(p,f,50);z=$;c=ve(p,f,46)^c;z=$^z;t=d;d=g+(ve(p,f,23)^c)|0;c=j+($^z)|0;c=d>>>0<g>>>0?c+1|0:c;g=d;d=t+d|0;c=c+y|0;c=d>>>0<g>>>0?c+1|0:c;d=d+h|0;c=c+l|0;c=d>>>0<h>>>0?c+1|0:c;g=w^p&(r^w);d=g+d|0;c=(e^f&(e^m))+c|0;c=d>>>0<g>>>0?c+1|0:c;g=d;d=ve(q,o,36);j=$;d=ve(q,o,30)^d;h=$^j;y=ve(q,o,25)^d;j=y+g|0;d=c;c=c+($^h)|0;c=j>>>0<y>>>0?c+1|0:c;h=s&(q|n)|q&n;j=h+j|0;c=(i&(o|v)|o&v)+c|0;z=j;c=h>>>0>j>>>0?c+1|0:c;j=ve(j,c,36);y=$;h=c;j=ve(z,c,30)^j;y=$^y;l=n&(q|z)|q&z;j=l+(ve(z,c,25)^j)|0;c=(v&(c|o)|c&o)+($^y)|0;y=j;j=j>>>0<l>>>0?c+1|0:c;l=x|8;c=l+2080|0;t=F[c>>2];B=F[c+4>>2];c=d+k|0;g=g+u|0;c=g>>>0<u>>>0?c+1|0:c;u=g;d=w+(r^g&(p^r))|0;g=c;c=e+(m^c&(f^m))|0;c=d>>>0<w>>>0?c+1|0:c;w=d;d=d+t|0;c=c+B|0;c=d>>>0<w>>>0?c+1|0:c;w=ve(u,g,50);e=$;w=ve(u,g,46)^w;e=$^e;w=ve(u,g,23)^w;d=w+d|0;c=($^e)+c|0;c=d>>>0<w>>>0?c+1|0:c;w=l+A|0;e=F[w>>2];d=e+d|0;c=F[w+4>>2]+c|0;c=d>>>0<e>>>0?c+1|0:c;e=y;y=d;w=d;d=e+d|0;e=j;j=c;c=e+c|0;c=d>>>0<w>>>0?c+1|0:c;w=ve(d,c,36);e=$;l=w;w=c;k=l^ve(d,c,30);l=$^e;e=ve(d,c,25)^k;k=q&(d|z)|d&z;e=e+k|0;c=(o&(c|h)|c&h)+($^l)|0;l=e;e=e>>>0<k>>>0?c+1|0:c;t=x|16;c=t+2080|0;k=r+F[c>>2]|0;c=m+F[c+4>>2]|0;c=k>>>0<r>>>0?c+1|0:c;r=k;m=t+A|0;k=F[m>>2];r=r+k|0;c=F[m+4>>2]+c|0;m=r;r=k>>>0>m>>>0?c+1|0:c;t=m;c=j+i|0;m=s+y|0;c=m>>>0<s>>>0?c+1|0:c;s=m;k=p^m&(p^u);m=t+k|0;j=c;c=(f^c&(f^g))+r|0;c=k>>>0>m>>>0?c+1|0:c;r=m;m=ve(s,j,50);k=$;m=ve(s,j,46)^m;k=$^k;m=ve(s,j,23)^m;r=m+r|0;c=($^k)+c|0;c=r>>>0<m>>>0?c+1|0:c;y=r;m=r;r=m+l|0;l=e;e=c;c=l+c|0;c=r>>>0<m>>>0?c+1|0:c;m=ve(r,c,36);k=$;l=m;m=c;i=l^ve(r,c,30);l=$^k;k=ve(r,c,25)^i;i=z&(d|r)|d&r;k=k+i|0;c=(h&(c|w)|c&w)+($^l)|0;l=k;k=k>>>0<i>>>0?c+1|0:c;t=x|24;c=t+2080|0;i=p+F[c>>2]|0;c=f+F[c+4>>2]|0;c=i>>>0<p>>>0?c+1|0:c;p=i;f=t+A|0;i=F[f>>2];p=p+i|0;c=F[f+4>>2]+c|0;f=p;p=i>>>0>f>>>0?c+1|0:c;t=f;c=e+v|0;f=n+y|0;c=f>>>0<n>>>0?c+1|0:c;i=u^f&(u^s);e=t+i|0;n=c;c=(g^c&(g^j))+p|0;c=e>>>0<i>>>0?c+1|0:c;p=e;e=ve(f,n,50);i=$;e=ve(f,n,46)^e;i=$^i;e=ve(f,n,23)^e;p=e+p|0;c=($^i)+c|0;c=e>>>0>p>>>0?c+1|0:c;v=p;i=p;p=i+l|0;e=c;c=c+k|0;c=i>>>0>p>>>0?c+1|0:c;k=ve(p,c,36);i=$;y=c;k=ve(p,c,30)^k;i=$^i;l=d&(p|r)|p&r;k=l+(ve(p,c,25)^k)|0;c=(w&(c|m)|c&m)+($^i)|0;c=k>>>0<l>>>0?c+1|0:c;l=k;k=c;t=x|32;c=t+2080|0;i=u+F[c>>2]|0;c=g+F[c+4>>2]|0;c=i>>>0<u>>>0?c+1|0:c;u=i;g=t+A|0;i=F[g>>2];u=u+i|0;c=F[g+4>>2]+c|0;g=u;u=i>>>0>g>>>0?c+1|0:c;i=g;c=e+o|0;g=q+v|0;c=g>>>0<q>>>0?c+1|0:c;q=g;e=s^g&(f^s);g=i+e|0;o=c;c=(j^c&(j^n))+u|0;c=e>>>0>g>>>0?c+1|0:c;u=g;g=ve(q,o,50);e=$;g=ve(q,o,46)^g;e=$^e;g=ve(q,o,23)^g;u=g+u|0;c=($^e)+c|0;c=g>>>0>u>>>0?c+1|0:c;g=u;u=g+l|0;e=c;c=c+k|0;c=g>>>0>u>>>0?c+1|0:c;k=ve(u,c,36);i=$;l=k;k=c;v=l^ve(u,c,30);l=$^i;i=ve(u,c,25)^v;v=r&(p|u)|p&u;i=i+v|0;c=(m&(c|y)|c&y)+($^l)|0;l=i;i=i>>>0<v>>>0?c+1|0:c;t=x|40;c=t+2080|0;v=s+F[c>>2]|0;c=j+F[c+4>>2]|0;c=s>>>0>v>>>0?c+1|0:c;s=v;j=t+A|0;v=F[j>>2];s=s+v|0;c=F[j+4>>2]+c|0;j=s;s=j>>>0<v>>>0?c+1|0:c;v=j;c=e+h|0;j=g+z|0;c=j>>>0<g>>>0?c+1|0:c;g=j;h=f^g&(f^q);e=v+h|0;j=c;c=(n^c&(n^o))+s|0;c=e>>>0<h>>>0?c+1|0:c;s=e;e=ve(g,j,50);h=$;e=ve(g,j,46)^e;h=$^h;e=ve(g,j,23)^e;s=e+s|0;c=($^h)+c|0;c=e>>>0>s>>>0?c+1|0:c;z=s;h=s;s=h+l|0;e=c;c=c+i|0;c=h>>>0>s>>>0?c+1|0:c;h=ve(s,c,36);v=$;i=c;h=ve(s,c,30)^h;v=$^v;l=p&(u|s)|u&s;h=l+(ve(s,c,25)^h)|0;c=(y&(c|k)|c&k)+($^v)|0;c=h>>>0<l>>>0?c+1|0:c;l=h;h=c;t=x|48;c=t+2080|0;v=f+F[c>>2]|0;c=n+F[c+4>>2]|0;c=f>>>0>v>>>0?c+1|0:c;f=v;n=t+A|0;v=F[n>>2];f=f+v|0;c=F[n+4>>2]+c|0;n=f;f=f>>>0<v>>>0?c+1|0:c;v=n;c=e+w|0;n=d+z|0;c=n>>>0<d>>>0?c+1|0:c;w=n;n=q^n&(g^q);d=v+n|0;e=c;c=(o^c&(j^o))+f|0;c=d>>>0<n>>>0?c+1|0:c;f=ve(w,e,50);n=$;f=ve(w,e,46)^f;n=$^n;f=ve(w,e,23)^f;d=f+d|0;c=($^n)+c|0;c=d>>>0<f>>>0?c+1|0:c;z=d;n=d;f=d+l|0;d=c;c=c+h|0;c=f>>>0<n>>>0?c+1|0:c;n=f;f=ve(f,c,36);h=$;v=c;f=ve(n,c,30)^f;h=$^h;l=u&(s|n)|s&n;f=l+(ve(n,c,25)^f)|0;c=(k&(c|i)|c&i)+($^h)|0;c=f>>>0<l>>>0?c+1|0:c;l=f;f=c;x=x|56;c=x+2080|0;h=q+F[c>>2]|0;c=o+F[c+4>>2]|0;c=h>>>0<q>>>0?c+1|0:c;q=h;o=x+A|0;h=F[o>>2];q=q+h|0;c=F[o+4>>2]+c|0;o=q;q=h>>>0>o>>>0?c+1|0:c;h=o;c=d+m|0;o=r+z|0;c=o>>>0<r>>>0?c+1|0:c;r=o;o=g^o&(g^w);d=h+o|0;m=c;c=(j^c&(e^j))+q|0;c=d>>>0<o>>>0?c+1|0:c;q=ve(r,m,50);o=$;q=ve(r,m,46)^q;o=$^o;q=ve(r,m,23)^q;d=q+d|0;c=($^o)+c|0;c=d>>>0<q>>>0?c+1|0:c;h=d;q=d+l|0;d=c;c=c+f|0;c=q>>>0<h>>>0?c+1|0:c;o=c;c=d+y|0;f=h+p|0;c=f>>>0<p>>>0?c+1|0:c;p=f;f=c;if(b>>>0<=71){b=b+8|0;c=(b<<3)+A|0;h=F[c>>2];l=F[c+4>>2];continue}break}c=F[a+12>>2]+o|0;d=F[a+8>>2];b=d+q|0;F[a+8>>2]=b;F[a+12>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+20>>2]+v|0;d=F[a+16>>2];b=d+n|0;F[a+16>>2]=b;F[a+20>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+28>>2]+i|0;d=F[a+24>>2];b=d+s|0;F[a+24>>2]=b;F[a+28>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+36>>2]+k|0;d=F[a+32>>2];b=d+u|0;F[a+32>>2]=b;F[a+36>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+44>>2]+f|0;d=F[a+40>>2];b=d+p|0;F[a+40>>2]=b;F[a+44>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+52>>2]+m|0;d=F[a+48>>2];b=d+r|0;F[a+48>>2]=b;F[a+52>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+60>>2]+e|0;d=F[a+56>>2];b=d+w|0;F[a+56>>2]=b;F[a+60>>2]=b>>>0<d>>>0?c+1|0:c;c=F[a+68>>2]+j|0;d=F[a+64>>2];b=d+g|0;F[a+64>>2]=b;F[a+68>>2]=b>>>0<d>>>0?c+1|0:c;_=A+640|0}function cc(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=Pb(a,c);m=q+2|0;i=(m>>>0)/3|0;if(((m-L(i,3)|0)+(i<<2)|0)-2>>>0>g>>>0){F[a+3216>>2]=2;return-1}g=q+2|0;m=(g>>>0)/3|0;n=((((g-L(m,3)|0)+(m<<2)|0)-2|0)+f|0)-q|0;p=_-16|0;_=p;g=ob(a,c);if(!G[a+3220|0]){g=yb(g)}a:{b:{if(g>>>0>q>>>0){F[a+3216>>2]=2;break b}m=ob(a,c);g=b;if(!G[a+3220|0]){D[n+1|0]=10;D[n|0]=3;b=n+2|0;D[b|0]=32;b=b+1|0;F[p+8>>2]=b;b=b+32|0;D[b|0]=18;b=b+1|0;D[b|0]=32;b=b+1|0;F[p+4>>2]=b;b=b+32|0;D[b|0]=26;b=b+1|0;D[b|0]=32;b=b+1|0;F[p>>2]=b;b=b+32|0;D[b|0]=34;n=b+1|0;b=m;if(b>>>0>=128){while(1){D[n|0]=b|128;n=n+1|0;i=b>>>0>16383;b=b>>>7|0;if(i){continue}break}}D[n|0]=b;F[p+12>>2]=n+1;i=G[a+3289|0]|G[a+3290|0]<<8|(G[a+3291|0]<<16|G[a+3292|0]<<24);h=F[p+8>>2];b=G[a+3285|0]|G[a+3286|0]<<8|(G[a+3287|0]<<16|G[a+3288|0]<<24);D[h|0]=b;D[h+1|0]=b>>>8;D[h+2|0]=b>>>16;D[h+3|0]=b>>>24;D[h+4|0]=i;D[h+5|0]=i>>>8;D[h+6|0]=i>>>16;D[h+7|0]=i>>>24;b=a+3309|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+24|0]=b;D[h+25|0]=b>>>8;D[h+26|0]=b>>>16;D[h+27|0]=b>>>24;D[h+28|0]=i;D[h+29|0]=i>>>8;D[h+30|0]=i>>>16;D[h+31|0]=i>>>24;b=a+3301|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+16|0]=b;D[h+17|0]=b>>>8;D[h+18|0]=b>>>16;D[h+19|0]=b>>>24;D[h+20|0]=i;D[h+21|0]=i>>>8;D[h+22|0]=i>>>16;D[h+23|0]=i>>>24;b=a+3293|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+8|0]=b;D[h+9|0]=b>>>8;D[h+10|0]=b>>>16;D[h+11|0]=b>>>24;D[h+12|0]=i;D[h+13|0]=i>>>8;D[h+14|0]=i>>>16;D[h+15|0]=i>>>24;i=G[a+3225|0]|G[a+3226|0]<<8|(G[a+3227|0]<<16|G[a+3228|0]<<24);h=F[p>>2];b=G[a+3221|0]|G[a+3222|0]<<8|(G[a+3223|0]<<16|G[a+3224|0]<<24);D[h|0]=b;D[h+1|0]=b>>>8;D[h+2|0]=b>>>16;D[h+3|0]=b>>>24;D[h+4|0]=i;D[h+5|0]=i>>>8;D[h+6|0]=i>>>16;D[h+7|0]=i>>>24;b=a+3229|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+8|0]=b;D[h+9|0]=b>>>8;D[h+10|0]=b>>>16;D[h+11|0]=b>>>24;D[h+12|0]=i;D[h+13|0]=i>>>8;D[h+14|0]=i>>>16;D[h+15|0]=i>>>24;b=a+3237|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+16|0]=b;D[h+17|0]=b>>>8;D[h+18|0]=b>>>16;D[h+19|0]=b>>>24;D[h+20|0]=i;D[h+21|0]=i>>>8;D[h+22|0]=i>>>16;D[h+23|0]=i>>>24;b=a+3245|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+24|0]=b;D[h+25|0]=b>>>8;D[h+26|0]=b>>>16;D[h+27|0]=b>>>24;D[h+28|0]=i;D[h+29|0]=i>>>8;D[h+30|0]=i>>>16;D[h+31|0]=i>>>24;i=G[a+3257|0]|G[a+3258|0]<<8|(G[a+3259|0]<<16|G[a+3260|0]<<24);h=F[p+4>>2];b=G[a+3253|0]|G[a+3254|0]<<8|(G[a+3255|0]<<16|G[a+3256|0]<<24);D[h|0]=b;D[h+1|0]=b>>>8;D[h+2|0]=b>>>16;D[h+3|0]=b>>>24;D[h+4|0]=i;D[h+5|0]=i>>>8;D[h+6|0]=i>>>16;D[h+7|0]=i>>>24;b=a+3261|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+8|0]=b;D[h+9|0]=b>>>8;D[h+10|0]=b>>>16;D[h+11|0]=b>>>24;D[h+12|0]=i;D[h+13|0]=i>>>8;D[h+14|0]=i>>>16;D[h+15|0]=i>>>24;b=a+3269|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+16|0]=b;D[h+17|0]=b>>>8;D[h+18|0]=b>>>16;D[h+19|0]=b>>>24;D[h+20|0]=i;D[h+21|0]=i>>>8;D[h+22|0]=i>>>16;D[h+23|0]=i>>>24;b=a+3277|0;i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[h+24|0]=b;D[h+25|0]=b>>>8;D[h+26|0]=b>>>16;D[h+27|0]=b>>>24;D[h+28|0]=i;D[h+29|0]=i>>>8;D[h+30|0]=i>>>16;D[h+31|0]=i>>>24;n=F[p+12>>2]}l=_-96|0;_=l;h=a+48|0;i=(h|0)==F[a+44>>2]?0:F[a+112>>2];b=F[a+4>>2];j=aa[F[F[b>>2]+4>>2]](b,c)|0;b=F[a+4>>2];i=zb(i,j,aa[F[F[b>>2]>>2]](b)|0);b=F[a+44>>2];c:{if(((b|0)==(h|0))<<5>>>0>e>>>0){F[a+8>>2]=1;i=-1;break c}if(i>>>0>m>>>0){F[a+8>>2]=2;i=-1;break c}if((b|0)==(h|0)){F[a+44>>2]=a+148;Fa(d,h);b=F[a>>2];m=l- -64|0;za(h,a+152|0,m);Aa(m,32,a+12|0,32,F[b+8>>2],F[b+12>>2],l,64);b=F[l+28>>2];F[a+36>>2]=F[l+24>>2];F[a+40>>2]=b;b=F[l+20>>2];F[a+28>>2]=F[l+16>>2];F[a+32>>2]=b;b=F[l+12>>2];F[a+20>>2]=F[l+8>>2];F[a+24>>2]=b;b=F[l+4>>2];F[a+12>>2]=F[l>>2];F[a+16>>2]=b;b=F[l+36>>2];F[a+116>>2]=F[l+32>>2];F[a+120>>2]=b;b=F[l+44>>2];F[a+124>>2]=F[l+40>>2];F[a+128>>2]=b;b=F[l+52>>2];F[a+132>>2]=F[l+48>>2];F[a+136>>2]=b;b=F[l+60>>2];F[a+140>>2]=F[l+56>>2];F[a+144>>2]=b;F[a+112>>2]=0;ia(l,64);ia(m,32)}b=a+116|0;s=l|4;ka(b,32,1868,1,s);F[l>>2]=F[a+112>>2];ka(b,32,1869,1,b);F[a+112>>2]=F[a+112>>2]+1;b=F[a+4>>2];m=aa[F[F[b>>2]+4>>2]](b,c)|0;o=F[l>>2];b=m;D[n+1|0]=10;D[n|0]=3;k=n+2|0;D[k|0]=32;j=l- -64|0;k=k+1|0;F[j>>2]=k;k=k+32|0;D[k|0]=16;r=k+1|0;if(o>>>0>=128){while(1){D[r|0]=o|128;r=r+1|0;k=o>>>0>16383;o=o>>>7|0;if(k){continue}break}}D[r+1|0]=34;D[r|0]=o;o=r+2|0;if(b>>>0>=128){while(1){D[o|0]=b|128;o=o+1|0;k=b>>>0>16383;b=b>>>7|0;if(k){continue}break}}D[o|0]=b;F[j+4>>2]=o+1;k=G[h+4|0]|G[h+5|0]<<8|(G[h+6|0]<<16|G[h+7|0]<<24);j=F[l+64>>2];b=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);D[j|0]=b;D[j+1|0]=b>>>8;D[j+2|0]=b>>>16;D[j+3|0]=b>>>24;D[j+4|0]=k;D[j+5|0]=k>>>8;D[j+6|0]=k>>>16;D[j+7|0]=k>>>24;k=G[h+28|0]|G[h+29|0]<<8|(G[h+30|0]<<16|G[h+31|0]<<24);b=G[h+24|0]|G[h+25|0]<<8|(G[h+26|0]<<16|G[h+27|0]<<24);D[j+24|0]=b;D[j+25|0]=b>>>8;D[j+26|0]=b>>>16;D[j+27|0]=b>>>24;D[j+28|0]=k;D[j+29|0]=k>>>8;D[j+30|0]=k>>>16;D[j+31|0]=k>>>24;k=G[h+20|0]|G[h+21|0]<<8|(G[h+22|0]<<16|G[h+23|0]<<24);b=G[h+16|0]|G[h+17|0]<<8|(G[h+18|0]<<16|G[h+19|0]<<24);D[j+16|0]=b;D[j+17|0]=b>>>8;D[j+18|0]=b>>>16;D[j+19|0]=b>>>24;D[j+20|0]=k;D[j+21|0]=k>>>8;D[j+22|0]=k>>>16;D[j+23|0]=k>>>24;k=G[h+12|0]|G[h+13|0]<<8|(G[h+14|0]<<16|G[h+15|0]<<24);b=G[h+8|0]|G[h+9|0]<<8|(G[h+10|0]<<16|G[h+11|0]<<24);D[j+8|0]=b;D[j+9|0]=b>>>8;D[j+10|0]=b>>>16;D[j+11|0]=b>>>24;D[j+12|0]=k;D[j+13|0]=k>>>8;D[j+14|0]=k>>>16;D[j+15|0]=k>>>24;b=F[a+4>>2];aa[F[F[b>>2]+8>>2]](b,s,32,g,c,F[l+68>>2],m,n,i)|0;ia(l,36)}_=l+96|0;b=i;if((b|0)!=-1){break a}F[a+3216>>2]=F[a+8>>2];F[a+8>>2]=0}b=-1}_=p+16|0;ia(d,e);a=-1;if((b|0)!=-1){a=q+2|0;b=(a>>>0)/3|0;a=((a-L(b,3)|0)+(b<<2)|0)-2|0;ma((f+a|0)-q|0,q,f)}return a|0}function Rb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;g=_-208|0;_=g;ab(g+168|0,d,e);f=F[g+172>>2];d=(f|c)!=0;a:{b:{c:{if(f){if(!d){break c}d=F[g+176>>2]==32}if(!d){break c}j=F[g+196>>2];if(!j){break c}e=F[g+180>>2];if(!e|F[g+184>>2]!=32){break c}d=F[g+188>>2];if(!d){break c}if(F[g+192>>2]==32){break b}}F[a+3216>>2]=4;a=-1;break a}d:{if(!c|!f){break d}if(!Ma(c,f)){break d}F[a+3216>>2]=6;a=-1;break a}h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);c=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[a+3221|0]=c;D[a+3222|0]=c>>>8;D[a+3223|0]=c>>>16;D[a+3224|0]=c>>>24;D[a+3225|0]=h;D[a+3226|0]=h>>>8;D[a+3227|0]=h>>>16;D[a+3228|0]=h>>>24;h=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);i=a+3245|0;c=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=h;D[i+5|0]=h>>>8;D[i+6|0]=h>>>16;D[i+7|0]=h>>>24;h=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);i=a+3237|0;c=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=h;D[i+5|0]=h>>>8;D[i+6|0]=h>>>16;D[i+7|0]=h>>>24;h=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);i=a+3229|0;c=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[i|0]=c;D[i+1|0]=c>>>8;D[i+2|0]=c>>>16;D[i+3|0]=c>>>24;D[i+4|0]=h;D[i+5|0]=h>>>8;D[i+6|0]=h>>>16;D[i+7|0]=h>>>24;f=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);h=a+3277|0;c=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[h|0]=c;D[h+1|0]=c>>>8;D[h+2|0]=c>>>16;D[h+3|0]=c>>>24;D[h+4|0]=f;D[h+5|0]=f>>>8;D[h+6|0]=f>>>16;D[h+7|0]=f>>>24;f=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);h=a+3269|0;c=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[h|0]=c;D[h+1|0]=c>>>8;D[h+2|0]=c>>>16;D[h+3|0]=c>>>24;D[h+4|0]=f;D[h+5|0]=f>>>8;D[h+6|0]=f>>>16;D[h+7|0]=f>>>24;f=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);h=a+3261|0;c=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[h|0]=c;D[h+1|0]=c>>>8;D[h+2|0]=c>>>16;D[h+3|0]=c>>>24;D[h+4|0]=f;D[h+5|0]=f>>>8;D[h+6|0]=f>>>16;D[h+7|0]=f>>>24;f=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);c=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[a+3253|0]=c;D[a+3254|0]=c>>>8;D[a+3255|0]=c>>>16;D[a+3256|0]=c>>>24;D[a+3257|0]=f;D[a+3258|0]=f>>>8;D[a+3259|0]=f>>>16;D[a+3260|0]=f>>>24;e=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);f=a+3309|0;c=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);f=a+3301|0;c=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);f=a+3293|0;c=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[f|0]=c;D[f+1|0]=c>>>8;D[f+2|0]=c>>>16;D[f+3|0]=c>>>24;D[f+4|0]=e;D[f+5|0]=e>>>8;D[f+6|0]=e>>>16;D[f+7|0]=e>>>24;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);c=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[a+3285|0]=c;D[a+3286|0]=c>>>8;D[a+3287|0]=c>>>16;D[a+3288|0]=c>>>24;D[a+3289|0]=e;D[a+3290|0]=e>>>8;D[a+3291|0]=e>>>16;D[a+3292|0]=e>>>24;c=F[a+4>>2];fb(g+136|0,j,F[g+200>>2],aa[F[F[c>>2]>>2]](c)|0);c=F[g+152>>2];if(!(F[g+156>>2]==32?c:0)){F[a+3216>>2]=4;a=-1;break a}d=G[c+28|0]|G[c+29|0]<<8|(G[c+30|0]<<16|G[c+31|0]<<24);F[g+128>>2]=G[c+24|0]|G[c+25|0]<<8|(G[c+26|0]<<16|G[c+27|0]<<24);F[g+132>>2]=d;d=G[c+20|0]|G[c+21|0]<<8|(G[c+22|0]<<16|G[c+23|0]<<24);F[g+120>>2]=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);F[g+124>>2]=d;d=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);F[g+112>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[g+116>>2]=d;d=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[g+104>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[g+108>>2]=d;e=a+3285|0;c=b+164|0;d=F[b+160>>2];e:{f:{if((c|0)!=(d|0)){while(1){if(Ka(c+5|0,e,32)){break f}c=c+72|0;if((d|0)!=(c|0)){continue}break}}c=0;if(!G[b+7364|0]){break f}d=b+7368|0;if(Ka(b+7373|0,e,32)){break e}if(G[b+7364|0]<2){break f}c=Ka(b+7445|0,e,32)?b+7440|0:0}d=c}if(!d){F[a+3216>>2]=6;a=-1;break a}c=d+5|0;za(c,a+3221|0,g);d=b+96|0;b=a+3253|0;za(d,b,g+32|0);za(c,b,g- -64|0);e=_+-64|0;_=e;b=F[a>>2];Aa(g,96,0,0,F[b>>2],F[b+4>>2],e,64);d=a+152|0;c=F[a+148>>2];g:{if((c|0)!=(a+492|0)){c=c+68|0;F[a+148>>2]=c;b=d;break g}b=(((c|0)==(d|0)?-68:0)+a|0)+152|0}c=c-68|0;if((b|0)!=(c|0)){while(1){f=c;c=c-68|0;ja(f,c,68);if((b|0)!=(c|0)){continue}break}}F[a+184>>2]=0;b=F[e+28>>2];F[a+36>>2]=F[e+24>>2];F[a+40>>2]=b;b=F[e+20>>2];F[a+28>>2]=F[e+16>>2];F[a+32>>2]=b;b=F[e+12>>2];F[a+20>>2]=F[e+8>>2];F[a+24>>2]=b;b=F[e+4>>2];F[a+12>>2]=F[e>>2];F[a+16>>2]=b;b=F[e+60>>2];F[a+212>>2]=F[e+56>>2];F[a+216>>2]=b;b=F[e+52>>2];F[a+204>>2]=F[e+48>>2];F[a+208>>2]=b;b=F[e+44>>2];F[a+196>>2]=F[e+40>>2];F[a+200>>2]=b;b=F[e+36>>2];F[a+188>>2]=F[e+32>>2];F[a+192>>2]=b;b=G[g+124|0]|G[g+125|0]<<8|(G[g+126|0]<<16|G[g+127|0]<<24);a=G[g+120|0]|G[g+121|0]<<8|(G[g+122|0]<<16|G[g+123|0]<<24);D[d+16|0]=a;D[d+17|0]=a>>>8;D[d+18|0]=a>>>16;D[d+19|0]=a>>>24;D[d+20|0]=b;D[d+21|0]=b>>>8;D[d+22|0]=b>>>16;D[d+23|0]=b>>>24;b=G[g+116|0]|G[g+117|0]<<8|(G[g+118|0]<<16|G[g+119|0]<<24);a=G[g+112|0]|G[g+113|0]<<8|(G[g+114|0]<<16|G[g+115|0]<<24);D[d+8|0]=a;D[d+9|0]=a>>>8;D[d+10|0]=a>>>16;D[d+11|0]=a>>>24;D[d+12|0]=b;D[d+13|0]=b>>>8;D[d+14|0]=b>>>16;D[d+15|0]=b>>>24;b=G[g+108|0]|G[g+109|0]<<8|(G[g+110|0]<<16|G[g+111|0]<<24);a=G[g+104|0]|G[g+105|0]<<8|(G[g+106|0]<<16|G[g+107|0]<<24);D[d|0]=a;D[d+1|0]=a>>>8;D[d+2|0]=a>>>16;D[d+3|0]=a>>>24;D[d+4|0]=b;D[d+5|0]=b>>>8;D[d+6|0]=b>>>16;D[d+7|0]=b>>>24;b=G[g+132|0]|G[g+133|0]<<8|(G[g+134|0]<<16|G[g+135|0]<<24);a=G[g+128|0]|G[g+129|0]<<8|(G[g+130|0]<<16|G[g+131|0]<<24);D[d+24|0]=a;D[d+25|0]=a>>>8;D[d+26|0]=a>>>16;D[d+27|0]=a>>>24;D[d+28|0]=b;D[d+29|0]=b>>>8;D[d+30|0]=b>>>16;D[d+31|0]=b>>>24;ia(e,64);_=e- -64|0;ia(g,96);a=0}_=g+208|0;return a}function mc(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=_+-64|0;_=j;a:{b:{if((oa(d)|0)==32){if((oa(f)|0)==32){break b}}F[a+3216>>2]=7;d=-1;break a}i=d;d=j+32|0;sa(c,i,d);sa(e,f,j);k=_-224|0;_=k;c:{if(h>>>0<=63){F[a+3216>>2]=1;d=-1;break c}l=k+160|0;Fa(g,l);c=k+96|0;Fa(g+32|0,c);D[a+3220|0]=0;f=G[b+124|0]|G[b+125|0]<<8|(G[b+126|0]<<16|G[b+127|0]<<24);i=a+3245|0;e=G[b+120|0]|G[b+121|0]<<8|(G[b+122|0]<<16|G[b+123|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[b+116|0]|G[b+117|0]<<8|(G[b+118|0]<<16|G[b+119|0]<<24);i=a+3237|0;e=G[b+112|0]|G[b+113|0]<<8|(G[b+114|0]<<16|G[b+115|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[b+108|0]|G[b+109|0]<<8|(G[b+110|0]<<16|G[b+111|0]<<24);i=a+3229|0;e=G[b+104|0]|G[b+105|0]<<8|(G[b+106|0]<<16|G[b+107|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[b+100|0]|G[b+101|0]<<8|(G[b+102|0]<<16|G[b+103|0]<<24);e=G[b+96|0]|G[b+97|0]<<8|(G[b+98|0]<<16|G[b+99|0]<<24);D[a+3221|0]=e;D[a+3222|0]=e>>>8;D[a+3223|0]=e>>>16;D[a+3224|0]=e>>>24;D[a+3225|0]=f;D[a+3226|0]=f>>>8;D[a+3227|0]=f>>>16;D[a+3228|0]=f>>>24;f=F[k+164>>2];e=F[k+160>>2];D[a+3253|0]=e;D[a+3254|0]=e>>>8;D[a+3255|0]=e>>>16;D[a+3256|0]=e>>>24;D[a+3257|0]=f;D[a+3258|0]=f>>>8;D[a+3259|0]=f>>>16;D[a+3260|0]=f>>>24;f=F[k+172>>2];i=a+3261|0;e=F[k+168>>2];D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=F[k+180>>2];i=a+3269|0;e=F[k+176>>2];D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=F[k+188>>2];i=a+3277|0;e=F[k+184>>2];D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[j+4|0]|G[j+5|0]<<8|(G[j+6|0]<<16|G[j+7|0]<<24);e=G[j|0]|G[j+1|0]<<8|(G[j+2|0]<<16|G[j+3|0]<<24);D[a+3285|0]=e;D[a+3286|0]=e>>>8;D[a+3287|0]=e>>>16;D[a+3288|0]=e>>>24;D[a+3289|0]=f;D[a+3290|0]=f>>>8;D[a+3291|0]=f>>>16;D[a+3292|0]=f>>>24;f=G[j+12|0]|G[j+13|0]<<8|(G[j+14|0]<<16|G[j+15|0]<<24);i=a+3293|0;e=G[j+8|0]|G[j+9|0]<<8|(G[j+10|0]<<16|G[j+11|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[j+20|0]|G[j+21|0]<<8|(G[j+22|0]<<16|G[j+23|0]<<24);i=a+3301|0;e=G[j+16|0]|G[j+17|0]<<8|(G[j+18|0]<<16|G[j+19|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[j+28|0]|G[j+29|0]<<8|(G[j+30|0]<<16|G[j+31|0]<<24);i=a+3309|0;e=G[j+24|0]|G[j+25|0]<<8|(G[j+26|0]<<16|G[j+27|0]<<24);D[i|0]=e;D[i+1|0]=e>>>8;D[i+2|0]=e>>>16;D[i+3|0]=e>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;za(b+96|0,j,k);za(l,d,k+32|0);za(l,j,k- -64|0);e=_+-64|0;_=e;b=F[a>>2];Aa(k,96,0,0,F[b>>2],F[b+4>>2],e,64);f=a+48|0;d=F[a+44>>2];d:{if((d|0)!=(a+148|0)){d=d+100|0;F[a+44>>2]=d;b=f;break d}b=(((d|0)==(f|0)?-100:0)+a|0)+48|0}d=d-100|0;if((b|0)!=(d|0)){while(1){i=d;d=d-100|0;ja(i,d,100);if((b|0)!=(d|0)){continue}break}}F[a+112>>2]=0;b=F[e+28>>2];F[a+36>>2]=F[e+24>>2];F[a+40>>2]=b;b=F[e+20>>2];F[a+28>>2]=F[e+16>>2];F[a+32>>2]=b;b=F[e+12>>2];F[a+20>>2]=F[e+8>>2];F[a+24>>2]=b;b=F[e+4>>2];F[a+12>>2]=F[e>>2];F[a+16>>2]=b;b=F[e+60>>2];F[a+140>>2]=F[e+56>>2];F[a+144>>2]=b;b=F[e+52>>2];F[a+132>>2]=F[e+48>>2];F[a+136>>2]=b;b=F[e+44>>2];F[a+124>>2]=F[e+40>>2];F[a+128>>2]=b;b=F[e+36>>2];F[a+116>>2]=F[e+32>>2];F[a+120>>2]=b;b=G[c+52|0]|G[c+53|0]<<8|(G[c+54|0]<<16|G[c+55|0]<<24);a=G[c+48|0]|G[c+49|0]<<8|(G[c+50|0]<<16|G[c+51|0]<<24);D[f+48|0]=a;D[f+49|0]=a>>>8;D[f+50|0]=a>>>16;D[f+51|0]=a>>>24;D[f+52|0]=b;D[f+53|0]=b>>>8;D[f+54|0]=b>>>16;D[f+55|0]=b>>>24;b=G[c+44|0]|G[c+45|0]<<8|(G[c+46|0]<<16|G[c+47|0]<<24);a=G[c+40|0]|G[c+41|0]<<8|(G[c+42|0]<<16|G[c+43|0]<<24);D[f+40|0]=a;D[f+41|0]=a>>>8;D[f+42|0]=a>>>16;D[f+43|0]=a>>>24;D[f+44|0]=b;D[f+45|0]=b>>>8;D[f+46|0]=b>>>16;D[f+47|0]=b>>>24;b=G[c+36|0]|G[c+37|0]<<8|(G[c+38|0]<<16|G[c+39|0]<<24);a=G[c+32|0]|G[c+33|0]<<8|(G[c+34|0]<<16|G[c+35|0]<<24);D[f+32|0]=a;D[f+33|0]=a>>>8;D[f+34|0]=a>>>16;D[f+35|0]=a>>>24;D[f+36|0]=b;D[f+37|0]=b>>>8;D[f+38|0]=b>>>16;D[f+39|0]=b>>>24;b=G[c+28|0]|G[c+29|0]<<8|(G[c+30|0]<<16|G[c+31|0]<<24);a=G[c+24|0]|G[c+25|0]<<8|(G[c+26|0]<<16|G[c+27|0]<<24);D[f+24|0]=a;D[f+25|0]=a>>>8;D[f+26|0]=a>>>16;D[f+27|0]=a>>>24;D[f+28|0]=b;D[f+29|0]=b>>>8;D[f+30|0]=b>>>16;D[f+31|0]=b>>>24;b=G[c+20|0]|G[c+21|0]<<8|(G[c+22|0]<<16|G[c+23|0]<<24);a=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);D[f+16|0]=a;D[f+17|0]=a>>>8;D[f+18|0]=a>>>16;D[f+19|0]=a>>>24;D[f+20|0]=b;D[f+21|0]=b>>>8;D[f+22|0]=b>>>16;D[f+23|0]=b>>>24;b=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);a=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);D[f+8|0]=a;D[f+9|0]=a>>>8;D[f+10|0]=a>>>16;D[f+11|0]=a>>>24;D[f+12|0]=b;D[f+13|0]=b>>>8;D[f+14|0]=b>>>16;D[f+15|0]=b>>>24;b=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);a=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);D[f|0]=a;D[f+1|0]=a>>>8;D[f+2|0]=a>>>16;D[f+3|0]=a>>>24;D[f+4|0]=b;D[f+5|0]=b>>>8;D[f+6|0]=b>>>16;D[f+7|0]=b>>>24;b=G[c+60|0]|G[c+61|0]<<8|(G[c+62|0]<<16|G[c+63|0]<<24);a=G[c+56|0]|G[c+57|0]<<8|(G[c+58|0]<<16|G[c+59|0]<<24);D[f+56|0]=a;D[f+57|0]=a>>>8;D[f+58|0]=a>>>16;D[f+59|0]=a>>>24;D[f+60|0]=b;D[f+61|0]=b>>>8;D[f+62|0]=b>>>16;D[f+63|0]=b>>>24;ia(e,64);_=e- -64|0;ia(l,64);ia(c,64);ia(k,96);d=0}_=k+224|0;ia(g,h)}_=j- -64|0;return d|0}function ed(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0;l=_-560|0;_=l;F[l+44>>2]=0;A(+b);g=v(1)|0;v(0)|0;a:{if((g|0)<0){s=1;w=1034;b=-b;A(+b);g=v(1)|0;v(0)|0;break a}if(e&2048){s=1;w=1037;break a}s=e&1;w=s?1040:1035;z=!s}b:{if((g&2146435072)==2146435072){d=s+3|0;pa(a,32,c,d,e&-65537);na(a,w,s);f=f&32;na(a,b!=b?f?1053:1248:f?1057:1321,3);pa(a,32,c,d,e^8192);i=(c|0)>(d|0)?c:d;break b}u=l+16|0;c:{d:{e:{b=Eb(b,l+44|0);b=b+b;if(b!=0){g=F[l+44>>2];F[l+44>>2]=g-1;r=f|32;if((r|0)!=97){break e}break c}r=f|32;if((r|0)==97){break c}k=F[l+44>>2];m=(d|0)<0?6:d;break d}k=g-29|0;F[l+44>>2]=k;b=b*268435456;m=(d|0)<0?6:d}p=(k|0)<0?l+48|0:l+336|0;h=p;while(1){if(b<4294967296&b>=0){d=~~b>>>0}else{d=0}F[h>>2]=d;h=h+4|0;b=(b-+(d>>>0))*1e9;if(b!=0){continue}break}f:{if((k|0)<=0){d=k;g=h;j=p;break f}j=p;d=k;while(1){d=d>>>0<29?d:29;g=h-4|0;g:{if(j>>>0>g>>>0){break g}i=0;while(1){o=F[g>>2];n=d&31;x=i;if((d&63)>>>0>=32){i=o<<n;o=0}else{i=(1<<n)-1&o>>>32-n;o=o<<n}n=x+o|0;i=i+y|0;i=n>>>0<o>>>0?i+1|0:i;i=te(n,i,1e9);o=se(i,$,1e9,0);F[g>>2]=n-o;g=g-4|0;if(j>>>0<=g>>>0){continue}break}if(!i){break g}j=j-4|0;F[j>>2]=i}while(1){g=h;if(j>>>0<g>>>0){h=g-4|0;if(!F[h>>2]){continue}}break}d=F[l+44>>2]-d|0;F[l+44>>2]=d;h=g;if((d|0)>0){continue}break}}if((d|0)<0){t=((m+25>>>0)/9|0)+1|0;n=(r|0)==102;while(1){d=0-d|0;i=d>>>0<9?d:9;h:{if(g>>>0<=j>>>0){h=F[j>>2];break h}o=1e9>>>i|0;y=-1<<i^-1;d=0;h=j;while(1){x=d;d=F[h>>2];F[h>>2]=x+(d>>>i|0);d=L(o,d&y);h=h+4|0;if(h>>>0<g>>>0){continue}break}h=F[j>>2];if(!d){break h}F[g>>2]=d;g=g+4|0}d=i+F[l+44>>2]|0;F[l+44>>2]=d;j=(!h<<2)+j|0;h=n?p:j;g=g-h>>2>(t|0)?h+(t<<2)|0:g;if((d|0)<0){continue}break}}d=0;i:{if(g>>>0<=j>>>0){break i}d=L(p-j>>2,9);h=10;i=F[j>>2];if(i>>>0<10){break i}while(1){d=d+1|0;h=L(h,10);if(i>>>0>=h>>>0){continue}break}}h=(m-((r|0)==102?0:d)|0)-((r|0)==103&(m|0)!=0)|0;if((h|0)<(L(g-p>>2,9)-9|0)){i=h+9216|0;n=(i|0)/9|0;k=((((k|0)<0?4:292)+l|0)+(n<<2)|0)-4048|0;h=10;i=i-L(n,9)|0;if((i|0)<=7){while(1){h=L(h,10);i=i+1|0;if((i|0)!=8){continue}break}}n=F[k>>2];t=(n>>>0)/(h>>>0)|0;i=n-L(h,t)|0;o=k+4|0;j:{if(!i&(o|0)==(g|0)){break j}k:{if(!(t&1)){b=9007199254740992;if(!(D[k-4|0]&1)|((h|0)!=1e9|j>>>0>=k>>>0)){break k}}b=9007199254740994}q=(g|0)==(o|0)?1:1.5;o=h>>>1|0;q=i>>>0<o>>>0?.5:(o|0)==(i|0)?q:1.5;if(!(G[w|0]!=45|z)){q=-q;b=-b}i=n-i|0;F[k>>2]=i;if(b+q==b){break j}d=h+i|0;F[k>>2]=d;if(d>>>0>=1e9){while(1){F[k>>2]=0;k=k-4|0;if(k>>>0<j>>>0){j=j-4|0;F[j>>2]=0}d=F[k>>2]+1|0;F[k>>2]=d;if(d>>>0>999999999){continue}break}}d=L(p-j>>2,9);h=10;i=F[j>>2];if(i>>>0<10){break j}while(1){d=d+1|0;h=L(h,10);if(i>>>0>=h>>>0){continue}break}}h=k+4|0;g=g>>>0>h>>>0?h:g}while(1){h=g;i=g>>>0<=j>>>0;if(!i){g=h-4|0;if(!F[g>>2]){continue}}break}l:{if((r|0)!=103){k=e&8;break l}g=m?m:1;k=(g|0)>(d|0)&(d|0)>-5;m=(k?d^-1:-1)+g|0;f=(k?-1:-2)+f|0;k=e&8;if(k){break l}g=-9;m:{if(i){break m}n=F[h-4>>2];if(!n){break m}i=10;g=0;if((n>>>0)%10|0){break m}while(1){k=g;g=g+1|0;i=L(i,10);if(!((n>>>0)%(i>>>0)|0)){continue}break}g=k^-1}i=L(h-p>>2,9);if((f&-33)==70){k=0;g=(g+i|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g;break l}k=0;g=((d+i|0)+g|0)-9|0;g=(g|0)>0?g:0;m=(g|0)>(m|0)?m:g}i=-1;r=k|m;if(((r?2147483645:2147483646)|0)<(m|0)){break b}n=(((r|0)!=0)+m|0)+1|0;o=f&-33;n:{if((o|0)==70){if((2147483647-n|0)<(d|0)){break b}g=(d|0)>0?d:0;break n}g=d>>31;g=Ra(g+d^g,0,u);if((u-g|0)<=1){while(1){g=g-1|0;D[g|0]=48;if((u-g|0)<2){continue}break}}t=g-2|0;D[t|0]=f;D[g-1|0]=(d|0)<0?45:43;g=u-t|0;if((g|0)>(2147483647-n|0)){break b}}d=g+n|0;if((d|0)>(s^2147483647)){break b}f=d+s|0;pa(a,32,c,f,e);na(a,w,s);pa(a,48,c,f,e^65536);o:{p:{q:{if((o|0)==70){g=l+16|0;d=g|8;k=g|9;i=j>>>0>p>>>0?p:j;j=i;while(1){g=Ra(F[j>>2],0,k);r:{if((i|0)!=(j|0)){if(l+16>>>0>=g>>>0){break r}while(1){g=g-1|0;D[g|0]=48;if(l+16>>>0<g>>>0){continue}break}break r}if((g|0)!=(k|0)){break r}D[l+24|0]=48;g=d}na(a,g,k-g|0);j=j+4|0;if(p>>>0>=j>>>0){continue}break}if(r){na(a,1526,1)}if((m|0)<=0|h>>>0<=j>>>0){break q}while(1){g=Ra(F[j>>2],0,k);if(g>>>0>l+16>>>0){while(1){g=g-1|0;D[g|0]=48;if(l+16>>>0<g>>>0){continue}break}}na(a,g,(m|0)<9?m:9);g=m-9|0;j=j+4|0;if(h>>>0<=j>>>0){break p}d=(m|0)>9;m=g;if(d){continue}break}break p}s:{if((m|0)<0){break s}i=h>>>0>j>>>0?h:j+4|0;g=l+16|0;d=g|8;p=g|9;h=j;while(1){g=Ra(F[h>>2],0,p);if((p|0)==(g|0)){D[l+24|0]=48;g=d}t:{if((h|0)!=(j|0)){if(l+16>>>0>=g>>>0){break t}while(1){g=g-1|0;D[g|0]=48;if(l+16>>>0<g>>>0){continue}break}break t}na(a,g,1);g=g+1|0;if(!(k|m)){break t}na(a,1526,1)}x=g;g=p-g|0;na(a,x,(g|0)<(m|0)?g:m);m=m-g|0;h=h+4|0;if(i>>>0<=h>>>0){break s}if((m|0)>=0){continue}break}}pa(a,48,m+18|0,18,0);na(a,t,u-t|0);break o}g=m}pa(a,48,g+9|0,9,0)}pa(a,32,c,f,e^8192);i=(c|0)>(f|0)?c:f;break b}m=(f<<26>>31&9)+w|0;u:{if(d>>>0>11){break u}g=12-d|0;q=16;while(1){q=q*16;g=g-1|0;if(g){continue}break}if(G[m|0]==45){b=-(q+(-b-q));break u}b=b+q-q}h=F[l+44>>2];g=h>>31;g=Ra(g^g+h,0,u);if((u|0)==(g|0)){D[l+15|0]=48;g=l+15|0}k=s|2;j=f&32;h=F[l+44>>2];p=g-2|0;D[p|0]=f+15;D[g-1|0]=(h|0)<0?45:43;i=e&8;h=l+16|0;while(1){f=h;if(N(b)<2147483648){g=~~b}else{g=-2147483648}D[h|0]=j|G[g+5648|0];b=(b-+(g|0))*16;h=f+1|0;if(!(!((d|0)>0|i)&b==0|(h-(l+16|0)|0)!=1)){D[f+1|0]=46;h=f+2|0}if(b!=0){continue}break}i=-1;n=u-p|0;f=n+k|0;if((2147483645-f|0)<(d|0)){break b}v:{w:{if(!d){break w}j=h-(l+16|0)|0;if((j-2|0)>=(d|0)){break w}g=d+2|0;break v}j=h-(l+16|0)|0;g=j}d=g+f|0;pa(a,32,c,d,e);na(a,m,k);pa(a,48,c,d,e^65536);na(a,l+16|0,j);pa(a,48,g-j|0,0,0);na(a,p,n);pa(a,32,c,d,e^8192);i=(c|0)>(d|0)?c:d}_=l+560|0;return i|0}function Db(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=_-80|0;_=f;F[f+76>>2]=b;v=f+55|0;r=f+56|0;b=0;a:{b:{c:{d:{e:while(1){if((2147483647-m|0)<(b|0)){break d}m=b+m|0;f:{g:{h:{l=F[f+76>>2];b=l;k=G[b|0];if(k){while(1){i:{g=k&255;j:{if(!g){k=b;break j}if((g|0)!=37){break i}k=b;while(1){if(G[b+1|0]!=37){break j}g=b+2|0;F[f+76>>2]=g;k=k+1|0;h=G[b+2|0];b=g;if((h|0)==37){continue}break}}b=k-l|0;u=2147483647-m|0;if((b|0)>(u|0)){break d}if(a){na(a,l,b)}if(b){continue e}p=-1;g=1;b=F[f+76>>2];if(!(D[b+1|0]-48>>>0>=10|G[b+2|0]!=36)){p=D[b+1|0]-48|0;t=1;g=3}b=g+b|0;F[f+76>>2]=b;n=0;i=D[b|0];h=i-32|0;k:{if(h>>>0>31){g=b;break k}g=b;j=1<<h;if(!(j&75913)){break k}while(1){g=b+1|0;F[f+76>>2]=g;n=j|n;i=D[b+1|0];h=i-32|0;if(h>>>0>=32){break k}b=g;j=1<<h;if(j&75913){continue}break}}l:{if((i|0)==42){m:{n:{if(D[g+1|0]-48>>>0>=10){break n}b=F[f+76>>2];if(G[b+2|0]!=36){break n}F[((D[b+1|0]<<2)+e|0)-192>>2]=10;o=F[((D[b+1|0]<<3)+d|0)-384>>2];t=1;b=b+3|0;break m}if(t){break h}t=0;o=0;if(a){b=F[c>>2];F[c>>2]=b+4;o=F[b>>2]}b=F[f+76>>2]+1|0}F[f+76>>2]=b;if((o|0)>=0){break l}o=0-o|0;n=n|8192;break l}o=Cb(f+76|0);if((o|0)<0){break d}b=F[f+76>>2]}g=0;j=-1;q=0;o:{if(G[b|0]!=46){break o}if(G[b+1|0]==42){p:{q:{if(D[b+2|0]-48>>>0>=10){break q}b=F[f+76>>2];if(G[b+3|0]!=36){break q}F[((D[b+2|0]<<2)+e|0)-192>>2]=10;j=F[((D[b+2|0]<<3)+d|0)-384>>2];b=b+4|0;break p}if(t){break h}if(a){b=F[c>>2];F[c>>2]=b+4;j=F[b>>2]}else{j=0}b=F[f+76>>2]+2|0}F[f+76>>2]=b;q=(j^-1)>>>31|0;break o}F[f+76>>2]=b+1;j=Cb(f+76|0);b=F[f+76>>2];q=1}while(1){s=g;k=28;if(D[b|0]-123>>>0<4294967238){break c}i=b+1|0;F[f+76>>2]=i;g=D[b|0];b=i;g=G[(g+L(s,58)|0)+5119|0];if(g-1>>>0<8){continue}break}r:{s:{if((g|0)!=27){if(!g){break c}if((p|0)>=0){F[(p<<2)+e>>2]=g;b=(p<<3)+d|0;g=F[b+4>>2];F[f+64>>2]=F[b>>2];F[f+68>>2]=g;break s}if(!a){break f}Bb(f- -64|0,g,c);i=F[f+76>>2];break r}if((p|0)>=0){break c}}b=0;if(!a){continue e}}h=n&-65537;g=n&8192?h:n;n=0;p=1024;k=r;t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{b=D[i-1|0];b=s?(b&15)==3?b&-33:b:b;switch(b-88|0){case 11:break t;case 9:case 13:case 14:case 15:break u;case 27:break z;case 12:case 17:break C;case 23:break D;case 0:case 32:break E;case 24:break F;case 22:break G;case 29:break H;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break I}}J:{switch(b-65|0){case 0:case 4:case 5:case 6:break u;case 2:break x;case 1:case 3:break g;default:break J}}if((b|0)==83){break y}break g}i=F[f+64>>2];h=F[f+68>>2];p=1024;break B}b=0;K:{switch(s&255){case 0:F[F[f+64>>2]>>2]=m;continue e;case 1:F[F[f+64>>2]>>2]=m;continue e;case 2:g=F[f+64>>2];F[g>>2]=m;F[g+4>>2]=m>>31;continue e;case 3:E[F[f+64>>2]>>1]=m;continue e;case 4:D[F[f+64>>2]]=m;continue e;case 6:F[F[f+64>>2]>>2]=m;continue e;case 7:break K;default:continue e}}g=F[f+64>>2];F[g>>2]=m;F[g+4>>2]=m>>31;continue e}j=j>>>0>8?j:8;g=g|8;b=120}l=r;w=b&32;i=F[f+64>>2];h=F[f+68>>2];if(i|h){while(1){l=l-1|0;D[l|0]=w|G[(i&15)+5648|0];x=!h&i>>>0>15|(h|0)!=0;s=h;h=h>>>4|0;i=(s&15)<<28|i>>>4;if(x){continue}break}}if(!(F[f+64>>2]|F[f+68>>2])|!(g&8)){break A}p=(b>>>4|0)+1024|0;n=2;break A}b=r;i=F[f+64>>2];h=F[f+68>>2];if(i|h){while(1){b=b-1|0;D[b|0]=i&7|48;s=!h&i>>>0>7|(h|0)!=0;l=h;h=h>>>3|0;i=(l&7)<<29|i>>>3;if(s){continue}break}}l=b;if(!(g&8)){break A}b=r-l|0;j=(b|0)<(j|0)?j:b+1|0;break A}b=F[f+68>>2];h=b;i=F[f+64>>2];if((b|0)<0){h=0-(h+((i|0)!=0)|0)|0;i=0-i|0;F[f+64>>2]=i;F[f+68>>2]=h;n=1;p=1024;break B}if(g&2048){n=1;p=1025;break B}n=g&1;p=n?1026:1024}l=Ra(i,h,r)}if((j|0)<0?q:0){break d}g=q?g&-65537:g;h=F[f+64>>2];b=F[f+68>>2];if(!(j|(h|b)!=0)){l=r;k=l;j=0;break g}b=!(b|h)+(r-l|0)|0;j=(b|0)<(j|0)?j:b;break g}q=(j|0)<0?2147483647:j;i=q;g=(i|0)!=0;b=F[f+64>>2];l=b?b:1528;k=l;b=l;L:{M:{N:{O:{if(!(b&3)|!i){break O}while(1){if(!G[b|0]){break N}i=i-1|0;g=(i|0)!=0;b=b+1|0;if(!(b&3)){break O}if(i){continue}break}}if(!g){break M}}P:{if(!G[b|0]|i>>>0<4){break P}while(1){g=F[b>>2];if((g^-1)&g-16843009&-2139062144){break P}b=b+4|0;i=i-4|0;if(i>>>0>3){continue}break}}if(!i){break M}while(1){if(!G[b|0]){break L}b=b+1|0;i=i-1|0;if(i){continue}break}}b=0}b=b?b-k|0:q;k=b+l|0;if((j|0)>=0){g=h;j=b;break g}g=h;j=b;if(G[k|0]){break d}break g}if(j){k=F[f+64>>2];break w}b=0;pa(a,32,o,0,g);break v}F[f+12>>2]=0;F[f+8>>2]=F[f+64>>2];k=f+8|0;F[f+64>>2]=k;j=-1}b=0;Q:{while(1){h=F[k>>2];if(!h){break Q}h=Ab(f+4|0,h);l=(h|0)<0;if(!(l|h>>>0>j-b>>>0)){k=k+4|0;b=b+h|0;if(j>>>0>b>>>0){continue}break Q}break}if(l){break b}}k=61;if((b|0)<0){break c}pa(a,32,o,b,g);if(!b){b=0;break v}j=0;k=F[f+64>>2];while(1){h=F[k>>2];if(!h){break v}h=Ab(f+4|0,h);j=h+j|0;if(j>>>0>b>>>0){break v}na(a,f+4|0,h);k=k+4|0;if(b>>>0>j>>>0){continue}break}}pa(a,32,o,b,g^8192);b=(b|0)<(o|0)?o:b;continue e}if((j|0)<0?q:0){break d}k=61;b=aa[6](a,K[f+64>>3],o,j,g,b)|0;if((b|0)>=0){continue e}break c}D[f+55|0]=F[f+64>>2];j=1;l=v;g=h;break g}g=b+1|0;F[f+76>>2]=g;k=G[b+1|0];b=g;continue}}if(a){break a}if(!t){break f}b=1;while(1){a=F[(b<<2)+e>>2];if(a){Bb((b<<3)+d|0,a,c);m=1;b=b+1|0;if((b|0)!=10){continue}break a}break}m=1;if(b>>>0>=10){break a}while(1){if(F[(b<<2)+e>>2]){break h}b=b+1|0;if((b|0)!=10){continue}break}break a}k=28;break c}i=k-l|0;j=(j|0)<(i|0)?i:j;if((j|0)>(2147483647-n|0)){break d}k=61;h=j+n|0;b=(h|0)>(o|0)?h:o;if((u|0)<(b|0)){break c}pa(a,32,b,h,g);na(a,p,n);pa(a,48,b,h,g^65536);pa(a,48,j,i,0);na(a,l,i);pa(a,32,b,h,g^8192);continue}break}m=0;break a}k=61}F[9343]=k}m=-1}_=f+80|0;return m}function ac(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=oa(d);if((j|0)==-1){F[a+3216>>2]=7;return-1}sa(c,d,c);d=j;l=_-48|0;_=l;a:{if((b|0)!=1){ab(l+8|0,c,d);c=F[l+36>>2];if(!c){F[a+3216>>2]=4;b=-1;break a}d=F[l+40>>2]}b=-1;h=_-240|0;_=h;g=a;a=F[a+4>>2];fb(h+8|0,c,d,aa[F[F[a>>2]>>2]](a)|0);b:{if(G[h+8|0]!=3){F[g+8>>2]=3;j=-1;break b}if(F[h+32>>2]?!G[h+9|0]|!F[h+24>>2]:1){F[g+8>>2]=4;j=-1;break b}a=F[g+4>>2];if(aa[F[F[a>>2]+12>>2]](a,F[h+36>>2])>>>0>f>>>0){F[g+8>>2]=2;j=-1;break b}if(F[h+28>>2]!=32){F[g+8>>2]=4;j=-1;break b}c:{d:{e:{f:{g:{c=g+152|0;j=F[g+148>>2];if((c|0)!=(j|0)){d=F[h+24>>2];a=c;while(1){if(!Ma(a,d)){break g}a=a+68|0;if((j|0)!=(a|0)){continue}break}}j=g+48|0;if((j|0)==F[g+44>>2]|I[h+12>>2]>=2001){break f}i=F[h+24>>2];a=G[i+12|0]|G[i+13|0]<<8|(G[i+14|0]<<16|G[i+15|0]<<24);F[h+48>>2]=G[i+8|0]|G[i+9|0]<<8|(G[i+10|0]<<16|G[i+11|0]<<24);F[h+52>>2]=a;a=G[i+20|0]|G[i+21|0]<<8|(G[i+22|0]<<16|G[i+23|0]<<24);F[h+56>>2]=G[i+16|0]|G[i+17|0]<<8|(G[i+18|0]<<16|G[i+19|0]<<24);F[h+60>>2]=a;a=G[i+28|0]|G[i+29|0]<<8|(G[i+30|0]<<16|G[i+31|0]<<24);d=h- -64|0;F[d>>2]=G[i+24|0]|G[i+25|0]<<8|(G[i+26|0]<<16|G[i+27|0]<<24);F[d+4>>2]=a;a=G[i+4|0]|G[i+5|0]<<8|(G[i+6|0]<<16|G[i+7|0]<<24);F[h+40>>2]=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);F[h+44>>2]=a;a=F[g>>2];i=h+40|0;k=h+208|0;za(j,i,k);j=h+144|0;Aa(k,32,g+12|0,32,F[a+8>>2],F[a+12>>2],j,64);d=F[h+172>>2];F[h+136>>2]=F[h+168>>2];F[h+140>>2]=d;a=F[h+164>>2];F[h+128>>2]=F[h+160>>2];F[h+132>>2]=a;a=F[h+180>>2];F[h+76>>2]=F[h+176>>2];F[h+80>>2]=a;a=F[h+188>>2];F[h+84>>2]=F[h+184>>2];F[h+88>>2]=a;a=F[h+196>>2];F[h+92>>2]=F[h+192>>2];F[h+96>>2]=a;a=F[h+204>>2];F[h+100>>2]=F[h+200>>2];F[h+104>>2]=a;F[h+72>>2]=0;a=F[h+156>>2];F[h+120>>2]=F[h+152>>2];F[h+124>>2]=a;a=F[h+148>>2];F[h+112>>2]=F[h+144>>2];F[h+116>>2]=a;ia(j,64);ia(k,32);j=Tb(g,h+72|0,h+8|0,e,f);ia(h+112|0,32);ia(i,68);if((j|0)==-1){break f}d=F[g+148>>2];if((d|0)==(g+492|0)){break e}d=d+68|0;F[g+148>>2]=d;break d}c=F[h+12>>2];if(c>>>0<I[a+32>>2]){d=g+496|0;i=F[g+492>>2];if((d|0)==(i|0)){break f}while(1){h:{if(F[d+32>>2]!=(c|0)){break h}if(Ma(d,F[h+24>>2])){break h}a=F[g+4>>2];j=aa[F[F[a>>2]+16>>2]](a,d+36|0,32,F[h+16>>2],F[h+20>>2],F[h+32>>2],F[h+36>>2],e,f)|0;if((j|0)==-1){break h}ia(d,68);a=F[g+492>>2]-68|0;F[g+492>>2]=a;if((a|0)==(d|0)){break b}while(1){a=d;d=d+68|0;ja(a,d,68);if(F[g+492>>2]!=(d|0)){continue}break}break b}d=d+68|0;if((i|0)==(d|0)){break f}c=F[h+12>>2];continue}}j=Tb(g,a+32|0,h+8|0,e,f);if((j|0)!=-1){break c}}F[g+8>>2]=5;j=-1;break b}c=(g+((c|0)==(d|0)?-68:0)|0)+152|0}d=d-68|0;if((d|0)!=(c|0)){while(1){a=d;d=d-68|0;ja(a,d,68);if((c|0)!=(d|0)){continue}break}}e=F[h+24>>2];d=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);a=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[c|0]=a;D[c+1|0]=a>>>8;D[c+2|0]=a>>>16;D[c+3|0]=a>>>24;D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);a=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[c+24|0]=a;D[c+25|0]=a>>>8;D[c+26|0]=a>>>16;D[c+27|0]=a>>>24;D[c+28|0]=d;D[c+29|0]=d>>>8;D[c+30|0]=d>>>16;D[c+31|0]=d>>>24;d=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);a=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[c+16|0]=a;D[c+17|0]=a>>>8;D[c+18|0]=a>>>16;D[c+19|0]=a>>>24;D[c+20|0]=d;D[c+21|0]=d>>>8;D[c+22|0]=d>>>16;D[c+23|0]=d>>>24;d=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);a=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[c+8|0]=a;D[c+9|0]=a>>>8;D[c+10|0]=a>>>16;D[c+11|0]=a>>>24;D[c+12|0]=d;D[c+13|0]=d>>>8;D[c+14|0]=d>>>16;D[c+15|0]=d>>>24;e=F[g>>2];a=_-96|0;_=a;d=g+48|0;m=a- -64|0;za(d,c,m);Aa(m,32,g+12|0,32,F[e+8>>2],F[e+12>>2],a,64);f=F[a+28>>2];e=F[a+24>>2];D[g+36|0]=e;D[g+37|0]=e>>>8;D[g+38|0]=e>>>16;D[g+39|0]=e>>>24;D[g+40|0]=f;D[g+41|0]=f>>>8;D[g+42|0]=f>>>16;D[g+43|0]=f>>>24;f=F[a+20>>2];e=F[a+16>>2];D[g+28|0]=e;D[g+29|0]=e>>>8;D[g+30|0]=e>>>16;D[g+31|0]=e>>>24;D[g+32|0]=f;D[g+33|0]=f>>>8;D[g+34|0]=f>>>16;D[g+35|0]=f>>>24;f=F[a+12>>2];e=F[a+8>>2];D[g+20|0]=e;D[g+21|0]=e>>>8;D[g+22|0]=e>>>16;D[g+23|0]=e>>>24;D[g+24|0]=f;D[g+25|0]=f>>>8;D[g+26|0]=f>>>16;D[g+27|0]=f>>>24;f=F[a+4>>2];e=F[a>>2];D[g+12|0]=e;D[g+13|0]=e>>>8;D[g+14|0]=e>>>16;D[g+15|0]=e>>>24;D[g+16|0]=f;D[g+17|0]=f>>>8;D[g+18|0]=f>>>16;D[g+19|0]=f>>>24;n=F[a+40>>2];o=F[a+44>>2];p=F[a+48>>2];q=F[a+52>>2];k=F[a+56>>2];i=F[a+60>>2];f=F[a+32>>2];e=F[a+36>>2];F[c+32>>2]=0;F[c+60>>2]=k;F[c+64>>2]=i;F[c+52>>2]=p;F[c+56>>2]=q;F[c+44>>2]=n;F[c+48>>2]=o;F[c+36>>2]=f;F[c+40>>2]=e;ia(a,64);ia(m,32);_=a+96|0;ia(d,100);a=F[g+44>>2]-100|0;F[g+44>>2]=a;if((a|0)!=(d|0)){while(1){a=d;d=d+100|0;ja(a,d,100);if(F[g+44>>2]!=(d|0)){continue}break}}a=c}if(I[a+32>>2]<I[h+12>>2]){f=g+532|0;i=a+36|0;c=g+3216|0;k=g+496|0;while(1){d=c;e=F[g+492>>2];if((d|0)!=(e|0)){d=e+68|0;F[g+492>>2]=d}d=d-68|0;if((k|0)!=(d|0)){while(1){e=d;d=d-68|0;ja(e,d,68);if((d|0)!=(k|0)){continue}break}}ka(i,32,1868,1,f);F[g+528>>2]=F[a+32>>2];d=F[a+28>>2];F[k+24>>2]=F[a+24>>2];F[k+28>>2]=d;d=F[a+20>>2];F[k+16>>2]=F[a+16>>2];F[k+20>>2]=d;d=F[a+12>>2];F[k+8>>2]=F[a+8>>2];F[k+12>>2]=d;d=F[a+4>>2];F[k>>2]=F[a>>2];F[k+4>>2]=d;ka(i,32,1869,1,i);d=F[a+32>>2]+1|0;F[a+32>>2]=d;if(d>>>0<I[h+12>>2]){continue}break}}c=a+36|0;ka(c,32,1869,1,c);F[a+32>>2]=F[a+32>>2]+1}_=h+240|0;a=j;if((a|0)==-1){F[g+3216>>2]=F[g+8>>2];F[g+8>>2]=0;break a}D[g+3220|0]=1;b=a}_=l+48|0;return b|0}function Gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=Ob(a);if(Da(i)>>>0>e>>>0){F[a+3216>>2]=2;return-1}e=la(_a(d,i),1);D[e|0]=G[a+3220|0];f=a+3221|0;g=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+1|0;h=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=h;D[e+1|0]=h>>>8;D[e+2|0]=h>>>16;D[e+3|0]=h>>>24;D[e+4|0]=g;D[e+5|0]=g>>>8;D[e+6|0]=g>>>16;D[e+7|0]=g>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=a+3253|0;g=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+32|0;h=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=h;D[e+1|0]=h>>>8;D[e+2|0]=h>>>16;D[e+3|0]=h>>>24;D[e+4|0]=g;D[e+5|0]=g>>>8;D[e+6|0]=g>>>16;D[e+7|0]=g>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=a+3285|0;g=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);e=e+32|0;h=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=h;D[e+1|0]=h>>>8;D[e+2|0]=h>>>16;D[e+3|0]=h>>>24;D[e+4|0]=g;D[e+5|0]=g>>>8;D[e+6|0]=g>>>16;D[e+7|0]=g>>>24;g=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);h=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=h;D[e+25|0]=h>>>8;D[e+26|0]=h>>>16;D[e+27|0]=h>>>24;D[e+28|0]=g;D[e+29|0]=g>>>8;D[e+30|0]=g>>>16;D[e+31|0]=g>>>24;g=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);h=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=h;D[e+17|0]=h>>>8;D[e+18|0]=h>>>16;D[e+19|0]=h>>>24;D[e+20|0]=g;D[e+21|0]=g>>>8;D[e+22|0]=g>>>16;D[e+23|0]=g>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;f=Ua(e+32|0,a+12|0,32);e=a+48|0;f=la(f,(F[a+44>>2]-e|0)/100|0);g=F[a+44>>2];if((g|0)!=(e|0)){while(1){f=la(Ua(Na(f,e),e+68|0,32),F[e+64>>2]);e=e+100|0;if((g|0)!=(e|0)){continue}break}}e=a+152|0;f=la(f,(F[a+148>>2]-e|0)/68|0);j=F[a+148>>2];if((j|0)!=(e|0)){while(1){g=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);h=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[f|0]=h;D[f+1|0]=h>>>8;D[f+2|0]=h>>>16;D[f+3|0]=h>>>24;D[f+4|0]=g;D[f+5|0]=g>>>8;D[f+6|0]=g>>>16;D[f+7|0]=g>>>24;g=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);h=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[f+24|0]=h;D[f+25|0]=h>>>8;D[f+26|0]=h>>>16;D[f+27|0]=h>>>24;D[f+28|0]=g;D[f+29|0]=g>>>8;D[f+30|0]=g>>>16;D[f+31|0]=g>>>24;g=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);h=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[f+16|0]=h;D[f+17|0]=h>>>8;D[f+18|0]=h>>>16;D[f+19|0]=h>>>24;D[f+20|0]=g;D[f+21|0]=g>>>8;D[f+22|0]=g>>>16;D[f+23|0]=g>>>24;g=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);h=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[f+8|0]=h;D[f+9|0]=h>>>8;D[f+10|0]=h>>>16;D[f+11|0]=h>>>24;D[f+12|0]=g;D[f+13|0]=g>>>8;D[f+14|0]=g>>>16;D[f+15|0]=g>>>24;f=la(Ua(f+32|0,e+36|0,32),F[e+32>>2]);e=e+68|0;if((j|0)!=(e|0)){continue}break}}e=a+496|0;f=la(f,(F[a+492>>2]-e|0)/68|0);h=F[a+492>>2];if((h|0)!=(e|0)){while(1){a=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);g=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[f|0]=g;D[f+1|0]=g>>>8;D[f+2|0]=g>>>16;D[f+3|0]=g>>>24;D[f+4|0]=a;D[f+5|0]=a>>>8;D[f+6|0]=a>>>16;D[f+7|0]=a>>>24;a=G[e+28|0]|G[e+29|0]<<8|(G[e+30|0]<<16|G[e+31|0]<<24);g=G[e+24|0]|G[e+25|0]<<8|(G[e+26|0]<<16|G[e+27|0]<<24);D[f+24|0]=g;D[f+25|0]=g>>>8;D[f+26|0]=g>>>16;D[f+27|0]=g>>>24;D[f+28|0]=a;D[f+29|0]=a>>>8;D[f+30|0]=a>>>16;D[f+31|0]=a>>>24;a=G[e+20|0]|G[e+21|0]<<8|(G[e+22|0]<<16|G[e+23|0]<<24);g=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[f+16|0]=g;D[f+17|0]=g>>>8;D[f+18|0]=g>>>16;D[f+19|0]=g>>>24;D[f+20|0]=a;D[f+21|0]=a>>>8;D[f+22|0]=a>>>16;D[f+23|0]=a>>>24;a=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);g=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[f+8|0]=g;D[f+9|0]=g>>>8;D[f+10|0]=g>>>16;D[f+11|0]=g>>>24;D[f+12|0]=a;D[f+13|0]=a>>>8;D[f+14|0]=a>>>16;D[f+15|0]=a>>>24;f=la(Ua(f+32|0,e+36|0,32),F[e+32>>2]);e=e+68|0;if((h|0)!=(e|0)){continue}break}}return Za(b,c,d,i)|0}function fa(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;c=F[b+12>>2];d=c<<1;x=d;s=d>>31;k=c;U=c>>31;c=se(d,s,c,U);f=$;d=c;n=F[b+16>>2];c=n;t=c>>31;i=F[b+8>>2];c=i<<1;J=c;C=c>>31;e=se(n,t,c,C);d=d+e|0;c=$+f|0;c=d>>>0<e>>>0?c+1|0:c;f=d;e=F[b+20>>2];d=e<<1;D=d;E=d>>31;h=F[b+4>>2];d=h<<1;u=d;o=d>>31;m=se(D,E,d,o);f=f+m|0;d=$+c|0;d=f>>>0<m>>>0?d+1|0:d;g=F[b+24>>2];c=g;P=c;y=c>>31;z=F[b>>2];c=z<<1;v=c;p=c>>31;m=se(g,y,c,p);f=m+f|0;c=$+d|0;c=f>>>0<m>>>0?c+1|0:c;l=f;m=F[b+32>>2];d=L(m,19);G=d;A=d>>31;Q=m>>31;f=se(d,A,m,Q);d=l+f|0;c=$+c|0;c=d>>>0<f>>>0?c+1|0:c;l=d;R=F[b+36>>2];d=L(R,38);w=d;q=d>>31;f=F[b+28>>2];b=f<<1;_=b;V=b>>31;K=se(d,q,b,V);d=l+K|0;b=$+c|0;l=d;r=d>>>0<K>>>0?b+1|0:b;b=se(u,o,n,t);c=$;d=se(J,C,k,U);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;K=e;S=e>>31;j=se(e,S,v,p);b=j+b|0;d=$+c|0;d=b>>>0<j>>>0?d+1|0:d;j=se(G,A,_,V);b=j+b|0;c=$+d|0;c=b>>>0<j>>>0?c+1|0:c;d=se(w,q,g,y);b=d+b|0;c=$+c|0;B=b;M=b>>>0<d>>>0?c+1|0:c;b=se(u,o,x,s);d=$;N=i>>31;j=se(i,N,i,N);c=j+b|0;b=$+d|0;b=c>>>0<j>>>0?b+1|0:b;j=se(v,p,n,t);d=j+c|0;c=$+b|0;c=d>>>0<j>>>0?c+1|0:c;b=L(f,38);T=b;O=b>>31;j=f;W=f>>31;f=se(b,O,f,W);b=f+d|0;d=$+c|0;d=b>>>0<f>>>0?d+1|0:d;c=b;b=g<<1;f=se(G,A,b,b>>31);b=c+f|0;c=$+d|0;c=b>>>0<f>>>0?c+1|0:c;d=se(w,q,D,E);b=d+b|0;c=$+c|0;X=b;c=b>>>0<d>>>0?c+1|0:c;ca=c;b=c;c=X+33554432|0;b=c>>>0<33554432?b+1|0:b;aa=c;da=b;c=b>>26;d=(b&67108863)<<6|aa>>>26;b=d+B|0;c=c+M|0;M=b;d=b>>>0<d>>>0?c+1|0:c;b=b+16777216|0;d=b>>>0<16777216?d+1|0:d;ea=b;c=d>>25;d=(d&33554431)<<7|b>>>25;b=d+l|0;c=c+r|0;c=b>>>0<d>>>0?c+1|0:c;d=b;b=c;c=d+33554432|0;b=c>>>0<33554432?b+1|0:b;H=c;f=b;b=c&-67108864;F[a+24>>2]=d-b;b=se(v,p,i,N);c=$;r=h>>31;l=se(u,o,h,r);b=l+b|0;d=$+c|0;d=b>>>0<l>>>0?d+1|0:d;c=b;b=L(g,19);l=b;B=b>>31;g=se(b,B,g,y);b=c+g|0;c=$+d|0;c=b>>>0<g>>>0?c+1|0:c;g=se(D,E,T,O);d=g+b|0;b=$+c|0;b=d>>>0<g>>>0?b+1|0:b;c=n<<1;ba=c;Y=c>>31;g=se(G,A,c,Y);d=g+d|0;c=$+b|0;c=d>>>0<g>>>0?c+1|0:c;b=d;d=se(w,q,x,s);b=b+d|0;c=$+c|0;Z=b;g=b>>>0<d>>>0?c+1|0:c;b=se(D,E,l,B);c=$;h=se(v,p,h,r);b=h+b|0;d=$+c|0;d=b>>>0<h>>>0?d+1|0:d;h=se(n,t,T,O);b=h+b|0;c=$+d|0;c=b>>>0<h>>>0?c+1|0:c;h=se(G,A,x,s);d=h+b|0;b=$+c|0;b=d>>>0<h>>>0?b+1|0:b;h=se(w,q,i,N);d=h+d|0;c=$+b|0;I=d;r=d>>>0<h>>>0?c+1|0:c;b=L(e,38);b=se(b,b>>31,e,S);c=$;e=b;b=z>>31;d=se(z,b,z,b);b=e+d|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;e=se(l,B,ba,Y);b=e+b|0;d=$+c|0;d=b>>>0<e>>>0?d+1|0:d;e=se(x,s,T,O);b=e+b|0;c=$+d|0;c=b>>>0<e>>>0?c+1|0:c;e=se(G,A,J,C);d=e+b|0;b=$+c|0;b=d>>>0<e>>>0?b+1|0:b;e=se(u,o,w,q);d=e+d|0;c=$+b|0;h=d;c=d>>>0<e>>>0?c+1|0:c;l=c;b=d+33554432|0;c=b>>>0<33554432?c+1|0:c;z=b;B=c;b=c>>26;e=(c&67108863)<<6|z>>>26;c=e+I|0;d=b+r|0;r=c;I=Z;c=c>>>0<e>>>0?d+1|0:d;b=r+16777216|0;c=b>>>0<16777216?c+1|0:c;Z=b;e=(c&33554431)<<7|b>>>25;d=I+e|0;c=(c>>25)+g|0;c=d>>>0<e>>>0?c+1|0:c;b=d;d=b+33554432|0;c=d>>>0<33554432?c+1|0:c;g=d;e=c;c=d&-67108864;F[a+8>>2]=b-c;b=se(J,C,K,S);c=$;d=se(n,t,x,s);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=se(u,o,P,y);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=se(v,p,j,W);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;I=se(w,q,m,Q);d=I+b|0;b=$+c|0;b=d>>>0<I>>>0?b+1|0:b;c=f>>26;H=(f&67108863)<<6|H>>>26;f=H+d|0;d=b+c|0;b=f;c=b>>>0<H>>>0?d+1|0:d;d=b+16777216|0;c=d>>>0<16777216?c+1|0:c;H=d;f=c;c=d&-33554432;F[a+28>>2]=b-c;b=se(v,p,k,U);d=$;i=se(u,o,i,N);c=i+b|0;b=$+d|0;b=c>>>0<i>>>0?b+1|0:b;i=se(P,y,T,O);c=i+c|0;d=$+b|0;d=c>>>0<i>>>0?d+1|0:d;i=se(G,A,D,E);b=i+c|0;c=$+d|0;c=b>>>0<i>>>0?c+1|0:c;d=se(w,q,n,t);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=e>>26;e=(e&67108863)<<6|g>>>26;b=e+b|0;c=c+d|0;d=b;b=b>>>0<e>>>0?c+1|0:c;c=d+16777216|0;b=c>>>0<16777216?b+1|0:b;i=c;e=b;b=c&-33554432;F[a+12>>2]=d-b;b=se(P,y,J,C);c=$;d=se(n,t,n,t);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=se(x,s,D,E);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;k=se(u,o,_,V);d=k+b|0;b=$+c|0;b=d>>>0<k>>>0?b+1|0:b;k=se(v,p,m,Q);c=k+d|0;d=$+b|0;d=c>>>0<k>>>0?d+1|0:d;g=R>>31;k=se(w,q,R,g);b=k+c|0;c=$+d|0;c=b>>>0<k>>>0?c+1|0:c;d=b;b=f>>25;f=(f&33554431)<<7|H>>>25;d=d+f|0;c=b+c|0;c=d>>>0<f>>>0?c+1|0:c;b=d;d=b+33554432|0;c=d>>>0<33554432?c+1|0:c;k=d;f=c;c=d&-67108864;F[a+32>>2]=b-c;M=M-(ea&-33554432)|0;c=e>>25;e=(e&33554431)<<7|i>>>25;b=aa&-67108864;d=e+(X-b|0)|0;b=c+(ca-((b>>>0>X>>>0)+da|0)|0)|0;b=d>>>0<e>>>0?b+1|0:b;c=b;b=d+33554432|0;c=b>>>0<33554432?c+1|0:c;e=b;b=((c&67108863)<<6|b>>>26)+M|0;F[a+20>>2]=b;b=e&-67108864;F[a+16>>2]=d-b;b=se(x,s,P,y);d=$;e=se(K,S,ba,Y);c=e+b|0;b=$+d|0;b=c>>>0<e>>>0?b+1|0:b;e=se(J,C,j,W);d=e+c|0;c=$+b|0;c=d>>>0<e>>>0?c+1|0:c;e=se(u,o,m,Q);b=e+d|0;d=$+c|0;d=b>>>0<e>>>0?d+1|0:d;e=se(v,p,R,g);b=e+b|0;c=$+d|0;d=b;b=b>>>0<e>>>0?c+1|0:c;c=f>>26;f=(f&67108863)<<6|k>>>26;d=f+d|0;c=b+c|0;c=d>>>0<f>>>0?c+1|0:c;b=c;c=d+16777216|0;b=c>>>0<16777216?b+1|0:b;f=c&-33554432;F[a+36>>2]=d-f;e=se((b&33554431)<<7|c>>>25,b>>25,19,0);d=z&-67108864;b=e+(h-d|0)|0;c=$+(l-((d>>>0>h>>>0)+B|0)|0)|0;d=b;b=b>>>0<e>>>0?c+1|0:c;c=d+33554432|0;b=c>>>0<33554432?b+1|0:b;b=(r-(Z&-33554432)|0)+((b&67108863)<<6|c>>>26)|0;F[a+4>>2]=b;b=a;a=c&-67108864;F[b>>2]=d-a}function ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0;f=_-160|0;_=f;p=F[b>>2];c=F[b+16>>2];q=c;r=c>>31;c=F[b+24>>2];s=c;t=c>>31;u=F[b+8>>2];c=F[b+32>>2];v=c;w=c>>31;g=F[b+40>>2];d=F[b+72>>2];k=d;H=d;z=d>>31;c=F[b+48>>2];A=c;x=c>>31;e=se(d,z,c,x);o=$;c=F[b+64>>2];j=c;d=c>>31;n=d;c=d;d=F[b+56>>2];l=d;E=d;B=d>>31;d=se(j,c,d,B);c=d+e|0;b=$+o|0;i=c;b=c>>>0<d>>>0?b+1|0:b;e=b;c=f;F[c+120>>2]=i<<1;F[c+124>>2]=b<<1|i>>>31;c=g;y=c;o=c>>31;b=se(j,n,c,o);d=$;h=se(A,x,l,B);c=h+b|0;b=$+d|0;b=c>>>0<h>>>0?b+1|0:b;h=se(v,w,k,z);d=h+c|0;c=$+b|0;G=d;c=d>>>0<h>>>0?c+1|0:c;h=c;d=f;F[d+104>>2]=G<<1;F[d+108>>2]=c<<1|G>>>31;b=se(s,t,A,x);c=$;D=se(v,w,y,o);b=D+b|0;d=$+c|0;d=b>>>0<D>>>0?d+1|0:d;D=se(q,r,l,B);b=D+b|0;c=$+d|0;c=b>>>0<D>>>0?c+1|0:c;d=b;D=0;b=u;g=b;J=b;u=b>>31;K=se(j,n,b,u);d=K+d|0;b=$+c|0;b=d>>>0<K>>>0?b+1|0:b;c=b;K=0;b=p;m=d;C=b;p=b>>31;d=se(k,z,b,p);b=m+d|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;F[f+72>>2]=b<<1;F[f+76>>2]=c<<1|b>>>31;b=se(k,z,(l&1073741823)<<2|I>>>30,l>>30);c=$;d=se(j,n,j,n);b=d+b|0;c=$+c|0;l=b;F[f+128>>2]=b;c=b>>>0<d>>>0?c+1|0:c;F[f+132>>2]=c;I=c;b=se(q,r,v,w);d=$;m=se(s,t,s,t);c=m+b|0;b=$+d|0;b=c>>>0<m>>>0?b+1|0:b;m=se(y,o,(g&2147483647)<<1|D>>>31,g>>31);d=m+c|0;c=$+b|0;c=d>>>0<m>>>0?c+1|0:c;m=se(C,p,A,x);d=m+d|0;b=$+c|0;c=d;d=(c>>>0<m>>>0?b+1|0:b)<<1|c>>>31;m=c<<1;b=m+l|0;c=d+I|0;l=se(l,I,18,0);d=l+b|0;b=$+(b>>>0<m>>>0?c+1|0:c)|0;F[f+48>>2]=d;F[f+52>>2]=d>>>0<l>>>0?b+1|0:b;b=se(i,e,36,0);l=$;c=se(v,w,g,u);d=$;m=b;I=i;i=se(q,r,s,t);b=i+c|0;c=$+d|0;c=b>>>0<i>>>0?c+1|0:c;i=se(y,o,C,p);d=i+b|0;b=$+c|0;b=d>>>0<i>>>0?b+1|0:b;i=d;c=I+d|0;d=b+e|0;b=c;c=(b>>>0<i>>>0?d+1|0:d)<<1|b>>>31;d=b<<1;b=m+d|0;c=c+l|0;F[f+40>>2]=b;F[f+44>>2]=b>>>0<d>>>0?c+1|0:c;b=se(G,h,36,0);e=$;c=se(s,t,C,p);d=$;i=b;l=se(q,r,g,u);c=l+c|0;b=$+d|0;b=c>>>0<l>>>0?b+1|0:b;d=c;c=c+G|0;b=b+h|0;b=c>>>0<d>>>0?b+1|0:b;d=c;c=b<<1|c>>>31;h=d<<1;b=i+h|0;d=c+e|0;F[f+24>>2]=b;F[f+28>>2]=b>>>0<h>>>0?d+1|0:d;h=se((k&2147483647)<<1|L>>>31,k>>31,k,z);b=$;k=b;F[f+144>>2]=h;F[f+148>>2]=b;d=se(v,w,v,w);l=$;b=se(C,p,j,n);c=$;e=se(q,r,A,x);b=e+b|0;c=$+c|0;c=b>>>0<e>>>0?c+1|0:c;i=se(g,u,E,B);G=$;e=d;m=b;b=i;i=se(s,t,y,o);d=b+i|0;b=$+G|0;b=d>>>0<i>>>0?b+1|0:b;b=b<<1|d>>>31;i=d<<1;d=m+i|0;c=b+c|0;c=d>>>0<i>>>0?c+1|0:c;b=c<<1|d>>>31;i=d<<1;c=e+i|0;d=b+l|0;h=se(h,k,19,0);b=h+c|0;c=$+(c>>>0<i>>>0?d+1|0:d)|0;F[f+64>>2]=b;F[f+68>>2]=b>>>0<h>>>0?c+1|0:c;h=se(H,z,(j&2147483647)<<1|L>>>31,j>>31);b=$;F[f+136>>2]=h;F[f+140>>2]=b;e=b;b=se(q,r,y,o);d=$;k=se(s,t,v,w);c=k+b|0;b=$+d|0;b=c>>>0<k>>>0?b+1|0:b;k=se(g,u,A,x);d=k+c|0;c=$+b|0;c=d>>>0<k>>>0?c+1|0:c;k=se(C,p,E,B);b=k+d|0;d=$+c|0;c=b;b=(b>>>0<k>>>0?d+1|0:d)<<1|b>>>31;k=c<<1;d=k+h|0;c=b+e|0;c=d>>>0<k>>>0?c+1|0:c;e=se(h,e,18,0);d=e+d|0;b=$+c|0;F[f+56>>2]=d;F[f+60>>2]=d>>>0<e>>>0?b+1|0:b;b=se(A,x,j,n);c=$;d=se(E,B,E,B);b=d+b|0;c=$+c|0;c=b>>>0<d>>>0?c+1|0:c;d=b;b=c;e=se(H,z,(y&2147483647)<<1|L>>>31,y>>31);c=e+d|0;d=$+b|0;d=c>>>0<e>>>0?d+1|0:d;e=c;h=d;b=c<<1;F[f+112>>2]=b;c=d<<1|c>>>31;F[f+116>>2]=c;d=b;k=c;b=se(s,t,(g&1073741823)<<2|D>>>30,g>>30);g=$;i=se(q,r,q,r);c=i+b|0;b=$+g|0;b=c>>>0<i>>>0?b+1|0:b;m=d;l=(C&2147483647)<<1|K>>>31;i=C>>31;d=se(v,w,l,i);c=d+c|0;b=$+b|0;b=c>>>0<d>>>0?b+1|0:b;g=c;c=m+c|0;d=b+k|0;e=se(e,h,36,0);b=e+c|0;c=$+(c>>>0<g>>>0?d+1|0:d)|0;F[f+32>>2]=b;F[f+36>>2]=b>>>0<e>>>0?c+1|0:c;b=se(v,w,E,B);d=$;g=se(y,o,A,x);c=g+b|0;b=$+d|0;b=c>>>0<g>>>0?b+1|0:b;g=se(s,t,j,n);d=g+c|0;c=$+b|0;c=d>>>0<g>>>0?c+1|0:c;g=se(q,r,H,z);d=g+d|0;b=$+c|0;c=d;b=c>>>0<g>>>0?b+1|0:b;g=b;d=f;e=c<<1;F[d+88>>2]=e;b=b<<1|c>>>31;F[d+92>>2]=b;h=se(J,u,l,i);e=h+e|0;d=$+b|0;g=se(c,g,36,0);b=g+e|0;c=$+(e>>>0<h>>>0?d+1|0:d)|0;F[f+8>>2]=b;F[f+12>>2]=b>>>0<g>>>0?c+1|0:c;b=se(A,x,A,x);g=$;c=se(v,w,j,n);e=$;d=se(s,t,H,z);h=$;i=b;k=c;b=d;d=se(y,o,E,B);b=b+d|0;c=$+h|0;c=b>>>0<d>>>0?c+1|0:c;d=c<<1|b>>>31;h=b<<1;c=k+h|0;b=d+e|0;d=c;c=(c>>>0<h>>>0?b+1|0:b)<<1|c>>>31;e=d<<1;d=i+e|0;b=c+g|0;g=d;F[f+96>>2]=d;b=d>>>0<e>>>0?b+1|0:b;F[f+100>>2]=b;c=se(q,r,C,p);e=$;h=se(J,u,J,u);d=h+c|0;c=$+e|0;c=d>>>0<h>>>0?c+1|0:c;h=d<<1;e=h+g|0;d=(c<<1|d>>>31)+b|0;g=se(g,b,18,0);c=g+e|0;b=$+(e>>>0<h>>>0?d+1|0:d)|0;F[f+16>>2]=c;F[f+20>>2]=c>>>0<g>>>0?b+1|0:b;b=se(v,w,A,x);d=$;g=se(y,o,y,o);c=g+b|0;b=$+d|0;j=se(q,r,j,n);d=j+c|0;c=$+(c>>>0<g>>>0?b+1|0:b)|0;b=d;d=b>>>0<j>>>0?c+1|0:c;c=se(J,u,H,z);j=$;e=b;n=se(s,t,E,B);b=n+c|0;c=$+j|0;j=b;b=(b>>>0<n>>>0?c+1|0:c)<<1|b>>>31;j=j<<1;c=e+j|0;d=b+d|0;d=c>>>0<j>>>0?d+1|0:d;j=c;b=f;n=c<<1;F[b+80>>2]=n;c=d<<1|c>>>31;F[b+84>>2]=c;g=se(C,p,C,p);n=g+n|0;b=$+c|0;j=se(j,d,36,0);d=j+n|0;c=$+(g>>>0>n>>>0?b+1|0:b)|0;F[f>>2]=d;F[f+4>>2]=d>>>0<j>>>0?c+1|0:c;wa(f);ja(a,f,80);_=f+160|0}function ab(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;F[a+4>>2]=0;F[a+8>>2]=0;D[a|0]=0;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;a:{if(!c){break a}D[a|0]=G[b|0];if((c|0)==1){break a}g=b+c|0;d=b+1|0;while(1){h=d;if(G[d|0]==10){c=h+1|0;b=c;while(1){b:{if((b|0)==(g|0)){f=g;break b}d=D[b|0];f=b+1|0;b=f;if((d|0)<0){continue}}break}c:{if((c|0)==(f|0)){e=0;break c}c=(h^-1)+f|0;i=c&3;d=0;e=0;b=f;if((b-h|0)-2>>>0>=3){j=c&-4;c=0;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;c=c+4|0;if((j|0)!=(c|0)){continue}break}}if(i){while(1){b=b-1|0;e=G[b|0]&127|e<<7;d=d+1|0;if((i|0)!=(d|0)){continue}break}}if(g-f>>>0<e>>>0){break a}}F[a+24>>2]=e;F[a+20>>2]=f;d=e+f|0}if((d|0)==(g|0)){break a}if(G[d|0]==18){f=d+1|0;b=f;while(1){d:{if((b|0)==(g|0)){c=g;break d}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}e:{if((c|0)==(f|0)){e=0;break e}j=(d^-1)+c|0;i=j&3;f=0;e=0;b=c;if((b-d|0)-2>>>0>=3){j=j&-4;d=0;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;d=d+4|0;if((j|0)!=(d|0)){continue}break}}if(i){while(1){b=b-1|0;e=G[b|0]&127|e<<7;f=f+1|0;if((i|0)!=(f|0)){continue}break}}if(g-c>>>0<e>>>0){break a}}F[a+16>>2]=e;F[a+12>>2]=c;d=c+e|0}if((d|0)==(g|0)){break a}if(G[d|0]==26){f=d+1|0;b=f;while(1){f:{if((b|0)==(g|0)){c=g;break f}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}g:{if((c|0)==(f|0)){e=0;break g}j=(d^-1)+c|0;i=j&3;f=0;e=0;b=c;if((b-d|0)-2>>>0>=3){j=j&-4;d=0;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;d=d+4|0;if((j|0)!=(d|0)){continue}break}}if(i){while(1){b=b-1|0;e=G[b|0]&127|e<<7;f=f+1|0;if((i|0)!=(f|0)){continue}break}}if(g-c>>>0<e>>>0){break a}}F[a+8>>2]=e;F[a+4>>2]=c;d=c+e|0}if((d|0)==(g|0)){break a}if(G[d|0]==34){f=d+1|0;b=f;while(1){h:{if((b|0)==(g|0)){c=g;break h}e=D[b|0];c=b+1|0;b=c;if((e|0)<0){continue}}break}i:{if((c|0)==(f|0)){e=0;break i}j=(d^-1)+c|0;i=j&3;f=0;e=0;b=c;if((b-d|0)-2>>>0>=3){j=j&-4;d=0;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;d=d+4|0;if((j|0)!=(d|0)){continue}break}}if(i){while(1){b=b-1|0;e=G[b|0]&127|e<<7;f=f+1|0;if((i|0)!=(f|0)){continue}break}}if(g-c>>>0<e>>>0){break a}}F[a+32>>2]=e;F[a+28>>2]=c;d=c+e|0}j:{if((d|0)==(g|0)|(d|0)!=(h|0)){break j}k:{switch(G[h|0]&7){case 0:while(1){l:{if((g|0)==(h|0)){b=g;break l}c=D[h|0];b=h+1|0;h=b;if((c|0)<0){continue}}break};while(1){if((b|0)==(g|0)){d=g;break j}c=D[b|0];d=b+1|0;b=d;if((c|0)<0){continue}break};break j;case 2:break k;default:break a}}while(1){m:{if((g|0)==(h|0)){d=g;break m}b=D[h|0];d=h+1|0;h=d;if((b|0)<0){continue}}break}b=d;while(1){n:{if((b|0)==(g|0)){f=g;break n}c=D[b|0];f=b+1|0;b=f;if((c|0)<0){continue}}break}if((d|0)==(f|0)){break j}i=f-d|0;c=i&3;e=0;h=0;b=f;if(b+(d^-1)>>>0>=3){i=i&-4;d=0;while(1){h=(G[b-2|0]&127|(h<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;h=h|G[b|0]&127;d=d+4|0;if((i|0)!=(d|0)){continue}break}}if(c){while(1){b=b-1|0;h=G[b|0]&127|h<<7;e=e+1|0;if((c|0)!=(e|0)){continue}break}}if(g-f>>>0<h>>>0){break a}d=f+h|0}if((d|0)!=(g|0)){continue}break}}}function rb(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!a){break a}d=a+32|0;if(d>>>0>b>>>0){break a}f=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);g=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=g;D[c+1|0]=g>>>8;D[c+2|0]=g>>>16;D[c+3|0]=g>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);g=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=g;D[c+25|0]=g>>>8;D[c+26|0]=g>>>16;D[c+27|0]=g>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);g=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=g;D[c+17|0]=g>>>8;D[c+18|0]=g>>>16;D[c+19|0]=g>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);g=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=g;D[c+9|0]=g>>>8;D[c+10|0]=g>>>16;D[c+11|0]=g>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;f=b;b=a+96|0;if(f>>>0<b>>>0){break a}a=d;d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c+32|0]=e;D[c+33|0]=e>>>8;D[c+34|0]=e>>>16;D[c+35|0]=e>>>24;D[c+36|0]=d;D[c+37|0]=d>>>8;D[c+38|0]=d>>>16;D[c+39|0]=d>>>24;d=G[a+60|0]|G[a+61|0]<<8|(G[a+62|0]<<16|G[a+63|0]<<24);e=G[a+56|0]|G[a+57|0]<<8|(G[a+58|0]<<16|G[a+59|0]<<24);D[c+88|0]=e;D[c+89|0]=e>>>8;D[c+90|0]=e>>>16;D[c+91|0]=e>>>24;D[c+92|0]=d;D[c+93|0]=d>>>8;D[c+94|0]=d>>>16;D[c+95|0]=d>>>24;d=G[a+52|0]|G[a+53|0]<<8|(G[a+54|0]<<16|G[a+55|0]<<24);e=G[a+48|0]|G[a+49|0]<<8|(G[a+50|0]<<16|G[a+51|0]<<24);D[c+80|0]=e;D[c+81|0]=e>>>8;D[c+82|0]=e>>>16;D[c+83|0]=e>>>24;D[c+84|0]=d;D[c+85|0]=d>>>8;D[c+86|0]=d>>>16;D[c+87|0]=d>>>24;d=G[a+44|0]|G[a+45|0]<<8|(G[a+46|0]<<16|G[a+47|0]<<24);e=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24);D[c+72|0]=e;D[c+73|0]=e>>>8;D[c+74|0]=e>>>16;D[c+75|0]=e>>>24;D[c+76|0]=d;D[c+77|0]=d>>>8;D[c+78|0]=d>>>16;D[c+79|0]=d>>>24;e=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);d=c- -64|0;f=G[a+32|0]|G[a+33|0]<<8|(G[a+34|0]<<16|G[a+35|0]<<24);D[d|0]=f;D[d+1|0]=f>>>8;D[d+2|0]=f>>>16;D[d+3|0]=f>>>24;D[d+4|0]=e;D[d+5|0]=e>>>8;D[d+6|0]=e>>>16;D[d+7|0]=e>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);e=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+56|0]=e;D[c+57|0]=e>>>8;D[c+58|0]=e>>>16;D[c+59|0]=e>>>24;D[c+60|0]=d;D[c+61|0]=d>>>8;D[c+62|0]=d>>>16;D[c+63|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);e=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+48|0]=e;D[c+49|0]=e>>>8;D[c+50|0]=e>>>16;D[c+51|0]=e>>>24;D[c+52|0]=d;D[c+53|0]=d>>>8;D[c+54|0]=d>>>16;D[c+55|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+40|0]=a;D[c+41|0]=a>>>8;D[c+42|0]=a>>>16;D[c+43|0]=a>>>24;D[c+44|0]=d;D[c+45|0]=d>>>8;D[c+46|0]=d>>>16;D[c+47|0]=d>>>24;e=b}return e}function ad(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;a:{if(!a){break a}d=a-8|0;b=F[a-4>>2];a=b&-8;f=d+a|0;b:{if(b&1){break b}if(!(b&3)){break a}b=F[d>>2];d=d-b|0;if(d>>>0<I[9390]){break a}a=a+b|0;if(F[9391]!=(d|0)){if(b>>>0<=255){e=F[d+8>>2];b=b>>>3|0;c=F[d+12>>2];if((c|0)==(e|0)){F[9386]=F[9386]&ue(-2,b);break b}F[e+12>>2]=c;F[c+8>>2]=e;break b}h=F[d+24>>2];b=F[d+12>>2];c:{if((d|0)!=(b|0)){c=F[d+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break c}d:{e=d+20|0;c=F[e>>2];if(c){break d}e=d+16|0;c=F[e>>2];if(c){break d}b=0;break c}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break b}e=F[d+28>>2];c=(e<<2)+37848|0;e:{if(F[c>>2]==(d|0)){F[c>>2]=b;if(b){break e}F[9387]=F[9387]&ue(-2,e);break b}F[h+(F[h+16>>2]==(d|0)?16:20)>>2]=b;if(!b){break b}}F[b+24>>2]=h;c=F[d+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[d+20>>2];if(!c){break b}F[b+20>>2]=c;F[c+24>>2]=b;break b}b=F[f+4>>2];if((b&3)!=3){break b}F[9388]=a;F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a;return}if(d>>>0>=f>>>0){break a}b=F[f+4>>2];if(!(b&1)){break a}f:{if(!(b&2)){if(F[9392]==(f|0)){F[9392]=d;a=F[9389]+a|0;F[9389]=a;F[d+4>>2]=a|1;if(F[9391]!=(d|0)){break a}F[9388]=0;F[9391]=0;return}if(F[9391]==(f|0)){F[9391]=d;a=F[9388]+a|0;F[9388]=a;F[d+4>>2]=a|1;F[a+d>>2]=a;return}a=(b&-8)+a|0;g:{if(b>>>0<=255){e=F[f+8>>2];b=b>>>3|0;c=F[f+12>>2];if((c|0)==(e|0)){F[9386]=F[9386]&ue(-2,b);break g}F[e+12>>2]=c;F[c+8>>2]=e;break g}h=F[f+24>>2];b=F[f+12>>2];h:{if((f|0)!=(b|0)){c=F[f+8>>2];F[c+12>>2]=b;F[b+8>>2]=c;break h}i:{e=f+20|0;c=F[e>>2];if(c){break i}e=f+16|0;c=F[e>>2];if(c){break i}b=0;break h}while(1){g=e;b=c;e=b+20|0;c=F[e>>2];if(c){continue}e=b+16|0;c=F[b+16>>2];if(c){continue}break}F[g>>2]=0}if(!h){break g}e=F[f+28>>2];c=(e<<2)+37848|0;j:{if(F[c>>2]==(f|0)){F[c>>2]=b;if(b){break j}F[9387]=F[9387]&ue(-2,e);break g}F[h+(F[h+16>>2]==(f|0)?16:20)>>2]=b;if(!b){break g}}F[b+24>>2]=h;c=F[f+16>>2];if(c){F[b+16>>2]=c;F[c+24>>2]=b}c=F[f+20>>2];if(!c){break g}F[b+20>>2]=c;F[c+24>>2]=b}F[d+4>>2]=a|1;F[a+d>>2]=a;if(F[9391]!=(d|0)){break f}F[9388]=a;return}F[f+4>>2]=b&-2;F[d+4>>2]=a|1;F[a+d>>2]=a}if(a>>>0<=255){a=a>>>3|0;b=(a<<3)+37584|0;c=F[9386];a=1<<a;k:{if(!(c&a)){F[9386]=a|c;a=b;break k}a=F[b+8>>2]}F[b+8>>2]=d;F[a+12>>2]=d;F[d+12>>2]=b;F[d+8>>2]=a;return}e=31;F[d+16>>2]=0;F[d+20>>2]=0;if(a>>>0<=16777215){b=a>>>8|0;g=b+1048320>>>16&8;b=b<<g;e=b+520192>>>16&4;b=b<<e;c=b+245760>>>16&2;b=(b<<c>>>15|0)-(c|(e|g))|0;e=(b<<1|a>>>b+21&1)+28|0}F[d+28>>2]=e;g=(e<<2)+37848|0;l:{m:{c=F[9387];b=1<<e;n:{if(!(c&b)){F[9387]=b|c;F[g>>2]=d;F[d+24>>2]=g;break n}e=a<<((e|0)==31?0:25-(e>>>1|0)|0);b=F[g>>2];while(1){c=b;if((F[b+4>>2]&-8)==(a|0)){break m}b=e>>>29|0;e=e<<1;g=c+(b&4)|0;b=F[g+16>>2];if(b){continue}break}F[g+16>>2]=d;F[d+24>>2]=c}F[d+12>>2]=d;F[d+8>>2]=d;break l}a=F[c+8>>2];F[a+12>>2]=d;F[c+8>>2]=d;F[d+24>>2]=0;F[d+12>>2]=c;F[d+8>>2]=a}a=F[9394]-1|0;F[9394]=a?a:-1}}function sb(a,b){var c=0,d=0,e=0;c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+24|0]=d;D[a+25|0]=d>>>8;D[a+26|0]=d>>>16;D[a+27|0]=d>>>24;D[a+28|0]=c;D[a+29|0]=c>>>8;D[a+30|0]=c>>>16;D[a+31|0]=c>>>24;c=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a+16|0]=d;D[a+17|0]=d>>>8;D[a+18|0]=d>>>16;D[a+19|0]=d>>>24;D[a+20|0]=c;D[a+21|0]=c>>>8;D[a+22|0]=c>>>16;D[a+23|0]=c>>>24;c=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;c=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+32|0]=d;D[a+33|0]=d>>>8;D[a+34|0]=d>>>16;D[a+35|0]=d>>>24;D[a+36|0]=c;D[a+37|0]=c>>>8;D[a+38|0]=c>>>16;D[a+39|0]=c>>>24;c=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+40|0]=d;D[a+41|0]=d>>>8;D[a+42|0]=d>>>16;D[a+43|0]=d>>>24;D[a+44|0]=c;D[a+45|0]=c>>>8;D[a+46|0]=c>>>16;D[a+47|0]=c>>>24;c=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[a+48|0]=d;D[a+49|0]=d>>>8;D[a+50|0]=d>>>16;D[a+51|0]=d>>>24;D[a+52|0]=c;D[a+53|0]=c>>>8;D[a+54|0]=c>>>16;D[a+55|0]=c>>>24;c=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);d=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[a+56|0]=d;D[a+57|0]=d>>>8;D[a+58|0]=d>>>16;D[a+59|0]=d>>>24;D[a+60|0]=c;D[a+61|0]=c>>>8;D[a+62|0]=c>>>16;D[a+63|0]=c>>>24;d=b- -64|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);c=a- -64|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=e;D[c+5|0]=e>>>8;D[c+6|0]=e>>>16;D[c+7|0]=e>>>24;c=G[b+76|0]|G[b+77|0]<<8|(G[b+78|0]<<16|G[b+79|0]<<24);d=G[b+72|0]|G[b+73|0]<<8|(G[b+74|0]<<16|G[b+75|0]<<24);D[a+72|0]=d;D[a+73|0]=d>>>8;D[a+74|0]=d>>>16;D[a+75|0]=d>>>24;D[a+76|0]=c;D[a+77|0]=c>>>8;D[a+78|0]=c>>>16;D[a+79|0]=c>>>24;c=G[b+84|0]|G[b+85|0]<<8|(G[b+86|0]<<16|G[b+87|0]<<24);d=G[b+80|0]|G[b+81|0]<<8|(G[b+82|0]<<16|G[b+83|0]<<24);D[a+80|0]=d;D[a+81|0]=d>>>8;D[a+82|0]=d>>>16;D[a+83|0]=d>>>24;D[a+84|0]=c;D[a+85|0]=c>>>8;D[a+86|0]=c>>>16;D[a+87|0]=c>>>24;c=G[b+92|0]|G[b+93|0]<<8|(G[b+94|0]<<16|G[b+95|0]<<24);b=G[b+88|0]|G[b+89|0]<<8|(G[b+90|0]<<16|G[b+91|0]<<24);D[a+88|0]=b;D[a+89|0]=b>>>8;D[a+90|0]=b>>>16;D[a+91|0]=b>>>24;D[a+92|0]=c;D[a+93|0]=c>>>8;D[a+94|0]=c>>>16;D[a+95|0]=c>>>24;return a+96|0}function db(a,b){var c=0,d=0,e=0,f=0,g=0;a:{if(!a|!b){break a}c=F[a+72>>2];if(c>>>0>127){break a}F[a+72>>2]=c+1;d=F[a+4>>2]+(c>>>29|0)|0;e=c<<3;f=e+F[a>>2]|0;F[a>>2]=f;F[a+4>>2]=e>>>0>f>>>0?d+1|0:d;f=a+76|0;D[f+c|0]=128;c=F[a+72>>2];if(c>>>0>=113){if(c>>>0<=127){while(1){F[a+72>>2]=c+1;D[(a+c|0)+76|0]=0;c=F[a+72>>2];if(c>>>0<128){continue}break}}ua(a,f);c=0}while(1){F[a+72>>2]=c+1;D[(a+c|0)+76|0]=0;c=F[a+72>>2];if(c>>>0<120){continue}break}d=F[a>>2];c=d<<24|d<<8&16711680;g=d>>>8|0;e=F[a+4>>2];d=d>>>24|0;c=c|((g|e<<24)&65280|(d|e<<8)&255);d=(g|(e&255)<<24)&-16777216|(d|(e&16777215)<<8)&16711680|(e>>>8&65280|e>>>24);D[a+196|0]=d;D[a+197|0]=d>>>8;D[a+198|0]=d>>>16;D[a+199|0]=d>>>24;D[a+200|0]=c;D[a+201|0]=c>>>8;D[a+202|0]=c>>>16;D[a+203|0]=c>>>24;ua(a,f);D[b|0]=G[a+15|0];D[b+1|0]=H[a+14>>1];D[b+2|0]=F[a+12>>2]>>>8;D[b+3|0]=F[a+12>>2];D[b+4|0]=(F[a+12>>2]&16777215)<<8|F[a+8>>2]>>>24;D[b+5|0]=(F[a+12>>2]&65535)<<16|F[a+8>>2]>>>16;D[b+6|0]=(F[a+12>>2]&255)<<24|F[a+8>>2]>>>8;D[b+7|0]=F[a+8>>2];D[b+8|0]=G[a+23|0];D[b+9|0]=H[a+22>>1];D[b+10|0]=F[a+20>>2]>>>8;D[b+11|0]=F[a+20>>2];D[b+12|0]=(F[a+20>>2]&16777215)<<8|F[a+16>>2]>>>24;D[b+13|0]=(F[a+20>>2]&65535)<<16|F[a+16>>2]>>>16;D[b+14|0]=(F[a+20>>2]&255)<<24|F[a+16>>2]>>>8;D[b+15|0]=F[a+16>>2];D[b+16|0]=G[a+31|0];D[b+17|0]=H[a+30>>1];D[b+18|0]=F[a+28>>2]>>>8;D[b+19|0]=F[a+28>>2];D[b+20|0]=(F[a+28>>2]&16777215)<<8|F[a+24>>2]>>>24;D[b+21|0]=(F[a+28>>2]&65535)<<16|F[a+24>>2]>>>16;D[b+22|0]=(F[a+28>>2]&255)<<24|F[a+24>>2]>>>8;D[b+23|0]=F[a+24>>2];D[b+24|0]=G[a+39|0];D[b+25|0]=H[a+38>>1];D[b+26|0]=F[a+36>>2]>>>8;D[b+27|0]=F[a+36>>2];D[b+28|0]=(F[a+36>>2]&16777215)<<8|F[a+32>>2]>>>24;D[b+29|0]=(F[a+36>>2]&65535)<<16|F[a+32>>2]>>>16;D[b+30|0]=(F[a+36>>2]&255)<<24|F[a+32>>2]>>>8;D[b+31|0]=F[a+32>>2];D[b+32|0]=G[a+47|0];D[b+33|0]=H[a+46>>1];D[b+34|0]=F[a+44>>2]>>>8;D[b+35|0]=F[a+44>>2];D[b+36|0]=(F[a+44>>2]&16777215)<<8|F[a+40>>2]>>>24;D[b+37|0]=(F[a+44>>2]&65535)<<16|F[a+40>>2]>>>16;D[b+38|0]=(F[a+44>>2]&255)<<24|F[a+40>>2]>>>8;D[b+39|0]=F[a+40>>2];D[b+40|0]=G[a+55|0];D[b+41|0]=H[a+54>>1];D[b+42|0]=F[a+52>>2]>>>8;D[b+43|0]=F[a+52>>2];D[b+44|0]=(F[a+52>>2]&16777215)<<8|F[a+48>>2]>>>24;D[b+45|0]=(F[a+52>>2]&65535)<<16|F[a+48>>2]>>>16;D[b+46|0]=(F[a+52>>2]&255)<<24|F[a+48>>2]>>>8;D[b+47|0]=F[a+48>>2];D[b+48|0]=G[a+63|0];D[b+49|0]=H[a+62>>1];D[b+50|0]=F[a+60>>2]>>>8;D[b+51|0]=F[a+60>>2];D[b+52|0]=(F[a+60>>2]&16777215)<<8|F[a+56>>2]>>>24;D[b+53|0]=(F[a+60>>2]&65535)<<16|F[a+56>>2]>>>16;D[b+54|0]=(F[a+60>>2]&255)<<24|F[a+56>>2]>>>8;D[b+55|0]=F[a+56>>2];D[b+56|0]=G[a+71|0];D[b+57|0]=H[a+70>>1];c=a- -64|0;D[b+58|0]=F[c+4>>2]>>>8;D[b+59|0]=F[a+68>>2];D[b+60|0]=(F[c+4>>2]&16777215)<<8|F[c>>2]>>>24;D[b+61|0]=(F[c+4>>2]&65535)<<16|F[c>>2]>>>16;D[b+62|0]=(F[c+4>>2]&255)<<24|F[c>>2]>>>8;D[b+63|0]=F[c>>2]}}function ie(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=_-160|0;_=j;l=-1;if(!(i>>>0<8|(e+16&-16)>>>0>g>>>0)){g=j+80|0;Aa(b,c,0,0,F[a+4>>2],F[a+8>>2],g,80);a=F[j+108>>2];F[j+24>>2]=F[j+104>>2];F[j+28>>2]=a;a=F[j+100>>2];F[j+16>>2]=F[j+96>>2];F[j+20>>2]=a;a=F[j+92>>2];F[j+8>>2]=F[j+88>>2];F[j+12>>2]=a;a=F[j+124>>2];F[j+40>>2]=F[j+120>>2];F[j+44>>2]=a;a=F[j+132>>2];F[j+48>>2]=F[j+128>>2];F[j+52>>2]=a;a=F[j+140>>2];F[j+56>>2]=F[j+136>>2];F[j+60>>2]=a;a=F[j+156>>2];F[j+72>>2]=F[j+152>>2];F[j+76>>2]=a;a=F[j+84>>2];F[j>>2]=F[j+80>>2];F[j+4>>2]=a;a=F[j+116>>2];F[j+32>>2]=F[j+112>>2];F[j+36>>2]=a;a=F[j+148>>2];F[j+64>>2]=F[j+144>>2];F[j+68>>2]=a;ia(g,80);a=0;l=0;b=_-256|0;_=b;Hb(j,b+16|0);c=j- -64|0;n=G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24);F[b+8>>2]=G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24);F[b+12>>2]=n;n=G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24);F[b>>2]=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);F[b+4>>2]=n;if(e>>>0>=16){while(1){D[b|0]=G[b|0]^G[d|0];D[b+1|0]=G[b+1|0]^G[d+1|0];D[b+2|0]=G[b+2|0]^G[d+2|0];D[b+3|0]=G[b+3|0]^G[d+3|0];D[b+4|0]=G[b+4|0]^G[d+4|0];D[b+5|0]=G[b+5|0]^G[d+5|0];D[b+6|0]=G[b+6|0]^G[d+6|0];D[b+7|0]=G[b+7|0]^G[d+7|0];D[b+8|0]=G[b+8|0]^G[d+8|0];D[b+9|0]=G[b+9|0]^G[d+9|0];D[b+10|0]=G[b+10|0]^G[d+10|0];D[b+11|0]=G[b+11|0]^G[d+11|0];D[b+12|0]=G[b+12|0]^G[d+12|0];D[b+13|0]=G[b+13|0]^G[d+13|0];D[b+14|0]=G[b+14|0]^G[d+14|0];D[b+15|0]=G[b+15|0]^G[d+15|0];Jb(b,f,b+16|0);c=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);F[b+8>>2]=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);F[b+12>>2]=c;c=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);F[b>>2]=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);F[b+4>>2]=c;f=f+16|0;d=d+16|0;e=e-16|0;if(e>>>0>15){continue}break}}n=0;a:{if(e){c=0;if(e-1>>>0>=3){o=e&-4;while(1){k=b+c|0;D[k|0]=G[k|0]^G[c+d|0];k=c|1;m=k+b|0;D[m|0]=G[m|0]^G[d+k|0];k=c|2;m=k+b|0;D[m|0]=G[m|0]^G[d+k|0];k=c|3;m=k+b|0;D[m|0]=G[m|0]^G[d+k|0];c=c+4|0;a=a+4|0;if((o|0)!=(a|0)){continue}break}}a=e&3;if(a){while(1){o=b+c|0;D[o|0]=G[o|0]^G[c+d|0];c=c+1|0;l=l+1|0;if((a|0)!=(l|0)){continue}break}}a=e;if(a>>>0>15){break a}}c=16-e|0;d=a;e=0-a&3;if(e){while(1){l=b+d|0;D[l|0]=c^G[l|0];d=d+1|0;n=n+1|0;if((e|0)!=(n|0)){continue}break}}if(a-13>>>0<3){break a}while(1){a=b+d|0;D[a|0]=c^G[a|0];D[a+1|0]=c^G[a+1|0];D[a+2|0]=c^G[a+2|0];D[a+3|0]=c^G[a+3|0];d=d+4|0;if((d|0)!=16){continue}break}}a=b+16|0;Jb(b,f,a);ia(a,240);ia(b,16);_=b+256|0;ka(j+32|0,32,h,i-8|0,g);b=F[j+84>>2];a=(h+i|0)-8|0;c=F[j+80>>2];D[a|0]=c;D[a+1|0]=c>>>8;D[a+2|0]=c>>>16;D[a+3|0]=c>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;ia(j,80);l=i}_=j+160|0;return l|0}function fb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+12>>2]=c;F[a+8>>2]=b;F[a+4>>2]=0;E[a>>1]=0;F[a+24>>2]=0;F[a+28>>2]=0;a:{if(c>>>0<=d>>>0){break a}D[a|0]=G[b|0];c=c-d|0;if((c|0)==1){break a}h=b+c|0;c=b+1|0;while(1){d=c;e=c;if(G[c|0]==10){c=d+1|0;b=c;while(1){b:{if((b|0)==(h|0)){g=h;break b}e=D[b|0];g=b+1|0;b=g;if((e|0)<0){continue}}break}c:{if((c|0)==(g|0)){c=0;break c}e=(d^-1)+g|0;i=e&3;f=0;c=0;b=g;if((b-d|0)-2>>>0>=3){j=e&-4;e=0;while(1){c=(G[b-2|0]&127|(c<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;c=c|G[b|0]&127;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(i){while(1){b=b-1|0;c=G[b|0]&127|c<<7;f=f+1|0;if((i|0)!=(f|0)){continue}break}}if(h-g>>>0<c>>>0){break a}}F[a+20>>2]=c;F[a+16>>2]=g;e=c+g|0}if((e|0)==(h|0)){break a}d:{if(G[e|0]!=16){c=e;break d}g=e+1|0;b=g;while(1){e:{if((b|0)==(h|0)){c=h;break e}f=D[b|0];c=b+1|0;b=c;if((f|0)<0){continue}}break}f:{if((c|0)==(g|0)){f=0;break f}j=(e^-1)+c|0;i=j&3;g=0;f=0;b=c;if((b-e|0)-2>>>0>=3){j=j&-4;e=0;while(1){f=(G[b-2|0]&127|(f<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;f=f|G[b|0]&127;e=e+4|0;if((j|0)!=(e|0)){continue}break}}if(!i){break f}while(1){b=b-1|0;f=G[b|0]&127|f<<7;g=g+1|0;if((i|0)!=(g|0)){continue}break}}D[a+1|0]=1;F[a+4>>2]=f}if((c|0)==(h|0)){break a}if(G[c|0]==34){g=c+1|0;b=g;while(1){g:{if((b|0)==(h|0)){e=h;break g}f=D[b|0];e=b+1|0;b=e;if((f|0)<0){continue}}break}h:{if((e|0)==(g|0)){f=0;break h}j=(c^-1)+e|0;i=j&3;g=0;f=0;b=e;if((b-c|0)-2>>>0>=3){j=j&-4;c=0;while(1){f=(G[b-2|0]&127|(f<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;f=f|G[b|0]&127;c=c+4|0;if((j|0)!=(c|0)){continue}break}}if(i){while(1){b=b-1|0;f=G[b|0]&127|f<<7;g=g+1|0;if((i|0)!=(g|0)){continue}break}}if(h-e>>>0<f>>>0){break a}}F[a+28>>2]=f;F[a+24>>2]=e;c=e+f|0}i:{if((c|0)==(h|0)|(c|0)!=(d|0)){break i}j:{switch(G[d|0]&7){case 0:while(1){k:{if((d|0)==(h|0)){b=h;break k}c=D[d|0];b=d+1|0;d=b;if((c|0)<0){continue}}break};while(1){if((b|0)==(h|0)){c=h;break i}d=D[b|0];c=b+1|0;b=c;if((d|0)<0){continue}break};break i;case 2:break j;default:break a}}while(1){l:{if((d|0)==(h|0)){c=h;break l}b=D[d|0];c=d+1|0;d=c;if((b|0)<0){continue}}break}b=c;while(1){m:{if((b|0)==(h|0)){g=h;break m}d=D[b|0];g=b+1|0;b=g;if((d|0)<0){continue}}break}if((c|0)==(g|0)){break i}i=g-c|0;e=i&3;f=0;d=0;b=g;if(b+(c^-1)>>>0>=3){i=i&-4;c=0;while(1){d=(G[b-2|0]&127|(d<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;d=d|G[b|0]&127;c=c+4|0;if((i|0)!=(c|0)){continue}break}}if(e){while(1){b=b-1|0;d=G[b|0]&127|d<<7;f=f+1|0;if((e|0)!=(f|0)){continue}break}}if(h-g>>>0<d>>>0){break a}c=d+g|0}if((c|0)!=(h|0)){continue}break}}}function wa(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0;F[a+80>>2]=0;F[a+84>>2]=0;b=F[a+4>>2];d=b;c=F[a>>2];g=b>>31>>>6|0;h=c+g|0;b=g>>>0>h>>>0?b+1|0:b;f=h;g=f&-67108864;i=c-g|0;F[a>>2]=i;h=d-((c>>>0<g>>>0)+b|0)|0;F[a+4>>2]=h;c=b;b=b>>26;d=(c&67108863)<<6|f>>>26;c=d+F[a+8>>2]|0;b=b+F[a+12>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>7|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-33554432;F[d+8>>2]=c-e;F[d+12>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|f>>>25;c=d+F[a+16>>2]|0;b=b+F[a+20>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>6|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-67108864;F[d+16>>2]=c-e;F[d+20>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|f>>>26;c=d+F[a+24>>2]|0;b=b+F[a+28>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>7|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-33554432;F[d+24>>2]=c-e;F[d+28>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|f>>>25;c=d+F[a+32>>2]|0;b=b+F[a+36>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>6|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-67108864;F[d+32>>2]=c-e;F[d+36>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|f>>>26;c=d+F[a+40>>2]|0;b=b+F[a+44>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>7|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-33554432;F[d+40>>2]=c-e;F[d+44>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|f>>>25;c=d+F[a+48>>2]|0;b=b+F[a+52>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>6|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-67108864;F[d+48>>2]=c-e;F[d+52>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|f>>>26;c=d+F[a+56>>2]|0;b=b+F[a+60>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>7|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-33554432;F[d+56>>2]=c-e;F[d+60>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>25;d=(c&33554431)<<7|f>>>25;c=d+F[a+64>>2]|0;b=b+F[a+68>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>6|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-67108864;F[d+64>>2]=c-e;F[d+68>>2]=g-((c>>>0<e>>>0)+b|0);c=b;b=b>>26;d=(c&67108863)<<6|f>>>26;c=d+F[a+72>>2]|0;b=b+F[a+76>>2]|0;b=c>>>0<d>>>0?b+1|0:b;g=b;e=b>>31>>>7|0;f=e+c|0;b=f>>>0<e>>>0?b+1|0:b;d=a;e=f&-33554432;F[d+72>>2]=c-e;F[d+76>>2]=g-((c>>>0<e>>>0)+b|0);d=F[d+80>>2];c=F[a+84>>2];F[a+80>>2]=0;F[a+84>>2]=0;g=c;c=b;b=b>>25;e=d;d=(c&33554431)<<7|f>>>25;c=e+d|0;b=b+g|0;b=c>>>0<d>>>0?b+1|0:b;d=c;g=c+i|0;c=b;b=b+h|0;h=se(d,c,18,0);c=h+g|0;b=$+(d>>>0>g>>>0?b+1|0:b)|0;b=c>>>0<h>>>0?b+1|0:b;h=b;i=b>>31>>>6|0;d=i+c|0;b=d>>>0<i>>>0?b+1|0:b;i=d&-67108864;F[a>>2]=c-i;F[a+4>>2]=h-((c>>>0<i>>>0)+b|0);h=F[a+12>>2];c=a;a=b;b=b>>26;g=(a&67108863)<<6|d>>>26;a=g+F[c+8>>2]|0;b=b+h|0;F[c+8>>2]=a;F[c+12>>2]=a>>>0<g>>>0?b+1|0:b}function ka(a,b,c,d,e){var f=0,g=0;f=_-384|0;_=f;F[f+128>>2]=0;F[f+132>>2]=0;F[f+136>>2]=0;F[f+140>>2]=0;F[f+144>>2]=0;F[f+148>>2]=0;F[f+152>>2]=0;F[f+156>>2]=0;F[f+160>>2]=0;F[f+164>>2]=0;F[f+168>>2]=0;F[f+172>>2]=0;F[f+112>>2]=0;F[f+116>>2]=0;F[f+120>>2]=0;F[f+124>>2]=0;a:{if(b>>>0>=65){g=f+176|0;F[g+80>>2]=1779033703;F[g+84>>2]=-1150833019;F[g+72>>2]=0;F[g+76>>2]=0;F[g+64>>2]=0;F[g+104>>2]=528734635;F[g+108>>2]=1541459225;F[g+96>>2]=1359893119;F[g+100>>2]=-1694144372;F[g+88>>2]=1013904242;F[g+92>>2]=-1521486534;ra(g,a,b);Ba(g,f+112|0);break a}ja(f+112|0,a,b)}a=F[f+172>>2];F[f+232>>2]=F[f+168>>2];F[f+236>>2]=a;a=F[f+164>>2];F[f+224>>2]=F[f+160>>2];F[f+228>>2]=a;a=F[f+156>>2];F[f+216>>2]=F[f+152>>2];F[f+220>>2]=a;a=F[f+148>>2];F[f+208>>2]=F[f+144>>2];F[f+212>>2]=a;a=F[f+140>>2];F[f+200>>2]=F[f+136>>2];F[f+204>>2]=a;a=F[f+132>>2];F[f+192>>2]=F[f+128>>2];F[f+196>>2]=a;a=F[f+124>>2];F[f+184>>2]=F[f+120>>2];F[f+188>>2]=a;a=F[f+116>>2];F[f+176>>2]=F[f+112>>2];F[f+180>>2]=a;b=0;while(1){a=f+176|0;g=a+b|0;D[g|0]=G[g|0]^54;g=a+(b|1)|0;D[g|0]=G[g|0]^54;g=a+(b|2)|0;D[g|0]=G[g|0]^54;a=a+(b|3)|0;D[a|0]=G[a|0]^54;b=b+4|0;if((b|0)!=64){continue}break}F[f+80>>2]=1779033703;F[f+84>>2]=-1150833019;F[f+72>>2]=0;F[f+76>>2]=0;F[f+64>>2]=0;F[f+104>>2]=528734635;F[f+108>>2]=1541459225;F[f+96>>2]=1359893119;F[f+100>>2]=-1694144372;F[f+88>>2]=1013904242;F[f+92>>2]=-1521486534;a=f+176|0;ra(f,a,64);ia(a,64);ra(f,c,d);a=F[f+172>>2];F[f+344>>2]=F[f+168>>2];F[f+348>>2]=a;a=F[f+164>>2];F[f+336>>2]=F[f+160>>2];F[f+340>>2]=a;a=F[f+156>>2];F[f+328>>2]=F[f+152>>2];F[f+332>>2]=a;a=F[f+148>>2];F[f+320>>2]=F[f+144>>2];F[f+324>>2]=a;a=F[f+140>>2];F[f+312>>2]=F[f+136>>2];F[f+316>>2]=a;a=F[f+132>>2];F[f+304>>2]=F[f+128>>2];F[f+308>>2]=a;a=F[f+124>>2];F[f+296>>2]=F[f+120>>2];F[f+300>>2]=a;a=F[f+116>>2];F[f+288>>2]=F[f+112>>2];F[f+292>>2]=a;b=0;while(1){a=f+288|0;c=a+b|0;D[c|0]=G[c|0]^92;c=a+(b|1)|0;D[c|0]=G[c|0]^92;c=a+(b|2)|0;D[c|0]=G[c|0]^92;a=a+(b|3)|0;D[a|0]=G[a|0]^92;b=b+4|0;if((b|0)!=64){continue}break}Ba(f,f+352|0);a=f+176|0;F[a+80>>2]=1779033703;F[a+84>>2]=-1150833019;F[a+72>>2]=0;F[a+76>>2]=0;F[a+64>>2]=0;F[a+104>>2]=528734635;F[a+108>>2]=1541459225;F[a+96>>2]=1359893119;F[a+100>>2]=-1694144372;F[a+88>>2]=1013904242;F[a+92>>2]=-1521486534;b=f+288|0;ra(a,b,96);Ba(a,e);ia(a,112);ia(b,96);ia(f+112|0,64);ia(f,112);_=f+384|0}function Ia(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;e=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];h=F[b+56>>2];i=F[b+60>>2];f=b- -64|0;j=F[f>>2];k=F[b+68>>2];l=F[b+72>>2];m=F[b+76>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];v=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=m+v;F[a+32>>2]=l+u;F[a+28>>2]=k+t;F[a+24>>2]=j+s;F[a+20>>2]=i+r;F[a+16>>2]=h+q;F[a+12>>2]=g+p;F[a+8>>2]=d+o;F[a+4>>2]=e+n;d=F[b+44>>2];g=F[b+48>>2];h=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];f=F[f>>2];e=F[b+68>>2];k=F[b+72>>2];l=F[b>>2];m=F[b+40>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=k-u;F[a+68>>2]=e-t;e=a- -64|0;F[e>>2]=f-s;F[a+60>>2]=j-r;F[a+56>>2]=i-q;F[a+52>>2]=h-p;F[a+48>>2]=g-o;F[a+44>>2]=d-n;F[a+40>>2]=m-l;ha(a+80|0,a,c);d=a+40|0;ha(d,d,c+40|0);ha(a+120|0,c+120|0,b+120|0);ha(a,b+80|0,c+80|0);b=F[a+44>>2];c=F[a+84>>2];d=F[a+48>>2];g=F[a+88>>2];h=F[a+52>>2];i=F[a+92>>2];f=F[a+56>>2];j=F[a+96>>2];k=F[a+60>>2];l=F[a+100>>2];m=F[e>>2];n=F[a+104>>2];o=F[a+68>>2];p=F[a+108>>2];q=F[a+72>>2];r=F[a+112>>2];u=F[a>>2];v=F[a+4>>2];y=F[a+8>>2];z=F[a+12>>2];A=F[a+16>>2];B=F[a+20>>2];C=F[a+24>>2];D=F[a+28>>2];E=F[a+32>>2];G=F[a+36>>2];s=F[a+40>>2];t=F[a+80>>2];w=F[a+76>>2];x=F[a+116>>2];F[a+76>>2]=w+x;F[a+72>>2]=q+r;F[a+68>>2]=o+p;F[e>>2]=m+n;F[a+60>>2]=k+l;F[a+56>>2]=f+j;F[a+52>>2]=h+i;F[a+48>>2]=d+g;F[a+44>>2]=b+c;F[a+40>>2]=s+t;F[a+36>>2]=x-w;F[a+32>>2]=r-q;F[a+28>>2]=p-o;F[a+24>>2]=n-m;F[a+20>>2]=l-k;F[a+16>>2]=j-f;F[a+12>>2]=i-h;F[a+8>>2]=g-d;F[a+4>>2]=c-b;F[a>>2]=t-s;b=G<<1;c=F[a+156>>2];F[a+156>>2]=b-c;e=E<<1;d=F[a+152>>2];F[a+152>>2]=e-d;g=D<<1;h=F[a+148>>2];F[a+148>>2]=g-h;i=C<<1;f=F[a+144>>2];F[a+144>>2]=i-f;j=B<<1;k=F[a+140>>2];F[a+140>>2]=j-k;l=A<<1;m=F[a+136>>2];F[a+136>>2]=l-m;n=z<<1;o=F[a+132>>2];F[a+132>>2]=n-o;p=y<<1;q=F[a+128>>2];F[a+128>>2]=p-q;r=v<<1;s=F[a+124>>2];F[a+124>>2]=r-s;t=u<<1;u=F[a+120>>2];F[a+120>>2]=t-u;F[a+112>>2]=d+e;F[a+108>>2]=g+h;F[a+104>>2]=i+f;F[a+100>>2]=j+k;F[a+96>>2]=l+m;F[a+92>>2]=n+o;F[a+88>>2]=p+q;F[a+84>>2]=r+s;F[a+80>>2]=t+u;F[a+116>>2]=b+c}function lb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0;e=F[b+44>>2];d=F[b+48>>2];g=F[b+52>>2];h=F[b+56>>2];i=F[b+60>>2];f=b- -64|0;j=F[f>>2];k=F[b+68>>2];l=F[b+72>>2];m=F[b+76>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];v=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=m+v;F[a+32>>2]=l+u;F[a+28>>2]=k+t;F[a+24>>2]=j+s;F[a+20>>2]=i+r;F[a+16>>2]=h+q;F[a+12>>2]=g+p;F[a+8>>2]=d+o;F[a+4>>2]=e+n;d=F[b+44>>2];g=F[b+48>>2];h=F[b+52>>2];i=F[b+56>>2];j=F[b+60>>2];f=F[f>>2];e=F[b+68>>2];k=F[b+72>>2];l=F[b>>2];m=F[b+40>>2];n=F[b+4>>2];o=F[b+8>>2];p=F[b+12>>2];q=F[b+16>>2];r=F[b+20>>2];s=F[b+24>>2];t=F[b+28>>2];u=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=k-u;F[a+68>>2]=e-t;e=a- -64|0;F[e>>2]=f-s;F[a+60>>2]=j-r;F[a+56>>2]=i-q;F[a+52>>2]=h-p;F[a+48>>2]=g-o;F[a+44>>2]=d-n;F[a+40>>2]=m-l;ha(a+80|0,a,c);d=a+40|0;ha(d,d,c+40|0);ha(a+120|0,c+80|0,b+120|0);u=F[b+84>>2];v=F[b+88>>2];y=F[b+92>>2];z=F[b+96>>2];A=F[b+100>>2];B=F[b+104>>2];C=F[b+108>>2];D=F[b+112>>2];E=F[b+116>>2];c=F[a+44>>2];d=F[a+84>>2];g=F[a+48>>2];h=F[a+88>>2];i=F[a+52>>2];f=F[a+92>>2];j=F[a+56>>2];k=F[a+96>>2];l=F[a+60>>2];m=F[a+100>>2];n=F[e>>2];o=F[a+104>>2];p=F[a+68>>2];q=F[a+108>>2];r=F[a+72>>2];s=F[a+112>>2];G=F[b+80>>2];b=F[a+40>>2];t=F[a+80>>2];w=F[a+76>>2];x=F[a+116>>2];F[a+76>>2]=w+x;F[a+72>>2]=r+s;F[a+68>>2]=p+q;F[e>>2]=n+o;F[a+60>>2]=l+m;F[a+56>>2]=j+k;F[a+52>>2]=i+f;F[a+48>>2]=g+h;F[a+44>>2]=c+d;F[a+40>>2]=b+t;F[a+36>>2]=x-w;F[a+32>>2]=s-r;F[a+28>>2]=q-p;F[a+24>>2]=o-n;F[a+20>>2]=m-l;F[a+16>>2]=k-j;F[a+12>>2]=f-i;F[a+8>>2]=h-g;F[a+4>>2]=d-c;F[a>>2]=t-b;b=E<<1;c=F[a+156>>2];F[a+156>>2]=b-c;e=D<<1;d=F[a+152>>2];F[a+152>>2]=e-d;g=C<<1;h=F[a+148>>2];F[a+148>>2]=g-h;i=B<<1;f=F[a+144>>2];F[a+144>>2]=i-f;j=A<<1;k=F[a+140>>2];F[a+140>>2]=j-k;l=z<<1;m=F[a+136>>2];F[a+136>>2]=l-m;n=y<<1;o=F[a+132>>2];F[a+132>>2]=n-o;p=v<<1;q=F[a+128>>2];F[a+128>>2]=p-q;r=u<<1;s=F[a+124>>2];F[a+124>>2]=r-s;t=G<<1;u=F[a+120>>2];F[a+120>>2]=t-u;F[a+112>>2]=d+e;F[a+108>>2]=g+h;F[a+104>>2]=i+f;F[a+100>>2]=j+k;F[a+96>>2]=l+m;F[a+92>>2]=n+o;F[a+88>>2]=p+q;F[a+84>>2]=r+s;F[a+80>>2]=t+u;F[a+116>>2]=b+c}function Nb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c=_-480|0;_=c;while(1){f=c+288|0;e=f+(d<<1)|0;k=G[b+d|0];D[e+1|0]=k>>>4;D[e|0]=k&15;e=d|1;f=f+(e<<1)|0;e=G[b+e|0];D[f+1|0]=e>>>4;D[f|0]=e&15;d=d+2|0;if((d|0)!=32){continue}break}b=0;while(1){d=b;b=(c+288|0)+g|0;f=d+G[b|0]|0;d=(f<<24)- -134217728|0;D[b|0]=f-(d>>24&240);f=G[b+1|0]+(d>>28)|0;d=(f<<24)- -134217728|0;D[b+1|0]=f-(d>>24&240);f=G[b+2|0]+(d>>28)|0;d=(f<<24)- -134217728|0;D[b+2|0]=f-(d>>24&240);b=d>>28;g=g+3|0;if((g|0)!=63){continue}break}D[c+351|0]=G[c+351|0]+b;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0;F[a+44>>2]=0;F[a+48>>2]=0;F[a+40>>2]=1;F[a+52>>2]=0;F[a+56>>2]=0;F[a+60>>2]=0;F[a+64>>2]=0;F[a+68>>2]=0;F[a+72>>2]=0;F[a+76>>2]=0;F[a+80>>2]=1;qa(a+84|0,0,76);k=a+120|0;p=a+80|0;q=a+40|0;b=c+208|0;f=c+168|0;g=c+248|0;d=1;while(1){h=c+8|0;Mb(h,d>>>1|0,D[(c+288|0)+d|0]);e=c+128|0;lb(e,a,h);ha(a,e,g);ha(q,f,b);ha(p,b,g);ha(k,e,f);e=d>>>0<62;d=d+2|0;if(e){continue}break}d=F[a>>2];e=F[a+4>>2];h=F[a+8>>2];i=F[a+12>>2];j=F[a+16>>2];l=F[a+20>>2];m=F[a+24>>2];n=F[a+28>>2];o=F[a+36>>2];F[c+392>>2]=F[a+32>>2];F[c+396>>2]=o;F[c+384>>2]=m;F[c+388>>2]=n;F[c+376>>2]=j;F[c+380>>2]=l;F[c+368>>2]=h;F[c+372>>2]=i;F[c+360>>2]=d;F[c+364>>2]=e;d=F[a+48>>2];e=F[a+52>>2];h=F[a+56>>2];i=F[a+60>>2];j=a- -64|0;l=F[j>>2];j=F[j+4>>2];m=F[a+40>>2];n=F[a+44>>2];o=F[a+76>>2];F[c+432>>2]=F[a+72>>2];F[c+436>>2]=o;F[c+424>>2]=l;F[c+428>>2]=j;F[c+416>>2]=h;F[c+420>>2]=i;F[c+408>>2]=d;F[c+412>>2]=e;F[c+400>>2]=m;F[c+404>>2]=n;d=F[a+88>>2];e=F[a+92>>2];h=F[a+96>>2];i=F[a+100>>2];j=F[a+104>>2];l=F[a+108>>2];m=F[a+80>>2];n=F[a+84>>2];o=F[a+116>>2];F[c+472>>2]=F[a+112>>2];F[c+476>>2]=o;F[c+464>>2]=j;F[c+468>>2]=l;F[c+456>>2]=h;F[c+460>>2]=i;F[c+448>>2]=d;F[c+452>>2]=e;F[c+440>>2]=m;F[c+444>>2]=n;d=c+128|0;e=c+360|0;Sa(d,e);ha(e,d,g);h=c+400|0;ha(h,f,b);i=c+440|0;ha(i,b,g);Sa(d,e);ha(e,d,g);ha(h,f,b);ha(i,b,g);Sa(d,e);ha(e,d,g);ha(h,f,b);ha(i,b,g);Sa(d,e);ha(a,d,g);ha(q,f,b);ha(p,b,g);ha(k,d,f);d=0;while(1){h=c+8|0;Mb(h,d>>>1|0,D[(c+288|0)+d|0]);e=c+128|0;lb(e,a,h);ha(a,e,g);ha(q,f,b);ha(p,b,g);ha(k,e,f);e=d>>>0<62;d=d+2|0;if(e){continue}break}_=c+480|0}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+3216|0;b=Ya(b,c,d,e,n);a:{b:{if((b|0)==-1){break b}m=_-16|0;_=m;f=b+d|0;b=va(d,f,m+12|0);c:{if(!b){d=0;break c}d=0;d:{c=F[m+12>>2];if((c|0)!=1){if((c|0)!=-2147483647){break d}p=1}c=a+3220|0;if(!(!b|(b|0)==(f|0))){D[c|0]=G[b|0]!=0;i=b+1|0}if(!i){break c}b=Oa(i,f,a+3221|0);if(!b){break c}b=Oa(b,f,a+3253|0);if(!b){break c}b=Oa(b,f,a+3285|0);if(!b){break c}o=_-16|0;_=o;b=Ta(b,f,a+12|0,32);e:{if(!b){break e}i=a;g=a+44|0;a=0;j=_-16|0;_=j;b=va(b,f,j+12|0);f:{if(!b){break f}l=g+4|0;k=g+104|0;while(1){c=F[j+12>>2];F[j+12>>2]=c-1;if((b|0)==(f|0)){a=b;break f}if(!c){a=b;break f}c=l;d=k;h=F[g>>2];if((d|0)!=(h|0)){d=h+100|0;F[g>>2]=d;c=h}d=d-100|0;if((d|0)!=(c|0)){while(1){h=d;d=d-100|0;ja(h,d,100);if((c|0)!=(d|0)){continue}break}}b=Ja(b,f,c);if(!b){break f}b=Ta(b,f,c+68|0,32);if(!b){break f}b=va(b,f,c- -64|0);if(b){continue}break}}_=j+16|0;b=a;if(!b){break e}g=i+148|0;a=0;j=_-16|0;_=j;b=va(b,f,j+12|0);g:{if(!b){break g}l=g+276|0;k=g+344|0;while(1){c=F[j+12>>2];F[j+12>>2]=c-1;if((b|0)==(f|0)){a=b;break g}if(!c){a=b;break g}c=l;d=k;h=F[g>>2];if((d|0)!=(h|0)){d=h+68|0;F[g>>2]=d;c=h}d=d-68|0;if((d|0)!=(c|0)){while(1){h=d;d=d-68|0;ja(h,d,68);if((c|0)!=(d|0)){continue}break}}b=Oa(b,f,c);if(!b){break g}b=Ta(b,f,c+36|0,32);if(!b){break g}b=va(b,f,c+32|0);if(b){continue}break}}_=j+16|0;b=a;if(!b){break e}k=i+492|0;a=0;g=_-16|0;_=g;c=va(b,f,g+12|0);h:{if(!c){break h}h=k+2656|0;l=k+2724|0;while(1){b=F[g+12>>2];F[g+12>>2]=b-1;if((c|0)==(f|0)){a=c;break h}if(!b){a=c;break h}b=h;d=l;i=F[k>>2];if((d|0)!=(i|0)){d=i+68|0;F[k>>2]=d;b=i}d=d-68|0;if((d|0)!=(b|0)){while(1){i=d;d=d-68|0;ja(i,d,68);if((b|0)!=(d|0)){continue}break}}c=Oa(c,f,b);if(!c){break h}c=Ta(c,f,b+36|0,32);if(!c){break h}c=va(c,f,b+32|0);if(c){continue}break}}_=g+16|0;b=a;if(!b){break e}if(p){b=va(b,f,o+12|0);if(!b){break e}}q=b}_=o+16|0;d=q;break c}F[a+3216>>2]=9}_=m+16|0;i:{if(!d){if(F[n>>2]){break b}a=10;break i}a=17;if((d|0)==(f|0)){break a}}F[n>>2]=a}e=-1}return e|0}function dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=b;b=F[b>>2]+7&-8;F[d>>2]=b+16;o=a;a=b;k=F[a>>2];b=F[a+4>>2];e=F[a+12>>2];m=e;g=_-32|0;_=g;e=e&2147483647;c=e-1006698496|0;f=e-1140785152|0;d=F[a+8>>2];a:{if((c|0)==(f|0)&d>>>0<d>>>0|c>>>0<f>>>0){a=d;d=m<<4|a>>>28;c=a<<4|b>>>28;e=d;a=b&268435455;b=a;if((a|0)==134217728&(k|0)!=0|a>>>0>134217728){a=e+1073741824|0;b=c+1|0;a=b?a:a+1|0;c=b;break a}a=e+1073741824|0;if(b^134217728|k){break a}b=c&1;e=b+c|0;c=e;a=b>>>0>c>>>0?a+1|0:a;break a}if(!(!d&(e|0)==2147418112?!(b|k):e>>>0<2147418112)){a=d;d=m<<4|a>>>28;c=a<<4|b>>>28;a=d&524287|2146959360;break a}c=0;a=2146435072;if(e>>>0>1140785151){break a}a=0;n=e>>>16|0;if(n>>>0<15249){break a}c=k;a=b;f=m&65535|65536;e=f;l=d;h=d;j=n-15233|0;b:{if(j&64){f=c;d=j+-64|0;c=d&31;if((d&63)>>>0>=32){a=f<<c;h=0}else{a=(1<<c)-1&f>>>32-c|a<<c;h=f<<c}f=a;c=0;a=0;break b}if(!j){break b}d=j;i=d&31;if((d&63)>>>0>=32){d=h<<i;h=0}else{d=(1<<i)-1&h>>>32-i|f<<i;h=h<<i}f=d;p=h;h=c;d=64-j|0;i=d&31;if((d&63)>>>0>=32){d=0;h=a>>>i|0}else{d=a>>>i|0;h=((1<<i)-1&a)<<32-i|h>>>i}h=p|h;f=d|f;i=j&31;if((j&63)>>>0>=32){d=c<<i;c=0}else{d=(1<<i)-1&c>>>32-i|a<<i;c=c<<i}a=d}F[g+16>>2]=c;F[g+20>>2]=a;F[g+24>>2]=h;F[g+28>>2]=f;d=15361-n|0;c:{if(d&64){b=l;a=d+-64|0;f=a&31;if((a&63)>>>0>=32){d=0;k=e>>>f|0}else{d=e>>>f|0;k=((1<<f)-1&e)<<32-f|b>>>f}b=d;l=0;e=0;break c}if(!d){break c}f=l;a=64-d|0;c=a&31;if((a&63)>>>0>=32){a=f<<c;c=0}else{a=(1<<c)-1&f>>>32-c|e<<c;c=f<<c}f=a;h=c;c=k;a=d;j=a&31;if((a&63)>>>0>=32){d=0;b=b>>>j|0}else{d=b>>>j|0;b=((1<<j)-1&b)<<32-j|c>>>j}k=h|b;b=d|f;d=l;f=a&31;if((a&63)>>>0>=32){a=0;l=e>>>f|0}else{a=e>>>f|0;l=((1<<f)-1&e)<<32-f|d>>>f}e=a}F[g>>2]=k;F[g+4>>2]=b;F[g+8>>2]=l;F[g+12>>2]=e;b=F[g+8>>2];e=F[g+4>>2];c=b<<4|e>>>28;a=F[g+12>>2]<<4|b>>>28;e=e&268435455;b=F[g>>2]|(F[g+16>>2]|F[g+24>>2]|(F[g+20>>2]|F[g+28>>2]))!=0;if((e|0)==134217728&(b|0)!=0|e>>>0>134217728){b=c+1|0;a=b?a:a+1|0;c=b;break a}if(e^134217728|b){break a}b=c+(c&1)|0;a=b>>>0<c>>>0?a+1|0:a;c=b}_=g+32|0;x(0,c|0);x(1,m&-2147483648|a);K[o>>3]=z()}function wb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0;F[d+4>>2]=0;F[d+8>>2]=0;D[d|0]=0;F[d+12>>2]=0;F[d+16>>2]=0;c=c- -64|0;if(c>>>0<b>>>0){D[d|0]=G[a|0];b=b-c|0;a:{if((b|0)==1){break a}h=a+b|0;a=a+1|0;while(1){c=a;if(G[a|0]==8){f=c+1|0;b=f;while(1){b:{if((b|0)==(h|0)){a=h;break b}g=D[b|0];a=b+1|0;b=a;if((g|0)<0){continue}}break}c:{if((a|0)==(f|0)){e=0;break c}g=(c^-1)+a|0;i=g&3;f=0;e=0;b=a;if((b-c|0)-2>>>0>=3){k=g&-4;g=0;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;g=g+4|0;if((k|0)!=(g|0)){continue}break}}if(!i){break c}while(1){b=b-1|0;e=G[b|0]&127|e<<7;f=f+1|0;if((i|0)!=(f|0)){continue}break}}F[d+4>>2]=e;k=1}if((a|0)==(h|0)){break a}if(G[a|0]==18){f=a+1|0;b=f;while(1){d:{if((b|0)==(h|0)){g=h;break d}e=D[b|0];g=b+1|0;b=g;if((e|0)<0){continue}}break}e:{if((g|0)==(f|0)){e=0;break e}j=(a^-1)+g|0;i=j&3;f=0;e=0;b=g;if((b-a|0)-2>>>0>=3){j=j&-4;a=0;while(1){e=(G[b-2|0]&127|(e<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;e=e|G[b|0]&127;a=a+4|0;if((j|0)!=(a|0)){continue}break}}if(i){while(1){b=b-1|0;e=G[b|0]&127|e<<7;f=f+1|0;if((i|0)!=(f|0)){continue}break}}if(h-g>>>0<e>>>0){break a}}F[d+16>>2]=e;F[d+12>>2]=g;a=e+g|0}f:{if((a|0)==(h|0)|(a|0)!=(c|0)){break f}g:{switch(G[c|0]&7){case 0:while(1){h:{if((c|0)==(h|0)){b=h;break h}a=D[c|0];b=c+1|0;c=b;if((a|0)<0){continue}}break};while(1){if((b|0)==(h|0)){a=h;break f}c=D[b|0];a=b+1|0;b=a;if((c|0)<0){continue}break};break f;case 2:break g;default:break a}}while(1){i:{if((c|0)==(h|0)){a=h;break i}b=D[c|0];a=c+1|0;c=a;if((b|0)<0){continue}}break}b=a;while(1){j:{if((b|0)==(h|0)){f=h;break j}c=D[b|0];f=b+1|0;b=f;if((c|0)<0){continue}}break}if((a|0)==(f|0)){break f}i=f-a|0;g=i&3;e=0;c=0;b=f;if(b+(a^-1)>>>0>=3){i=i&-4;a=0;while(1){c=(G[b-2|0]&127|(c<<14|(G[b-1|0]&127)<<7))<<14|(G[b-3|0]&127)<<7;b=b-4|0;c=c|G[b|0]&127;a=a+4|0;if((i|0)!=(a|0)){continue}break}}if(g){while(1){b=b-1|0;c=G[b|0]&127|c<<7;e=e+1|0;if((g|0)!=(e|0)){continue}break}}if(h-f>>>0<c>>>0){break a}a=c+f|0}if((a|0)!=(h|0)){continue}break}}F[d+8>>2]=k}}function Ja(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!a){break a}d=a+32|0;if(d>>>0>b>>>0){break a}f=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);g=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=g;D[c+1|0]=g>>>8;D[c+2|0]=g>>>16;D[c+3|0]=g>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);g=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=g;D[c+25|0]=g>>>8;D[c+26|0]=g>>>16;D[c+27|0]=g>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);g=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=g;D[c+17|0]=g>>>8;D[c+18|0]=g>>>16;D[c+19|0]=g>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);g=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=g;D[c+9|0]=g>>>8;D[c+10|0]=g>>>16;D[c+11|0]=g>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;a=a- -64|0;if(a>>>0>b>>>0){break a}e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);b=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[c+32|0]=b;D[c+33|0]=b>>>8;D[c+34|0]=b>>>16;D[c+35|0]=b>>>24;D[c+36|0]=e;D[c+37|0]=e>>>8;D[c+38|0]=e>>>16;D[c+39|0]=e>>>24;e=G[d+28|0]|G[d+29|0]<<8|(G[d+30|0]<<16|G[d+31|0]<<24);b=G[d+24|0]|G[d+25|0]<<8|(G[d+26|0]<<16|G[d+27|0]<<24);D[c+56|0]=b;D[c+57|0]=b>>>8;D[c+58|0]=b>>>16;D[c+59|0]=b>>>24;D[c+60|0]=e;D[c+61|0]=e>>>8;D[c+62|0]=e>>>16;D[c+63|0]=e>>>24;e=G[d+20|0]|G[d+21|0]<<8|(G[d+22|0]<<16|G[d+23|0]<<24);b=G[d+16|0]|G[d+17|0]<<8|(G[d+18|0]<<16|G[d+19|0]<<24);D[c+48|0]=b;D[c+49|0]=b>>>8;D[c+50|0]=b>>>16;D[c+51|0]=b>>>24;D[c+52|0]=e;D[c+53|0]=e>>>8;D[c+54|0]=e>>>16;D[c+55|0]=e>>>24;e=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);b=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[c+40|0]=b;D[c+41|0]=b>>>8;D[c+42|0]=b>>>16;D[c+43|0]=b>>>24;D[c+44|0]=e;D[c+45|0]=e>>>8;D[c+46|0]=e>>>16;D[c+47|0]=e>>>24;e=a}return e}function Na(a,b){var c=0,d=0;c=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+24|0]=d;D[a+25|0]=d>>>8;D[a+26|0]=d>>>16;D[a+27|0]=d>>>24;D[a+28|0]=c;D[a+29|0]=c>>>8;D[a+30|0]=c>>>16;D[a+31|0]=c>>>24;c=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a+16|0]=d;D[a+17|0]=d>>>8;D[a+18|0]=d>>>16;D[a+19|0]=d>>>24;D[a+20|0]=c;D[a+21|0]=c>>>8;D[a+22|0]=c>>>16;D[a+23|0]=c>>>24;c=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;c=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+32|0]=d;D[a+33|0]=d>>>8;D[a+34|0]=d>>>16;D[a+35|0]=d>>>24;D[a+36|0]=c;D[a+37|0]=c>>>8;D[a+38|0]=c>>>16;D[a+39|0]=c>>>24;c=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+40|0]=d;D[a+41|0]=d>>>8;D[a+42|0]=d>>>16;D[a+43|0]=d>>>24;D[a+44|0]=c;D[a+45|0]=c>>>8;D[a+46|0]=c>>>16;D[a+47|0]=c>>>24;c=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[a+48|0]=d;D[a+49|0]=d>>>8;D[a+50|0]=d>>>16;D[a+51|0]=d>>>24;D[a+52|0]=c;D[a+53|0]=c>>>8;D[a+54|0]=c>>>16;D[a+55|0]=c>>>24;c=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);b=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[a+56|0]=b;D[a+57|0]=b>>>8;D[a+58|0]=b>>>16;D[a+59|0]=b>>>24;D[a+60|0]=c;D[a+61|0]=c>>>8;D[a+62|0]=c>>>16;D[a+63|0]=c>>>24;return a- -64|0}function jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0<43){F[a+3216>>2]=2;return-1}c=_-96|0;_=c;d=a+3245|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+24>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+28>>2]=e;d=a+3237|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+16>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+20>>2]=e;d=G[a+3225|0]|G[a+3226|0]<<8|(G[a+3227|0]<<16|G[a+3228|0]<<24);F[c>>2]=G[a+3221|0]|G[a+3222|0]<<8|(G[a+3223|0]<<16|G[a+3224|0]<<24);F[c+4>>2]=d;d=a+3229|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+8>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+12>>2]=e;d=a+3261|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+40>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+44>>2]=e;d=a+3269|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+48>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+52>>2]=e;d=a+3277|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+56>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+60>>2]=e;d=G[a+3257|0]|G[a+3258|0]<<8|(G[a+3259|0]<<16|G[a+3260|0]<<24);F[c+32>>2]=G[a+3253|0]|G[a+3254|0]<<8|(G[a+3255|0]<<16|G[a+3256|0]<<24);F[c+36>>2]=d;d=a+3293|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+72>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+76>>2]=e;d=a+3301|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+80>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+84>>2]=e;d=a+3309|0;e=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);F[c+88>>2]=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);F[c+92>>2]=e;d=G[a+3289|0]|G[a+3290|0]<<8|(G[a+3291|0]<<16|G[a+3292|0]<<24);F[c+64>>2]=G[a+3285|0]|G[a+3286|0]<<8|(G[a+3287|0]<<16|G[a+3288|0]<<24);F[c+68>>2]=d;Kb(c,96,b+11|0);_=c+96|0;ma(b+11|0,32,b);return 43}function Fc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+7516|0;c=Ya(b,c,d,e,l);a:{b:{if((c|0)==-1){break b}f=a;b=0;h=_-16|0;_=h;g=c+d|0;a=va(d,g,h+12|0);c:{if(!a){break c}d:{switch(F[h+12>>2]-1|0){case 0:F[f+7516>>2]=13;break c;default:F[f+7516>>2]=9;break c;case 1:case 2:case 3:break d}}a=rb(a,g,f);if(!a){break c}a=Ja(a,g,f+96|0);if(!a){break c}k=f+160|0;i=_-16|0;_=i;c=va(a,g,i+12|0);e:{if(!c){break e}n=k+7132|0;o=k+7204|0;while(1){a=F[i+12>>2];F[i+12>>2]=a-1;if((c|0)==(g|0)){b=c;break e}if(!a){b=c;break e}a=n;d=o;j=F[k>>2];if((d|0)!=(j|0)){d=j+72|0;F[k>>2]=d;a=j}d=d-72|0;if((d|0)!=(a|0)){while(1){j=d;d=d-72|0;ja(j,d,72);if((a|0)!=(d|0)){continue}break}}d=va(c,g,a);if(!d){break e}c=0;if(!(!d|(d|0)==(g|0))){D[a+4|0]=G[d|0]!=0;c=d+1|0}if(!c){break e}c=Ja(c,g,a+5|0);if(c){continue}break}}_=i+16|0;a=b;if(!a){break c}b=F[h+12>>2];f:{if(b>>>0<=2){D[f+7364|0]=0;break f}g:{if((b|0)==3){a=va(a,g,f+7368|0);if(!a){break c}b=f+7372|0;c=0;if(!(!a|(a|0)==(g|0))){D[b|0]=G[a|0]!=0;c=a+1|0}if(!c){break c}a=Ja(c,g,f+7373|0);if(!a){break c}a=va(a,g,f+7440|0);if(!a){break c}d=f+7444|0;c=0;if(!(!a|(a|0)==(g|0))){D[d|0]=G[a|0]!=0;c=a+1|0}if(!c){break c}a=Ja(c,g,f+7445|0);if(!a){break c}if(G[b|0]){if(!G[f+7444|0]){break g}D[f+7364|0]=2;break f}D[f+7364|0]=0;break f}c=f+7364|0;b=0;if(!a|(a|0)==(g|0)){a=b}else{D[c|0]=G[a|0];a=a+1|0}if(!a){break c}if(!G[c|0]){break f}a=vb(a,g,f+7368|0);if(!a){break c}if(G[c|0]<2){break f}a=vb(a,g,f+7440|0);if(!a){break c}if(G[c|0]<3){break f}F[f+7516>>2]=10;break c}D[f+7364|0]=1}m=va(a,g,f+7512|0)}_=h+16|0;h:{if(!m){if(F[l>>2]){break b}a=10;break h}a=17;if((g|0)==(m|0)){break a}}F[l>>2]=a}e=-1}return e|0}function Ea(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=F[b>>2];d=F[a>>2];p=F[b+4>>2];e=F[a+4>>2];q=F[b+8>>2];f=F[a+8>>2];r=F[b+12>>2];g=F[a+12>>2];s=F[b+16>>2];h=F[a+16>>2];m=F[b+20>>2];i=F[a+20>>2];t=F[b+24>>2];j=F[a+24>>2];u=F[b+28>>2];k=F[a+28>>2];v=F[b+32>>2];l=F[a+32>>2];c=0-c|0;n=F[a+36>>2];F[a+36>>2]=c&(n^F[b+36>>2])^n;F[a+32>>2]=l^c&(l^v);F[a+28>>2]=k^c&(k^u);F[a+24>>2]=j^c&(j^t);F[a+20>>2]=i^c&(i^m);F[a+16>>2]=h^c&(h^s);F[a+12>>2]=g^c&(g^r);F[a+8>>2]=f^c&(f^q);F[a+4>>2]=e^c&(e^p);F[a>>2]=d^c&(d^o);d=F[a+44>>2];o=F[b+44>>2];e=F[a+48>>2];p=F[b+48>>2];f=F[a+52>>2];q=F[b+52>>2];g=F[a+56>>2];r=F[b+56>>2];h=F[a+60>>2];s=F[b+60>>2];m=a- -64|0;i=F[m>>2];t=F[b- -64>>2];j=F[a+68>>2];u=F[b+68>>2];k=F[a+72>>2];v=F[b+72>>2];l=F[a+40>>2];n=F[b+40>>2];w=F[a+76>>2];F[a+76>>2]=w^c&(F[b+76>>2]^w);F[a+72>>2]=k^c&(k^v);F[a+68>>2]=j^c&(j^u);F[m>>2]=i^c&(i^t);F[a+60>>2]=h^c&(h^s);F[a+56>>2]=g^c&(g^r);F[a+52>>2]=f^c&(f^q);F[a+48>>2]=e^c&(e^p);F[a+44>>2]=d^c&(d^o);F[a+40>>2]=l^c&(l^n);d=F[a+84>>2];o=F[b+84>>2];e=F[a+88>>2];p=F[b+88>>2];f=F[a+92>>2];q=F[b+92>>2];g=F[a+96>>2];r=F[b+96>>2];h=F[a+100>>2];s=F[b+100>>2];i=F[a+104>>2];m=F[b+104>>2];j=F[a+108>>2];t=F[b+108>>2];k=F[a+112>>2];u=F[b+112>>2];l=F[a+80>>2];v=F[b+80>>2];n=F[b+116>>2];b=F[a+116>>2];F[a+116>>2]=c&(n^b)^b;F[a+112>>2]=k^c&(k^u);F[a+108>>2]=j^c&(j^t);F[a+104>>2]=i^c&(i^m);F[a+100>>2]=h^c&(h^s);F[a+96>>2]=g^c&(g^r);F[a+92>>2]=f^c&(f^q);F[a+88>>2]=e^c&(e^p);F[a+84>>2]=d^c&(d^o);F[a+80>>2]=l^c&(l^v)}function nb(a,b){var c=0,d=0,e=0;c=_-192|0;_=c;e=c+144|0;fa(e,b);d=c+96|0;fa(d,e);fa(d,d);ha(d,b,d);ha(e,e,d);b=c+48|0;fa(b,e);ha(d,d,b);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(d,b,d);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(b,b,d);fa(c,b);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);fa(c,c);ha(b,c,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(d,b,d);fa(b,d);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);ha(b,b,d);fa(c,b);b=1;while(1){fa(c,c);b=b+1|0;if((b|0)!=100){continue}break}b=c+48|0;ha(b,c,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);fa(b,b);d=c+96|0;ha(d,b,d);fa(d,d);fa(d,d);fa(d,d);fa(d,d);fa(d,d);ha(a,d,c+144|0);_=c+192|0}function kb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=_-336|0;_=f;i=b+32|0;g=32;c=_-208|0;_=c;d=c- -64|0;F[d>>2]=327033209;F[d+4>>2]=1541459225;F[c+56>>2]=-79577749;F[c+60>>2]=528734635;F[c+48>>2]=725511199;F[c+52>>2]=-1694144372;F[c+40>>2]=-1377402159;F[c+44>>2]=1359893119;F[c+32>>2]=1595750129;F[c+36>>2]=-1521486534;F[c+24>>2]=-23791573;F[c+28>>2]=1013904242;F[c+16>>2]=-2067093701;F[c+20>>2]=-1150833019;F[c+8>>2]=-205731576;F[c+12>>2]=1779033703;F[c>>2]=0;F[c+4>>2]=0;F[c+72>>2]=0;if(a){j=c+76|0;while(1){a:{if(!(g>>>0<128|e)){ua(c,a);d=F[c+4>>2];e=F[c>>2]+1024|0;d=e>>>0<1024?d+1|0:d;F[c>>2]=e;F[c+4>>2]=d;g=g-128|0;a=a+128|0;break a}d=128-e|0;h=d>>>0>g>>>0?g:d;b:{if(!h){break b}m=h&3;k=0;c:{if(h-1>>>0<3){d=0;break c}n=h&-4;d=0;l=0;while(1){D[(d+e|0)+j|0]=G[a+d|0];e=d|1;D[(e+F[c+72>>2]|0)+j|0]=G[a+e|0];e=d|2;D[(e+F[c+72>>2]|0)+j|0]=G[a+e|0];e=d|3;D[(e+F[c+72>>2]|0)+j|0]=G[a+e|0];d=d+4|0;e=F[c+72>>2];l=l+4|0;if((n|0)!=(l|0)){continue}break}}if(!m){break b}while(1){D[(c+(d+e|0)|0)+76|0]=G[a+d|0];d=d+1|0;e=F[c+72>>2];k=k+1|0;if((k|0)!=(m|0)){continue}break}}g=g-h|0;a=a+h|0;d=e+h|0;F[c+72>>2]=d;if((d|0)!=128){break a}ua(c,j);F[c+72>>2]=0;d=F[c+4>>2];e=F[c>>2]+1024|0;d=e>>>0<1024?d+1|0:d;F[c>>2]=e;F[c+4>>2]=d}if(g){e=F[c+72>>2];continue}break}db(c,i)}_=c+208|0;D[i|0]=G[i|0]&248;D[i+31|0]=G[i+31|0]&63|64;Nb(f,i);a=f+256|0;nb(a,f+80|0);c=f+208|0;ha(c,f,a);d=f+160|0;ha(d,f+40|0,a);Ga(b,d);Ga(f+304|0,c);D[b+31|0]=G[b+31|0]^G[f+304|0]<<7;_=f+336|0}function Mb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=_-128|0;_=d;F[a+4>>2]=0;F[a+8>>2]=0;F[a>>2]=1;F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+40>>2]=1;qa(a+44|0,0,76);e=L(b,960);f=c-((c>>7&c)<<1)|0;b=0-!((f^1)&255)|0;Ea(a,e+6640|0,b>>>31|0);b=0-!((f^2)&255)|0;Ea(a,e+6760|0,b>>>31|0);b=0-!((f^3)&255)|0;Ea(a,e+6880|0,b>>>31|0);b=0-!((f^4)&255)|0;Ea(a,e+7e3|0,b>>>31|0);b=0-!((f^5)&255)|0;Ea(a,e+7120|0,b>>>31|0);b=0-!((f^6)&255)|0;Ea(a,e+7240|0,b>>>31|0);b=0-!((f^7)&255)|0;Ea(a,e+7360|0,b>>>31|0);b=0-!((f^8)&255)|0;Ea(a,e+7480|0,b>>>31|0);g=F[a+48>>2];h=F[a+52>>2];i=F[a+56>>2];j=F[a+60>>2];b=a- -64|0;k=F[b>>2];e=F[b+4>>2];f=F[a+40>>2];l=F[a+44>>2];b=F[a+76>>2];F[d+40>>2]=F[a+72>>2];F[d+44>>2]=b;F[d+32>>2]=k;F[d+36>>2]=e;F[d+24>>2]=i;F[d+28>>2]=j;F[d+16>>2]=g;F[d+20>>2]=h;F[d+8>>2]=f;F[d+12>>2]=l;g=F[a>>2];h=F[a+4>>2];i=F[a+8>>2];j=F[a+12>>2];k=F[a+16>>2];e=F[a+20>>2];f=F[a+24>>2];l=F[a+28>>2];b=F[a+36>>2];F[d+80>>2]=F[a+32>>2];F[d+84>>2]=b;F[d+72>>2]=f;F[d+76>>2]=l;b=d- -64|0;F[b>>2]=k;F[b+4>>2]=e;F[d+56>>2]=i;F[d+60>>2]=j;F[d+48>>2]=g;F[d+52>>2]=h;g=F[a+116>>2];h=F[a+84>>2];i=F[a+88>>2];j=F[a+92>>2];k=F[a+96>>2];e=F[a+100>>2];f=F[a+104>>2];l=F[a+108>>2];b=F[a+80>>2];F[d+120>>2]=0-F[a+112>>2];F[d+116>>2]=0-l;F[d+112>>2]=0-f;F[d+108>>2]=0-e;F[d+104>>2]=0-k;F[d+100>>2]=0-j;F[d+96>>2]=0-i;F[d+92>>2]=0-h;F[d+124>>2]=0-g;F[d+88>>2]=0-b;Ea(a,d+8|0,(c&128)>>>7|0);_=d+128|0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=_-240|0;_=d;e=oa(c);a:{if((e|0)!=229){c=-1;if((e|0)==-1){F[a+300>>2]=7;break a}F[a+300>>2]=11;break a}Pa(b,c,d);b:{if(G[d|0]==2){c=d|5;b=G[d+1|0]|G[d+2|0]<<8|(G[d+3|0]<<16|G[d+4|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);$a(a,c,b);$a(a+132|0,c,b);b=G[d+161|0]|G[d+162|0]<<8|(G[d+163|0]<<16|G[d+164|0]<<24);c=G[d+157|0]|G[d+158|0]<<8|(G[d+159|0]<<16|G[d+160|0]<<24);D[a+288|0]=c;D[a+289|0]=c>>>8;D[a+290|0]=c>>>16;D[a+291|0]=c>>>24;D[a+292|0]=b;D[a+293|0]=b>>>8;D[a+294|0]=b>>>16;D[a+295|0]=b>>>24;b=G[d+153|0]|G[d+154|0]<<8|(G[d+155|0]<<16|G[d+156|0]<<24);c=G[d+149|0]|G[d+150|0]<<8|(G[d+151|0]<<16|G[d+152|0]<<24);D[a+280|0]=c;D[a+281|0]=c>>>8;D[a+282|0]=c>>>16;D[a+283|0]=c>>>24;D[a+284|0]=b;D[a+285|0]=b>>>8;D[a+286|0]=b>>>16;D[a+287|0]=b>>>24;b=G[d+145|0]|G[d+146|0]<<8|(G[d+147|0]<<16|G[d+148|0]<<24);c=G[d+141|0]|G[d+142|0]<<8|(G[d+143|0]<<16|G[d+144|0]<<24);D[a+272|0]=c;D[a+273|0]=c>>>8;D[a+274|0]=c>>>16;D[a+275|0]=c>>>24;D[a+276|0]=b;D[a+277|0]=b>>>8;D[a+278|0]=b>>>16;D[a+279|0]=b>>>24;b=G[d+137|0]|G[d+138|0]<<8|(G[d+139|0]<<16|G[d+140|0]<<24);c=G[d+133|0]|G[d+134|0]<<8|(G[d+135|0]<<16|G[d+136|0]<<24);D[a+264|0]=c;D[a+265|0]=c>>>8;D[a+266|0]=c>>>16;D[a+267|0]=c>>>24;D[a+268|0]=b;D[a+269|0]=b>>>8;D[a+270|0]=b>>>16;D[a+271|0]=b>>>24;if(!hb(a+264|0,d,165,d+165|0)){F[a+300>>2]=14;c=-1;break b}F[a+296>>2]=1;c=0;break b}F[a+300>>2]=11;c=-1}ia(d,229)}_=d+240|0;return c|0}function Fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=_-144|0;_=f;a:{if(c>>>0<220){F[a+300>>2]=2;a=-1;break a}b:{c:{if((d-F[a+260>>2]|0)>=0){c=a+132|0;cb(c,d);ja(f+8|0,c,132);break c}if((d-F[a+128>>2]|0)<0){break b}c=f+8|0;ja(c,a,132);cb(c,d)}c=b+55|0;D[c+1|0]=d>>>24;D[c|0]=1;D[c+4|0]=d;D[c+3|0]=d>>>8;D[c+2|0]=d>>>16;ja(c+5|0,f+8|0,128);d=G[a+292|0]|G[a+293|0]<<8|(G[a+294|0]<<16|G[a+295|0]<<24);e=G[a+288|0]|G[a+289|0]<<8|(G[a+290|0]<<16|G[a+291|0]<<24);D[c+157|0]=e;D[c+158|0]=e>>>8;D[c+159|0]=e>>>16;D[c+160|0]=e>>>24;D[c+161|0]=d;D[c+162|0]=d>>>8;D[c+163|0]=d>>>16;D[c+164|0]=d>>>24;d=G[a+284|0]|G[a+285|0]<<8|(G[a+286|0]<<16|G[a+287|0]<<24);e=G[a+280|0]|G[a+281|0]<<8|(G[a+282|0]<<16|G[a+283|0]<<24);D[c+149|0]=e;D[c+150|0]=e>>>8;D[c+151|0]=e>>>16;D[c+152|0]=e>>>24;D[c+153|0]=d;D[c+154|0]=d>>>8;D[c+155|0]=d>>>16;D[c+156|0]=d>>>24;d=G[a+276|0]|G[a+277|0]<<8|(G[a+278|0]<<16|G[a+279|0]<<24);e=G[a+272|0]|G[a+273|0]<<8|(G[a+274|0]<<16|G[a+275|0]<<24);D[c+141|0]=e;D[c+142|0]=e>>>8;D[c+143|0]=e>>>16;D[c+144|0]=e>>>24;D[c+145|0]=d;D[c+146|0]=d>>>8;D[c+147|0]=d>>>16;D[c+148|0]=d>>>24;d=G[a+268|0]|G[a+269|0]<<8|(G[a+270|0]<<16|G[a+271|0]<<24);a=G[a+264|0]|G[a+265|0]<<8|(G[a+266|0]<<16|G[a+267|0]<<24);D[c+133|0]=a;D[c+134|0]=a>>>8;D[c+135|0]=a>>>16;D[c+136|0]=a>>>24;D[c+137|0]=d;D[c+138|0]=d>>>8;D[c+139|0]=d>>>16;D[c+140|0]=d>>>24;a=Ca(c,165,b);break a}F[a+300>>2]=12;a=-1}_=f+144|0;return a|0}function Od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=_-176|0;_=d;e=oa(c);a:{if((e|0)!=165){c=-1;if((e|0)==-1){F[a+300>>2]=7;break a}F[a+300>>2]=11;break a}Pa(b,c,d);b:{if(G[d|0]==1){c=d|5;b=G[d+1|0]|G[d+2|0]<<8|(G[d+3|0]<<16|G[d+4|0]<<24);b=b<<24|b<<8&16711680|(b>>>8&65280|b>>>24);$a(a,c,b);$a(a+132|0,c,b);b=G[d+161|0]|G[d+162|0]<<8|(G[d+163|0]<<16|G[d+164|0]<<24);c=G[d+157|0]|G[d+158|0]<<8|(G[d+159|0]<<16|G[d+160|0]<<24);D[a+288|0]=c;D[a+289|0]=c>>>8;D[a+290|0]=c>>>16;D[a+291|0]=c>>>24;D[a+292|0]=b;D[a+293|0]=b>>>8;D[a+294|0]=b>>>16;D[a+295|0]=b>>>24;b=G[d+153|0]|G[d+154|0]<<8|(G[d+155|0]<<16|G[d+156|0]<<24);c=G[d+149|0]|G[d+150|0]<<8|(G[d+151|0]<<16|G[d+152|0]<<24);D[a+280|0]=c;D[a+281|0]=c>>>8;D[a+282|0]=c>>>16;D[a+283|0]=c>>>24;D[a+284|0]=b;D[a+285|0]=b>>>8;D[a+286|0]=b>>>16;D[a+287|0]=b>>>24;b=G[d+145|0]|G[d+146|0]<<8|(G[d+147|0]<<16|G[d+148|0]<<24);c=G[d+141|0]|G[d+142|0]<<8|(G[d+143|0]<<16|G[d+144|0]<<24);D[a+272|0]=c;D[a+273|0]=c>>>8;D[a+274|0]=c>>>16;D[a+275|0]=c>>>24;D[a+276|0]=b;D[a+277|0]=b>>>8;D[a+278|0]=b>>>16;D[a+279|0]=b>>>24;b=G[d+137|0]|G[d+138|0]<<8|(G[d+139|0]<<16|G[d+140|0]<<24);c=G[d+133|0]|G[d+134|0]<<8|(G[d+135|0]<<16|G[d+136|0]<<24);D[a+264|0]=c;D[a+265|0]=c>>>8;D[a+266|0]=c>>>16;D[a+267|0]=c>>>24;D[a+268|0]=b;D[a+269|0]=b>>>8;D[a+270|0]=b>>>16;D[a+271|0]=b>>>24;c=0;break b}F[a+300>>2]=11;c=-1}ia(d,165)}_=d+176|0;return c|0}function Ba(a,b){var c=0,d=0,e=0;c=F[a+64>>2];D[c+a|0]=128;d=c+1|0;a:{if(c>>>0<=55){if(d>>>0>55){break a}qa(a+d|0,0,55-c|0);break a}if(d>>>0<=63){qa(a+d|0,0,63-c|0)}gb(a,a);F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0}c=F[a+76>>2];d=F[a+64>>2]<<3;e=d+F[a+72>>2]|0;c=e>>>0<d>>>0?c+1|0:c;d=e;F[a+72>>2]=d;F[a+76>>2]=c;D[a+63|0]=d;D[a+62|0]=(c&255)<<24|d>>>8;D[a+61|0]=(c&65535)<<16|d>>>16;D[a+60|0]=(c&16777215)<<8|d>>>24;D[a+59|0]=c;D[a+58|0]=c>>>8;D[a+57|0]=c>>>16;D[a+56|0]=c>>>24;gb(a,a);D[b|0]=G[a+83|0];D[b+4|0]=G[a+87|0];D[b+8|0]=G[a+91|0];D[b+12|0]=G[a+95|0];D[b+16|0]=G[a+99|0];D[b+20|0]=G[a+103|0];D[b+24|0]=G[a+107|0];D[b+28|0]=G[a+111|0];D[b+1|0]=H[a+82>>1];D[b+5|0]=H[a+86>>1];D[b+9|0]=H[a+90>>1];D[b+13|0]=H[a+94>>1];D[b+17|0]=H[a+98>>1];D[b+21|0]=H[a+102>>1];D[b+25|0]=H[a+106>>1];D[b+29|0]=H[a+110>>1];D[b+2|0]=F[a+80>>2]>>>8;D[b+6|0]=F[a+84>>2]>>>8;D[b+10|0]=F[a+88>>2]>>>8;D[b+14|0]=F[a+92>>2]>>>8;D[b+18|0]=F[a+96>>2]>>>8;D[b+22|0]=F[a+100>>2]>>>8;D[b+26|0]=F[a+104>>2]>>>8;D[b+30|0]=F[a+108>>2]>>>8;D[b+3|0]=F[a+80>>2];D[b+7|0]=F[a+84>>2];D[b+11|0]=F[a+88>>2];D[b+15|0]=F[a+92>>2];D[b+19|0]=F[a+96>>2];D[b+23|0]=F[a+100>>2];D[b+27|0]=F[a+104>>2];D[b+31|0]=F[a+108>>2]}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if(c>>>0<306){F[a+228>>2]=2;return-1}c=b+77|0;D[c|0]=2;d=F[a+128>>2];d=d<<24|d<<8&16711680|(d>>>8&65280|d>>>24);D[c+1|0]=d;D[c+2|0]=d>>>8;D[c+3|0]=d>>>16;D[c+4|0]=d>>>24;ja(c+5|0,a,128);d=G[a+160|0]|G[a+161|0]<<8|(G[a+162|0]<<16|G[a+163|0]<<24);e=G[a+156|0]|G[a+157|0]<<8|(G[a+158|0]<<16|G[a+159|0]<<24);D[c+157|0]=e;D[c+158|0]=e>>>8;D[c+159|0]=e>>>16;D[c+160|0]=e>>>24;D[c+161|0]=d;D[c+162|0]=d>>>8;D[c+163|0]=d>>>16;D[c+164|0]=d>>>24;d=G[a+152|0]|G[a+153|0]<<8|(G[a+154|0]<<16|G[a+155|0]<<24);e=G[a+148|0]|G[a+149|0]<<8|(G[a+150|0]<<16|G[a+151|0]<<24);D[c+149|0]=e;D[c+150|0]=e>>>8;D[c+151|0]=e>>>16;D[c+152|0]=e>>>24;D[c+153|0]=d;D[c+154|0]=d>>>8;D[c+155|0]=d>>>16;D[c+156|0]=d>>>24;d=G[a+144|0]|G[a+145|0]<<8|(G[a+146|0]<<16|G[a+147|0]<<24);e=G[a+140|0]|G[a+141|0]<<8|(G[a+142|0]<<16|G[a+143|0]<<24);D[c+141|0]=e;D[c+142|0]=e>>>8;D[c+143|0]=e>>>16;D[c+144|0]=e>>>24;D[c+145|0]=d;D[c+146|0]=d>>>8;D[c+147|0]=d>>>16;D[c+148|0]=d>>>24;d=G[a+136|0]|G[a+137|0]<<8|(G[a+138|0]<<16|G[a+139|0]<<24);e=G[a+132|0]|G[a+133|0]<<8|(G[a+134|0]<<16|G[a+135|0]<<24);D[c+133|0]=e;D[c+134|0]=e>>>8;D[c+135|0]=e>>>16;D[c+136|0]=e>>>24;D[c+137|0]=d;D[c+138|0]=d>>>8;D[c+139|0]=d>>>16;D[c+140|0]=d>>>24;bb(a+132|0,c,165,c+165|0);return Ca(c,229,b)|0}function xa(a){var b=0,c=0,d=0,e=0;b=L(G[a+12|0],6);c=L(G[a+8|0],6);d=L(G[a+4|0],6);e=L(G[a|0],6);D[a+12|0]=G[b+3653|0]^(G[c+3650|0]^(G[d+3652|0]^G[e+3651|0]));D[a+8|0]=G[b+3651|0]^(G[c+3653|0]^(G[d+3650|0]^G[e+3652|0]));D[a+4|0]=G[b+3652|0]^(G[c+3651|0]^(G[d+3653|0]^G[e+3650|0]));D[a|0]=G[b+3650|0]^(G[c+3652|0]^(G[d+3651|0]^G[e+3653|0]));b=L(G[a+13|0],6);c=L(G[a+9|0],6);d=L(G[a+5|0],6);e=L(G[a+1|0],6);D[a+1|0]=G[b+3650|0]^(G[c+3652|0]^(G[d+3651|0]^G[e+3653|0]));D[a+5|0]=G[b+3652|0]^(G[c+3651|0]^(G[d+3653|0]^G[e+3650|0]));D[a+9|0]=G[b+3651|0]^(G[c+3653|0]^(G[d+3650|0]^G[e+3652|0]));D[a+13|0]=G[b+3653|0]^(G[c+3650|0]^(G[d+3652|0]^G[e+3651|0]));b=L(G[a+14|0],6);c=L(G[a+10|0],6);d=L(G[a+6|0],6);e=L(G[a+2|0],6);D[a+2|0]=G[b+3650|0]^(G[c+3652|0]^(G[d+3651|0]^G[e+3653|0]));D[a+14|0]=G[b+3653|0]^(G[c+3650|0]^(G[d+3652|0]^G[e+3651|0]));D[a+10|0]=G[b+3651|0]^(G[c+3653|0]^(G[d+3650|0]^G[e+3652|0]));D[a+6|0]=G[b+3652|0]^(G[c+3651|0]^(G[d+3653|0]^G[e+3650|0]));b=L(G[a+15|0],6);c=L(G[a+11|0],6);d=L(G[a+7|0],6);e=L(G[a+3|0],6);D[a+15|0]=G[b+3653|0]^(G[c+3650|0]^(G[d+3652|0]^G[e+3651|0]));D[a+11|0]=G[b+3651|0]^(G[c+3653|0]^(G[d+3650|0]^G[e+3652|0]));D[a+7|0]=G[b+3652|0]^(G[c+3651|0]^(G[d+3653|0]^G[e+3650|0]));D[a+3|0]=G[b+3650|0]^(G[c+3652|0]^(G[d+3651|0]^G[e+3653|0]))}function Hb(a,b){var c=0,d=0;c=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[b>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);F[b+4>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);F[b+8>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);F[b+12>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);F[b+16>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);F[b+20>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);c=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);F[b+24>>2]=c<<24|c<<8&16711680|(c>>>8&65280|c>>>24);a=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);F[b+28>>2]=a<<24|a<<8&16711680|(a>>>8&65280|a>>>24);c=F[b+28>>2];a=8;while(1){d=a&7;a:{if(!d){d=F[(a-1>>>3<<2)+3328>>2];c=ue(c,8);c=d^(G[(c>>>8&255)+3072|0]<<8|G[(c&255)+3072|0]|G[(c>>>16&255)+3072|0]<<16|G[(c>>>24|0)+3072|0]<<24);break a}if((d|0)!=4){break a}c=G[(c&255)+3072|0]|G[(c>>>8&255)+3072|0]<<8|G[(c>>>16&255)+3072|0]<<16|G[(c>>>24|0)+3072|0]<<24}c=F[(a-8<<2)+b>>2]^c;F[(a<<2)+b>>2]=c;a=a+1|0;if((a|0)!=60){continue}break}}function Ha(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=F[b+44>>2];e=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];c=b- -64|0;i=F[c>>2];j=F[b+68>>2];k=F[b+72>>2];l=F[b+76>>2];m=F[b+4>>2];n=F[b+8>>2];o=F[b+12>>2];p=F[b+16>>2];q=F[b+20>>2];r=F[b+24>>2];s=F[b+28>>2];t=F[b+32>>2];u=F[b+36>>2];F[a>>2]=F[b>>2]+F[b+40>>2];F[a+36>>2]=l+u;F[a+32>>2]=k+t;F[a+28>>2]=j+s;F[a+24>>2]=i+r;F[a+20>>2]=h+q;F[a+16>>2]=g+p;F[a+12>>2]=f+o;F[a+8>>2]=e+n;F[a+4>>2]=d+m;d=F[b+44>>2];e=F[b+48>>2];f=F[b+52>>2];g=F[b+56>>2];h=F[b+60>>2];c=F[c>>2];i=F[b+68>>2];j=F[b+72>>2];k=F[b>>2];l=F[b+40>>2];m=F[b+4>>2];n=F[b+8>>2];o=F[b+12>>2];p=F[b+16>>2];q=F[b+20>>2];r=F[b+24>>2];s=F[b+28>>2];t=F[b+32>>2];F[a+76>>2]=F[b+76>>2]-F[b+36>>2];F[a+72>>2]=j-t;F[a+68>>2]=i-s;F[a- -64>>2]=c-r;F[a+60>>2]=h-q;F[a+56>>2]=g-p;F[a+52>>2]=f-o;F[a+48>>2]=e-n;F[a+44>>2]=d-m;F[a+40>>2]=l-k;d=F[b+88>>2];e=F[b+92>>2];f=F[b+96>>2];g=F[b+100>>2];h=F[b+104>>2];c=F[b+108>>2];i=F[b+80>>2];j=F[b+84>>2];k=F[b+116>>2];F[a+112>>2]=F[b+112>>2];F[a+116>>2]=k;F[a+104>>2]=h;F[a+108>>2]=c;F[a+96>>2]=f;F[a+100>>2]=g;F[a+88>>2]=d;F[a+92>>2]=e;F[a+80>>2]=i;F[a+84>>2]=j;ha(a+120|0,b+120|0,2032)}function cb(a,b){var c=0,d=0;a:{b:{c:{d:{d=F[a+128>>2];c=(b>>>24)-(d>>>24)&255;switch(c|0){case 1:break b;case 0:break d;default:break c}}c=256;if(b>>>0>=d>>>0){break a}}while(1){ka(a,32,37364,1,a);c=c-1|0;if(c>>>0>1){continue}break}}ka(a,32,37367,1,a+96|0);ka(a,32,37366,1,a- -64|0);ka(a,32,37365,1,a+32|0);ka(a,32,37364,1,a);d=b&-16777216;F[a+128>>2]=d}e:{f:{g:{h:{c=(b>>>16)-(d>>>16)&255;switch(c|0){case 1:break f;case 0:break h;default:break g}}c=256;if(b>>>0>=d>>>0){break e}}d=a+32|0;while(1){ka(d,32,37365,1,d);c=c-1|0;if(c>>>0>1){continue}break}}c=a+32|0;ka(c,32,37367,1,a+96|0);ka(c,32,37366,1,a- -64|0);ka(c,32,37365,1,c);d=b&-65536;F[a+128>>2]=d}i:{j:{k:{l:{c=(b>>>8)-(d>>>8)&255;switch(c|0){case 1:break j;case 0:break l;default:break k}}c=256;if(b>>>0>=d>>>0){break i}}d=a- -64|0;while(1){ka(d,32,37366,1,d);c=c-1|0;if(c>>>0>1){continue}break}}c=a- -64|0;ka(c,32,37367,1,a+96|0);ka(c,32,37366,1,c);d=b&-256;F[a+128>>2]=d}m:{n:{o:{p:{c=b-d&255;switch(c|0){case 1:break n;case 0:break p;default:break o}}c=256;if(b>>>0>=d>>>0){break m}}d=a+96|0;while(1){ka(d,32,37367,1,d);c=c-1|0;if(c>>>0>1){continue}break}}c=a+96|0;ka(c,32,37367,1,c);F[a+128>>2]=b}}function xc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=_-16|0;_=g;a:{b:{e=a+164|0;h=F[a+160>>2];if((e|0)==(h|0)){break b}i=1;d=e;while(1){if(G[d+4|0]){d=d+72|0;if((h|0)!=(d|0)){continue}d=16;if(!i){break a}break b}f=f+55|0;i=0;d=d+72|0;if((h|0)!=(d|0)){continue}break}d=16;break a}d=17}c:{if(d+f>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break c}f=123;D[b|0]=123;d=G[1495]|G[1496]<<8|(G[1497]<<16|G[1498]<<24);c=G[1491]|G[1492]<<8|(G[1493]<<16|G[1494]<<24);D[b+6|0]=c;D[b+7|0]=c>>>8;D[b+8|0]=c>>>16;D[b+9|0]=c>>>24;D[b+10|0]=d;D[b+11|0]=d>>>8;D[b+12|0]=d>>>16;D[b+13|0]=d>>>24;c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);d=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;d=b+14|0;c=F[a+160>>2];d:{if((c|0)!=(e|0)){while(1){if(!G[e+4|0]){D[d+1|0]=34;D[d|0]=f;a=g+12|0;la(a,F[e>>2]);a=ma(a,4,d+2|0);D[a+2|0]=34;D[a|0]=34;D[a+1|0]=58;a=ma(e+5|0,32,a+3|0);D[a|0]=34;f=44;d=a+1|0}e=e+72|0;if((c|0)!=(e|0)){continue}break}if((f&255)==44){break d}}D[d|0]=f;d=d+1|0}D[d|0]=125;D[d+1|0]=125;a=(d-b|0)+2|0}_=g+16|0;return a|0}function Md(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=a+264|0;g=a+132|0;if(Da(301)>>>0>e>>>0){F[a+300>>2]=2;return-1}e=jb(g,jb(a,la(_a(d,301),2)));h=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);g=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[e|0]=g;D[e+1|0]=g>>>8;D[e+2|0]=g>>>16;D[e+3|0]=g>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;h=G[f+28|0]|G[f+29|0]<<8|(G[f+30|0]<<16|G[f+31|0]<<24);g=G[f+24|0]|G[f+25|0]<<8|(G[f+26|0]<<16|G[f+27|0]<<24);D[e+24|0]=g;D[e+25|0]=g>>>8;D[e+26|0]=g>>>16;D[e+27|0]=g>>>24;D[e+28|0]=h;D[e+29|0]=h>>>8;D[e+30|0]=h>>>16;D[e+31|0]=h>>>24;h=G[f+20|0]|G[f+21|0]<<8|(G[f+22|0]<<16|G[f+23|0]<<24);g=G[f+16|0]|G[f+17|0]<<8|(G[f+18|0]<<16|G[f+19|0]<<24);D[e+16|0]=g;D[e+17|0]=g>>>8;D[e+18|0]=g>>>16;D[e+19|0]=g>>>24;D[e+20|0]=h;D[e+21|0]=h>>>8;D[e+22|0]=h>>>16;D[e+23|0]=h>>>24;g=G[f+12|0]|G[f+13|0]<<8|(G[f+14|0]<<16|G[f+15|0]<<24);f=G[f+8|0]|G[f+9|0]<<8|(G[f+10|0]<<16|G[f+11|0]<<24);D[e+8|0]=f;D[e+9|0]=f>>>8;D[e+10|0]=f>>>16;D[e+11|0]=f>>>24;D[e+12|0]=g;D[e+13|0]=g>>>8;D[e+14|0]=g>>>16;D[e+15|0]=g>>>24;D[e+32|0]=F[a+296>>2]!=0;return Za(b,c,d,301)|0}function ja(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){Z(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0<e>>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0<c>>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0<a>>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0<e>>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function td(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=_-16|0;_=j;g=F[9340];g=aa[F[F[g>>2]+4>>2]](g,c)|0;f=F[9340];f=aa[F[F[f>>2]>>2]](f)|0;k=xb(F[a+128>>2],g,f);f=k+2|0;g=(f>>>0)/3|0;a:{if(((f-L(g,3)|0)+(g<<2)|0)-2>>>0>e>>>0){F[a+228>>2]=2;e=-1;break a}e=F[9340];g=aa[F[F[e>>2]+4>>2]](e,c)|0;e=F[9340];l=aa[F[F[e>>2]>>2]](e)|0;e=F[a+128>>2];h=k+2|0;f=(h>>>0)/3|0;h=((((h-L(f,3)|0)+(f<<2)|0)-2|0)+d|0)-k|0;D[h+1|0]=8;D[h|0]=3;f=h+2|0;if(e>>>0>=128){while(1){D[f|0]=e|128;f=f+1|0;i=e>>>0>16383;e=e>>>7|0;if(i){continue}break}}D[f+1|0]=18;D[f|0]=e;f=f+2|0;b:{if(g>>>0<128){e=g;break b}e=g;while(1){D[f|0]=e|128;f=f+1|0;i=e>>>0>16383;e=e>>>7|0;if(i){continue}break}}D[f|0]=e;f=f+1|0;F[j+12>>2]=f;i=F[9340];m=g;g=((f+g|0)-h|0)+l|0;e=-1;if((aa[F[F[i>>2]+8>>2]](i,a,128,b,c,F[j+12>>2],m,h,g)|0)==-1){break a}c=F[a+128>>2]+1|0;F[a+128>>2]=c;b=0;c:{if(!(c&16777215)){break c}b=1;if(!(c&65535)){break c}b=c&255?3:2}c=b;e=(c<<5)+a|0;b=3;while(1){ka(e,32,b+37364|0,1,(b<<5)+a|0);f=b>>>0>c>>>0;b=b-1|0;if(f){continue}break}bb(a+132|0,h,g,g+h|0);e=Ca(h,k,d)}_=j+16|0;return e|0}function Ga(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;c=F[b>>2];e=c;g=F[b+36>>2];h=F[b+32>>2];i=F[b+28>>2];j=F[b+24>>2];k=F[b+20>>2];l=F[b+16>>2];f=F[b+12>>2];d=F[b+8>>2];m=(L(g,19)+16777216>>25)+c>>26;c=F[b+4>>2];b=e+L(g+(h+(i+(j+(k+(l+(f+(d+(m+c>>25)>>26)>>25)>>26)>>25)>>26)>>25)>>26)>>25,19)|0;D[a|0]=b;D[a+2|0]=b>>>16;D[a+1|0]=b>>>8;c=c+(b>>26)|0;D[a+5|0]=c>>>14;D[a+4|0]=c>>>6;d=d+(c>>25)|0;D[a+8|0]=d>>>13;D[a+7|0]=d>>>5;e=b>>>24&3;b=c&33554431;D[a+3|0]=e|b<<2;c=(d>>26)+f|0;D[a+11|0]=c>>>11;D[a+10|0]=c>>>3;d=d&67108863;D[a+6|0]=d<<3|b>>>22;b=l+(c>>25)|0;D[a+15|0]=b>>>18;D[a+14|0]=b>>>10;D[a+13|0]=b>>>2;f=c&33554431;D[a+9|0]=f<<5|d>>>21;c=(b>>26)+k|0;D[a+16|0]=c;D[a+12|0]=b<<6|f>>>19;D[a+18|0]=c>>>16;D[a+17|0]=c>>>8;b=(c>>25)+j|0;D[a+21|0]=b>>>15;D[a+20|0]=b>>>7;d=(b>>26)+i|0;D[a+24|0]=d>>>13;D[a+23|0]=d>>>5;e=c>>>24&1;c=b&67108863;D[a+19|0]=e|c<<1;b=(d>>25)+h|0;D[a+27|0]=b>>>12;D[a+26|0]=b>>>4;d=d&33554431;D[a+22|0]=d<<3|c>>>23;c=(b>>26)+g|0;D[a+30|0]=c>>>10;D[a+29|0]=c>>>2;b=b&67108863;D[a+25|0]=b<<4|d>>>21;c=c&33554431;D[a+31|0]=c>>>18;D[a+28|0]=c<<6|b>>>20}function ya(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=G[a+12|0];c=L(e,6);g=G[a|0];f=L(g,6);d=G[a+8|0];b=G[a+4|0];D[a+12|0]=G[c+3648|0]^(G[f+3649|0]^(d^b));h=L(d,6);D[a+8|0]=G[c+3649|0]^(G[h+3648|0]^(b^g));i=L(b,6);D[a|0]=G[i+3649|0]^(G[f+3648|0]^(d^e));d=G[a+5|0];j=L(d,6);b=G[a+1|0];k=L(b,6);c=G[a+13|0];f=G[a+9|0];D[a+1|0]=G[j+3649|0]^(G[k+3648|0]^(c^f));l=L(c,6);D[a+13|0]=G[l+3648|0]^(G[k+3649|0]^(d^f));D[a+4|0]=G[h+3649|0]^(e^(g^G[i+3648|0]));e=L(f,6);D[a+9|0]=G[l+3649|0]^(G[e+3648|0]^(b^d));D[a+5|0]=G[e+3649|0]^(c^(b^G[j+3648|0]));e=G[a+6|0];c=L(e,6);g=G[a+2|0];f=L(g,6);d=G[a+14|0];b=G[a+10|0];D[a+2|0]=G[c+3649|0]^(G[f+3648|0]^(d^b));h=L(d,6);D[a+14|0]=G[h+3648|0]^(G[f+3649|0]^(b^e));b=L(b,6);D[a+10|0]=G[h+3649|0]^(G[b+3648|0]^(e^g));D[a+6|0]=G[b+3649|0]^(d^(g^G[c+3648|0]));e=G[a+15|0];c=L(e,6);g=G[a+3|0];f=L(g,6);d=G[a+11|0];b=G[a+7|0];D[a+15|0]=G[c+3648|0]^(G[f+3649|0]^(d^b));h=G[c+3649|0];c=L(d,6);D[a+11|0]=h^(G[c+3648|0]^(b^g));b=L(b,6);D[a+3|0]=G[b+3649|0]^(G[f+3648|0]^(d^e));D[a+7|0]=G[c+3649|0]^(e^(g^G[b+3648|0]))}function ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if(c>>>0<=31){F[a>>2]=2;return-1}c=G[a+64|0]|G[a+65|0]<<8|(G[a+66|0]<<16|G[a+67|0]<<24);d=G[a+60|0]|G[a+61|0]<<8|(G[a+62|0]<<16|G[a+63|0]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;D[b+28|0]=c;D[b+29|0]=c>>>8;D[b+30|0]=c>>>16;D[b+31|0]=c>>>24;c=G[a+56|0]|G[a+57|0]<<8|(G[a+58|0]<<16|G[a+59|0]<<24);d=G[a+52|0]|G[a+53|0]<<8|(G[a+54|0]<<16|G[a+55|0]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;D[b+20|0]=c;D[b+21|0]=c>>>8;D[b+22|0]=c>>>16;D[b+23|0]=c>>>24;c=G[a+48|0]|G[a+49|0]<<8|(G[a+50|0]<<16|G[a+51|0]<<24);d=G[a+44|0]|G[a+45|0]<<8|(G[a+46|0]<<16|G[a+47|0]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;D[b+12|0]=c;D[b+13|0]=c>>>8;D[b+14|0]=c>>>16;D[b+15|0]=c>>>24;c=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24);a=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24;D[b+4|0]=c;D[b+5|0]=c>>>8;D[b+6|0]=c>>>16;D[b+7|0]=c>>>24;return 32}function Oa(a,b,c){var d=0,e=0;a:{if(!a){break a}e=b;b=a+32|0;if(e>>>0<b>>>0){break a}d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[c|0]=e;D[c+1|0]=e>>>8;D[c+2|0]=e>>>16;D[c+3|0]=e>>>24;D[c+4|0]=d;D[c+5|0]=d>>>8;D[c+6|0]=d>>>16;D[c+7|0]=d>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);e=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[c+24|0]=e;D[c+25|0]=e>>>8;D[c+26|0]=e>>>16;D[c+27|0]=e>>>24;D[c+28|0]=d;D[c+29|0]=d>>>8;D[c+30|0]=d>>>16;D[c+31|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);e=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[c+16|0]=e;D[c+17|0]=e>>>8;D[c+18|0]=e>>>16;D[c+19|0]=e>>>24;D[c+20|0]=d;D[c+21|0]=d>>>8;D[c+22|0]=d>>>16;D[c+23|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[c+8|0]=a;D[c+9|0]=a>>>8;D[c+10|0]=a>>>16;D[c+11|0]=a>>>24;D[c+12|0]=d;D[c+13|0]=d>>>8;D[c+14|0]=d>>>16;D[c+15|0]=d>>>24;d=b}return d}function Fa(a,b){var c=0,d=0;c=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);d=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;D[b+36|0]=c;D[b+37|0]=c>>>8;D[b+38|0]=c>>>16;D[b+39|0]=c>>>24;c=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);d=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+56|0]=d;D[b+57|0]=d>>>8;D[b+58|0]=d>>>16;D[b+59|0]=d>>>24;D[b+60|0]=c;D[b+61|0]=c>>>8;D[b+62|0]=c>>>16;D[b+63|0]=c>>>24;c=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);d=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+48|0]=d;D[b+49|0]=d>>>8;D[b+50|0]=d>>>16;D[b+51|0]=d>>>24;D[b+52|0]=c;D[b+53|0]=c>>>8;D[b+54|0]=c>>>16;D[b+55|0]=c>>>24;c=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);a=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+40|0]=a;D[b+41|0]=a>>>8;D[b+42|0]=a>>>16;D[b+43|0]=a>>>24;D[b+44|0]=c;D[b+45|0]=c>>>8;D[b+46|0]=c>>>16;D[b+47|0]=c>>>24;Gb(b,b+32|0,1824)}function ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;g=_-48|0;_=g;a:{if((c|0)<=0){break a}D[b|0]=0;if(c>>>0<23){break a}F[g+32>>2]=F[a+112>>2];d=Xa(b,c,1535,g+32|0);h=b+c|0;b:{if((d|0)>(c|0)){break b}if((d|0)<=0){break a}f=b+d|0;e=c-d|0;d=Xa(f,e,1462,0);h=b+c|0;if((d|0)>(e|0)){break b}if((d|0)<=0){break a}b=e-d|0;c=d+f|0;c:{e=a+152|0;if((e|0)!=F[a+148>>2]){d=0;while(1){F[g+16>>2]=F[(L(d,68)+a|0)+184>>2];f=Xa(c,b,1068,g+16|0);if((f|0)>(b|0)){break c}if((f|0)<=0){break a}b=b-f|0;c=c+f|0;d=d+1|0;if(d>>>0<(F[a+148>>2]-e|0)/68>>>0){continue}break}}d=Xa(c,b,1439,0);if((d|0)>(b|0)){break c}if((d|0)<=0){break a}f=a+496|0;if((f|0)==F[a+492>>2]){break a}c=c+d|0;b=b-d|0;d=0;while(1){F[g>>2]=F[(L(d,68)+a|0)+528>>2];e=Xa(c,b,1068,g);h=b+c|0;if((e|0)>(b|0)){break b}if((e|0)<=0){break a}b=b-e|0;c=c+e|0;d=d+1|0;if(d>>>0<(F[a+492>>2]-f|0)/68>>>0){continue}break}break a}h=b+c|0}a=h-4|0;D[a|0]=46;D[a+1|0]=46;D[a+2|0]=46;D[a+3|0]=0}_=g+48|0}function gb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=_-256|0;_=f;while(1){F[(d<<2)+f>>2]=G[(c|3)+b|0]|(G[(c|1)+b|0]<<16|G[b+c|0]<<24|G[(c|2)+b|0]<<8);c=c+4|0;d=d+1|0;if((d|0)!=16){continue}break}b=16;c=F[f>>2];while(1){e=c;c=(b<<2)+f|0;d=F[c-8>>2];d=e+(F[c-28>>2]+(ue(d,15)^ue(d,13)^d>>>10)|0)|0;e=c;c=F[c-60>>2];F[e>>2]=(ue(c,25)^ue(c,14)^c>>>3)+d;b=b+1|0;if((b|0)!=64){continue}break}n=F[a+80>>2];i=n;o=F[a+84>>2];b=o;p=F[a+108>>2];g=p;q=F[a+104>>2];c=q;r=F[a+100>>2];e=r;s=F[a+96>>2];j=s;t=F[a+92>>2];k=t;u=F[a+88>>2];d=u;while(1){l=d;d=b;b=m<<2;h=j;g=(F[b+2816>>2]+((((ue(h,26)^ue(h,21)^ue(h,7))+(h&e)|0)+g|0)+((h^-1)&c)|0)|0)+F[b+f>>2]|0;b=i;i=g+((ue(b,30)^ue(b,19)^ue(b,10))+((d^l)&b^d&l)|0)|0;j=g+k|0;g=c;c=e;e=h;k=l;m=m+1|0;if((m|0)!=64){continue}break}F[a+108>>2]=g+p;F[a+104>>2]=c+q;F[a+100>>2]=e+r;F[a+96>>2]=j+s;F[a+92>>2]=k+t;F[a+88>>2]=d+u;F[a+84>>2]=b+o;F[a+80>>2]=i+n;_=f+256|0}function Bc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:{if(c>>>0<116){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);d=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1495]|G[1496]<<8|(G[1497]<<16|G[1498]<<24);d=G[1491]|G[1492]<<8|(G[1493]<<16|G[1494]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=34;c=ma(a+96|0,32,b+15|0);D[c|0]=34;D[c+1|0]=44;D[c+12|0]=34;d=G[1504]|G[1505]<<8|(G[1506]<<16|G[1507]<<24);e=G[1500]|G[1501]<<8|(G[1502]<<16|G[1503]<<24);D[c+2|0]=e;D[c+3|0]=e>>>8;D[c+4|0]=e>>>16;D[c+5|0]=e>>>24;D[c+6|0]=d;D[c+7|0]=d>>>8;D[c+8|0]=d>>>16;D[c+9|0]=d>>>24;d=G[1508]|G[1509]<<8;D[c+10|0]=d;D[c+11|0]=d>>>8;a=ma(a,32,c+13|0);D[a|0]=34;D[a+1|0]=125;a=(a-b|0)+2|0}return a|0}function te(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=a;a:{b:{c:{d:{e:{f:{g:{h:{i:{j:{if(b){if(!c){break j}break i}a=(d>>>0)/(c>>>0)|0;$=0;break a}if(!d){break h}break g}if(!(c-1&c)){break f}g=(O(c)+33|0)-O(b)|0;e=0-g|0;break d}a=(b>>>0)/0|0;$=0;break a}a=32-O(b)|0;if(a>>>0<31){break e}break c}if((c|0)==1){break b}a=c?31-O(c-1^c)|0:32;c=a&31;if((a&63)>>>0>=32){a=0;b=b>>>c|0}else{a=b>>>c|0;b=((1<<c)-1&b)<<32-c|d>>>c}$=a;a=b;break a}g=a+1|0;e=63-a|0}a=g&63;f=a&31;if(a>>>0>=32){a=0;h=b>>>f|0}else{a=b>>>f|0;h=((1<<f)-1&b)<<32-f|d>>>f}f=a;a=e&63;e=a&31;if(a>>>0>=32){a=d<<e;d=0}else{a=(1<<e)-1&d>>>32-e|b<<e;d=d<<e}b=a;if(g){e=c-1|0;l=(e|0)!=-1?0:-1;while(1){a=h<<1|b>>>31;f=f<<1|h>>>31;i=l-(f+(a>>>0>e>>>0)|0)>>31;j=c&i;h=a-j|0;f=f-(a>>>0<j>>>0)|0;b=b<<1|d>>>31;d=k|d<<1;k=i&1;g=g-1|0;if(g){continue}break}}$=b<<1|d>>>31;a=k|d<<1;break a}d=0;b=0}$=b;a=d}return a}function Xa(a,b,c,d){var e=0,f=0,g=0,h=0;g=_-16|0;_=g;F[g+12>>2]=d;e=_-160|0;_=e;f=-1;F[e+148>>2]=b?b-1|0:0;a=b?a:e+158|0;F[e+144>>2]=a;e=qa(e,0,144);F[e+76>>2]=-1;F[e+36>>2]=8;F[e+80>>2]=-1;F[e+44>>2]=e+159;F[e+84>>2]=e+144;a:{if((b|0)<0){F[9343]=61;break a}D[a|0]=0;f=0;b=_-208|0;_=b;F[b+204>>2]=d;a=b+160|0;qa(a,0,40);F[b+200>>2]=F[b+204>>2];b:{if((Db(0,c,b+200|0,b+80|0,a)|0)<0){c=-1;break b}h=F[e+76>>2]>=0;d=F[e>>2];if(F[e+72>>2]<=0){F[e>>2]=d&-33}c:{d:{e:{if(!F[e+48>>2]){F[e+48>>2]=80;F[e+28>>2]=0;F[e+16>>2]=0;F[e+20>>2]=0;f=F[e+44>>2];F[e+44>>2]=b;break e}if(F[e+16>>2]){break d}}a=-1;if(Fb(e)){break c}}a=Db(e,c,b+200|0,b+80|0,b+160|0)}c=a;if(f){aa[F[e+36>>2]](e,0,0)|0;F[e+48>>2]=0;F[e+44>>2]=f;F[e+28>>2]=0;a=F[e+20>>2];F[e+16>>2]=0;F[e+20>>2]=0;c=a?c:-1}a=F[e>>2];F[e>>2]=a|d&32;c=a&32?-1:c;if(!h){break b}}_=b+208|0;f=c}_=e+160|0;_=g+16|0;return f}function oc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=_-16|0;_=e;d=17;a:{if((G[a+7372|0]|!G[a+7364|0]?d:71)>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);d=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1495]|G[1496]<<8|(G[1497]<<16|G[1498]<<24);d=G[1491]|G[1492]<<8|(G[1493]<<16|G[1494]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=123;d=b+15|0;if(!(G[a+7372|0]|!G[a+7364|0])){D[b+15|0]=34;c=e+12|0;la(c,F[a+7368>>2]);c=ma(c,4,b+16|0);D[c+2|0]=34;D[c|0]=34;D[c+1|0]=58;a=ma(a+7373|0,32,c+3|0);D[a|0]=34;d=a+1|0}D[d|0]=125;D[d+1|0]=125;a=(d-b|0)+2|0}_=e+16|0;return a|0}function Jd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=_-160|0;_=g;h=-1;c=Pa(b,c,b);a:{if((c|0)==-1){F[a+300>>2]=7;break a}h=F[9340];wb(b,c,aa[F[F[h>>2]>>2]](h)|0,g+136|0);if(G[g+136|0]!=3){F[a+300>>2]=3;h=-1;break a}if(!(F[g+148>>2]?F[g+144>>2]:0)){F[a+300>>2]=4;h=-1;break a}if(f){F[f>>2]=F[g+140>>2]}f=c+-64|0;if(!hb(a+264|0,b,f,b+f|0)){F[a+300>>2]=14;h=-1;break a}c=F[9340];if(aa[F[F[c>>2]+12>>2]](c,F[g+152>>2])>>>0>e>>>0){F[a+300>>2]=2;h=-1;break a}b:{c=F[g+140>>2];c:{if((c-F[a+260>>2]|0)>=0){h=a+132|0;cb(h,c);ja(g,h,132);break c}if((c-F[a+128>>2]|0)<0){break b}cb(ja(g,a,132),c)}c=F[9340];b=aa[F[F[c>>2]+16>>2]](c,g,128,b,f,F[g+148>>2],F[g+152>>2],d,e)|0;ia(g,132);h=-1;if((b|0)==-1){F[a+300>>2]=5;break a}F[a+296>>2]=1;h=b;break a}F[a+300>>2]=12;h=-1}_=g+160|0;return h|0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=_-16|0;_=e;a:{if((G[a+7364|0]?71:17)>>>0>c>>>0){F[a+7516>>2]=2;a=-1;break a}D[b|0]=123;c=G[1490]|G[1491]<<8|(G[1492]<<16|G[1493]<<24);d=G[1486]|G[1487]<<8|(G[1488]<<16|G[1489]<<24);D[b+1|0]=d;D[b+2|0]=d>>>8;D[b+3|0]=d>>>16;D[b+4|0]=d>>>24;D[b+5|0]=c;D[b+6|0]=c>>>8;D[b+7|0]=c>>>16;D[b+8|0]=c>>>24;c=G[1495]|G[1496]<<8|(G[1497]<<16|G[1498]<<24);d=G[1491]|G[1492]<<8|(G[1493]<<16|G[1494]<<24);D[b+6|0]=d;D[b+7|0]=d>>>8;D[b+8|0]=d>>>16;D[b+9|0]=d>>>24;D[b+10|0]=c;D[b+11|0]=c>>>8;D[b+12|0]=c>>>16;D[b+13|0]=c>>>24;D[b+14|0]=123;if(G[a+7364|0]){D[b+15|0]=34;c=e+12|0;la(c,F[a+7368>>2]);c=ma(c,4,b+16|0);D[c+2|0]=34;D[c|0]=34;D[c+1|0]=58;a=ma(a+7373|0,32,c+3|0);D[a|0]=34;a=a+1|0}else{a=b+15|0}D[a|0]=125;D[a+1|0]=125;a=(a-b|0)+2|0}_=e+16|0;return a|0}function Bb(a,b,c){a:{switch(b-9|0){case 0:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];return;case 6:b=F[c>>2];F[c>>2]=b+4;b=E[b>>1];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 7:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=H[b>>1];F[a+4>>2]=0;return;case 8:b=F[c>>2];F[c>>2]=b+4;b=D[b|0];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 9:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=G[b|0];F[a+4>>2]=0;return;case 16:b=F[c>>2]+7&-8;F[c>>2]=b+8;K[a>>3]=K[b>>3];return;case 17:aa[7](a,c);default:return;case 1:case 4:case 14:b=F[c>>2];F[c>>2]=b+4;b=F[b>>2];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];F[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=F[c>>2]+7&-8;F[c>>2]=b+8;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c}function qa(a,b,c){var d=0,e=0,f=0;a:{if(!c){break a}D[a|0]=b;e=a+c|0;D[e-1|0]=b;if(c>>>0<3){break a}D[a+2|0]=b;D[a+1|0]=b;D[e-3|0]=b;D[e-2|0]=b;if(c>>>0<7){break a}D[a+3|0]=b;D[e-4|0]=b;if(c>>>0<9){break a}e=0-a&3;f=e+a|0;d=L(b&255,16843009);F[f>>2]=d;b=c-e&-4;c=b+f|0;F[c-4>>2]=d;if(b>>>0<9){break a}F[f+8>>2]=d;F[f+4>>2]=d;F[c-8>>2]=d;F[c-12>>2]=d;if(b>>>0<25){break a}F[f+24>>2]=d;F[f+20>>2]=d;F[f+16>>2]=d;F[f+12>>2]=d;F[c-16>>2]=d;F[c-20>>2]=d;F[c-24>>2]=d;F[c-28>>2]=d;c=b;b=f&4|24;c=c-b|0;if(c>>>0<32){break a}d=se(d,0,1,1);e=$;b=b+f|0;while(1){F[b+24>>2]=d;F[b+28>>2]=e;F[b+16>>2]=d;F[b+20>>2]=e;F[b+8>>2]=d;F[b+12>>2]=e;F[b>>2]=d;F[b+4>>2]=e;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Tb(a,b,c,d,e){var f=0,g=0,h=0,i=0;f=_-80|0;_=f;g=-1;h=F[b>>2];i=F[c+4>>2];if(!(h>>>0>i>>>0|i-h>>>0>2e3)){F[f+72>>2]=F[b+32>>2];h=F[b+28>>2];g=f- -64|0;F[g>>2]=F[b+24>>2];F[g+4>>2]=h;g=F[b+20>>2];F[f+56>>2]=F[b+16>>2];F[f+60>>2]=g;g=F[b+12>>2];F[f+48>>2]=F[b+8>>2];F[f+52>>2]=g;g=F[b+4>>2];b=F[b>>2];F[f+40>>2]=b;F[f+44>>2]=g;if(b>>>0<i>>>0){b=f+40|4;while(1){ka(b,32,1869,1,b);g=F[f+40>>2]+1|0;F[f+40>>2]=g;if(g>>>0<I[c+4>>2]){continue}break}}b=f+40|0;g=f|4;ka(b|4,32,1868,1,g);F[f>>2]=F[f+40>>2];a=F[a+4>>2];g=aa[F[F[a>>2]+16>>2]](a,g,32,F[c+8>>2],F[c+12>>2],F[c+24>>2],F[c+28>>2],d,e)|0;ia(b,36)}_=f+80|0;return g}function me(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=_-112|0;_=l;m=(aa[F[441]](F[1416],c)|0)+2|0;n=(m>>>0)/3|0;a:{b:{c:{if(((m-L(n,3)|0)+(n<<2)|0)-2>>>0>e>>>0){break c}if(aa[F[440]](F[1416])>>>0>g>>>0){break c}if(i>>>0>=43){break b}}F[a>>2]=2;c=-1;break a}if(k>>>0<=31){F[a>>2]=1;c=-1;break a}g=l+48|0;Fa(j,g);ma(g,32,h);h=g;g=l+16|0;za(h,a+4|0,g);a=aa[F[441]](F[1416],c)|0;e=(d+e|0)-a|0;c=aa[F[442]](F[1416],g,32,b,c,e,a,l+8|0,8)|0;if((c|0)==-1){break a}ma(l+8|0,8,f);ma(e,a,d)}_=l+112|0;return c|0}function Hc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=Ib(a);if(Da(g)>>>0>e>>>0){F[a+7516>>2]=2;return-1}e=a+164|0;f=la(Na(sb(la(_a(d,g),4),a),a+96|0),(F[a+160>>2]-e|0)/72|0);h=F[a+160>>2];if((h|0)!=(e|0)){while(1){f=la(f,F[e>>2]);D[f|0]=G[e+4|0];f=Na(f+1|0,e+5|0);e=e+72|0;if((h|0)!=(e|0)){continue}break}}D[f|0]=G[a+7364|0];e=f+1|0;a:{if(!G[a+7364|0]){break a}e=la(e,F[a+7368>>2]);D[e|0]=G[a+7372|0];e=Na(e+1|0,a+7373|0);if(G[a+7364|0]<2){break a}e=la(e,F[a+7440>>2]);D[e|0]=G[a+7444|0];e=Na(e+1|0,a+7445|0)}la(e,F[a+7512>>2]);return Za(b,c,d,g)|0}function sa(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;a:{if((b&3)==1){break a}d=b+2|0;g=((d&3)+L(d>>>2|0,3)|0)-2|0;d=-1;if((g|0)==-1){break a}e=b&-4;b:{if(!e){e=a;break b}e=a+e|0;d=a;while(1){i=G[d|0];f=G[d+1|0];h=G[(G[d+2|0]&127)+1632|0];D[c+2|0]=G[(G[d+3|0]&127)+1632|0]|h<<6;f=G[(f&127)+1632|0]<<6;D[c+1|0]=(f|h)>>>2;D[c|0]=(f|G[(i&127)+1632|0]<<12)>>>10;c=c+3|0;d=d+4|0;if((d|0)!=(e|0)){continue}break}}b=(a+b|0)-e|0;if(b){a=G[(G[e+1|0]&127)+1632|0]|G[(G[e|0]&127)+1632|0]<<6;if((b|0)==3){D[c+1|0]=(G[(G[e+2|0]&127)+1632|0]|a<<6)>>>2}D[c|0]=a>>>4}d=g}return d}function ma(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=b-((b>>>0)%3|0)|0;a:{if(!d){e=a;break a}e=a+d|0;d=a;while(1){f=G[d+1|0];g=G[d|0];h=G[d+2|0];D[c+3|0]=G[(h&63)+1568|0];D[c|0]=G[(g>>>2|0)+1568|0];f=f<<8;D[c+2|0]=G[((f|h)>>>6&63)+1568|0];D[c+1|0]=G[((f|g<<16)>>>12&63)+1568|0];c=c+4|0;d=d+3|0;if((e|0)!=(d|0)){continue}break}}d=(a+b|0)-e|0;if(d){a=2;b=G[e|0];b:{if((d|0)==2){a=G[e+1|0]<<2;D[c+2|0]=G[(a&60)+1568|0];d=(a|b<<10)>>>6|0;a=3;break b}d=b<<4}D[c|0]=G[(d>>>6|0)+1568|0];D[c+1|0]=G[(d&63)+1568|0];c=a+c|0}return c}function Ld(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=_-16|0;_=f;b=Ya(b,c,d,e,a+300|0);a:{if((b|0)!=-1){b=b+d|0;c=eb(d,b,f+12|0);b:{if(!c){d=10;break b}d=9;if(F[f+12>>2]-3>>>0<4294967294){break b}c=ib(a,c,b);if(!c){d=10;break b}c=ib(a+132|0,c,b);if(!c){d=10;break b}c=Oa(c,b,a+264|0);if(!c){d=10;break b}g=a+296|0;c:{if(F[f+12>>2]==1){F[g>>2]=1;break c}d=10;if(!c|(b|0)==(c|0)){c=h}else{D[g|0]=G[c|0]!=0;c=c+1|0}if(!c){break b}}d=17;if((b|0)==(c|0)){break a}}F[a+300>>2]=d}e=-1}_=f+16|0;return e|0}function Ca(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;f=a;e=c;d=b-((b>>>0)%3|0)|0;if(d){f=a+d|0;d=a;while(1){g=G[d+1|0];h=G[d|0];i=G[d+2|0];D[e+3|0]=G[(i&63)+1568|0];D[e|0]=G[(h>>>2|0)+1568|0];g=g<<8;D[e+2|0]=G[((g|i)>>>6&63)+1568|0];D[e+1|0]=G[((g|h<<16)>>>12&63)+1568|0];e=e+4|0;d=d+3|0;if((f|0)!=(d|0)){continue}break}}d=(a+b|0)-f|0;if(d){a=2;b=G[f|0];a:{if((d|0)==2){a=G[f+1|0]<<2;D[e+2|0]=G[(a&60)+1568|0];d=(a|b<<10)>>>6|0;a=3;break a}d=b<<4}D[e|0]=G[(d>>>6|0)+1568|0];D[e+1|0]=G[(d&63)+1568|0];e=a+e|0}return e-c|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0;c=b+3285|0;b=a+164|0;a:{b:{if((b|0)!=F[a+160>>2]){while(1){if(Ka(b+5|0,c,32)){d=F[b>>2];c=F[a+160>>2]-72|0;F[a+160>>2]=c;if((b|0)==(c|0)){break b}while(1){c=b;b=b+72|0;ja(c,b,72);if(F[a+160>>2]!=(b|0)){continue}break}break b}b=b+72|0;if((b|0)!=F[a+160>>2]){continue}break}}d=-1;if(!G[a+7364|0]){break b}if(Ka(a+7373|0,c,32)){b=F[a+7368>>2];break a}if(G[a+7364|0]<2){break b}if(!Ka(a+7445|0,c,32)){break b}d=F[a+7440>>2]}b=d}if((b|0)==-1){F[a+7516>>2]=6}return b|0}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=c;e=b;a:{b:{if(b<<5>>>0<=d>>>0){if(e){break b}e=0;break a}F[a+7516>>2]=1;e=-1;break a}j=a+169|0;k=a+7364|0;h=a+164|0;while(1){b=k;f=F[a+160>>2];if((b|0)!=(f|0)){b=f+72|0;F[a+160>>2]=b}b=b-72|0;if((h|0)!=(b|0)){while(1){f=b;b=b-72|0;ja(f,b,72);if((b|0)!=(h|0)){continue}break}}D[a+168|0]=0;b=F[a+7512>>2]+1|0;F[h>>2]=b;F[a+7512>>2]=b;Fa(g,j);g=g+32|0;i=i+1|0;if((i|0)!=(e|0)){continue}break}}ia(c,d);return e|0}function Ab(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!F[F[9380]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){D[a+1|0]=b&63|128;D[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){D[a+2|0]=b&63|128;D[a|0]=b>>>12|224;D[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){D[a+3|0]=b&63|128;D[a|0]=b>>>18|240;D[a+2|0]=b>>>6&63|128;D[a+1|0]=b>>>12&63|128;a=4;break a}}F[9343]=25;a=-1}else{a=1}break a}D[a|0]=b;a=1}return a}function bc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=oa(d);if((e|0)==-1){F[a+3216>>2]=7;return-1}sa(c,d,c);d=_-48|0;_=d;a:{b:{if((b|0)!=1){ab(d+8|0,c,e);c=F[d+36>>2];if(!c){F[a+3216>>2]=4;break b}e=F[d+40>>2]}b=_-32|0;_=b;f=c;c=F[a+4>>2];fb(b,f,e,aa[F[F[c>>2]>>2]](c)|0);c:{if(!F[b+24>>2]){F[a+8>>2]=4;c=-1;break c}c=F[a+4>>2];c=aa[F[F[c>>2]+12>>2]](c,F[b+28>>2])|0}_=b+32|0;if((c|0)!=-1){break a}F[a+3216>>2]=F[a+8>>2];F[a+8>>2]=0}c=-1}_=d+48|0;return c|0}function Ka(a,b,c){var d=0,e=0,f=0,g=0;d=_-16|0;D[d+15|0]=0;a:{if(!c){break a}g=c-1|0;e=c&3;if(e){while(1){D[d+15|0]=G[d+15|0]|G[b|0]^G[a|0];b=b+1|0;a=a+1|0;c=c-1|0;f=f+1|0;if((e|0)!=(f|0)){continue}break}}if(g>>>0<3){break a}while(1){D[d+15|0]=G[d+15|0]|G[a|0]^G[b|0];D[d+15|0]=G[d+15|0]|G[a+1|0]^G[b+1|0];D[d+15|0]=G[d+15|0]|G[a+2|0]^G[b+2|0];D[d+15|0]=G[d+15|0]|G[a+3|0]^G[b+3|0];b=b+4|0;a=a+4|0;c=c-4|0;if(c){continue}break}}return!G[d+15|0]}function Qb(a,b,c,d){var e=0,f=0,g=0;e=_-48|0;_=e;ab(e+8|0,c,d);f=F[e+12>>2];c=(f|b)!=0;a:{if(f){if(!c){break a}c=F[e+16>>2]==32}if(!c|!F[e+36>>2]){break a}d=F[e+20>>2];if(!d|F[e+24>>2]!=32){break a}c=F[e+28>>2];if(!c|F[e+32>>2]!=32){break a}b:{c:{if(f){f=Ma(f,a+3221|0);if(b){if(f){break a}break c}if(!f){break b}break a}if(!b){break b}}if(Ma(b,a+3221|0)){break a}}if(Ma(d,a+3253|0)){break a}g=!Ma(c,a+3285|0)}_=e+48|0;return g}function de(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=_-80|0;_=j;k=F[443];a:{if(aa[k|0](F[1416],oa(g))>>>0>i>>>0){F[a>>2]=2;g=-1;break a}k=oa(g);if(!(!((k|0)==-1|(c|0)!=43)&(e|0)==11)){F[a>>2]=7;g=-1;break a}c=b;b=j+48|0;sa(c,43,b);c=b;b=j+16|0;za(a+4|0,c,b);c=j+8|0;sa(d,11,c);sa(f,g,f);g=aa[F[444]](F[1416],b,32,c,8,f,k,h,i)|0;if((g|0)!=-1){break a}F[a>>2]=5}_=j+80|0;return g|0}function fe(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-16|0;_=h;a:{if(!(!f|g>>>0>=43)){F[a>>2]=2;g=-1;break a}g=-1;b=Ya(b,c,d,e,a);if((b|0)==-1){break a}b:{b=b+d|0;c=va(d,b,h+12|0);c:{if(!c){break c}if(F[h+12>>2]!=1){F[a>>2]=9;break c}c=Ja(c,b,a+4|0);if(c){break b}}if(F[a>>2]){break a}F[a>>2]=10;break a}if((b|0)!=(c|0)){F[a>>2]=17;break a}if(f){ma(a+4|0,32,f)}g=e}_=h+16|0;return g|0}function Ob(a){var b=0,c=0,d=0,e=0,f=0;b=a+48|0;d=F[a+44>>2];if((b|0)==(d|0)){d=36}else{c=4;while(1){c=c+100|0;b=b+100|0;if((d|0)!=(b|0)){continue}break}d=c+32|0}e=4;c=4;b=a+152|0;f=F[a+148>>2];if((b|0)!=(f|0)){while(1){c=c+68|0;b=b+68|0;if((f|0)!=(b|0)){continue}break}}b=a+496|0;a=F[a+492>>2];if((b|0)!=(a|0)){while(1){e=e+68|0;b=b+68|0;if((a|0)!=(b|0)){continue}break}}return((c+d|0)+e|0)+101|0}function ve(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{d=-1>>>e|0;f=d|(1<<e)-1<<32-e}f=f&a;d=b&d;e=g&31;if(g>>>0>=32){d=f<<e;g=0}else{d=(1<<e)-1&f>>>32-e|d<<e;g=f<<e}f=d;e=0-c&63;d=e&31;if(e>>>0>=32){d=-1<<d;c=0}else{c=-1<<d;d=c|(1<<d)-1&-1>>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<<d)-1&b)<<32-d|a>>>d}a=a|g;$=c|f;return a} +function na(a,b,c){var d=0,e=0,f=0;if(!(G[a|0]&32)){a:{d=b;b=a;a=F[b+16>>2];b:{if(!a){if(Fb(b)){break b}a=F[b+16>>2]}f=F[b+20>>2];if(a-f>>>0<c>>>0){aa[F[b+36>>2]](b,d,c)|0;break a}c:{if(F[b+80>>2]<0){break c}a=c;while(1){e=a;if(!a){break c}a=e-1|0;if(G[d+a|0]!=10){continue}break}if(aa[F[b+36>>2]](b,d,e)>>>0<e>>>0){break b}d=d+e|0;c=c-e|0;f=F[b+20>>2]}ja(f,d,c);F[b+20>>2]=F[b+20>>2]+c}}}}function cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;e=F[a+84>>2];f=F[e+4>>2];g=F[a+28>>2];d=F[a+20>>2]-g|0;d=d>>>0>f>>>0?f:d;if(d){ja(F[e>>2],g,d);F[e>>2]=d+F[e>>2];f=F[e+4>>2]-d|0;F[e+4>>2]=f}d=F[e>>2];f=c>>>0>f>>>0?f:c;if(f){ja(d,b,f);d=f+F[e>>2]|0;F[e>>2]=d;F[e+4>>2]=F[e+4>>2]-f}D[d|0]=0;b=F[a+44>>2];F[a+28>>2]=b;F[a+20>>2]=b;return c|0}function xd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=_-16|0;_=f;b=Ya(b,c,d,e,a+228|0);a:{if((b|0)!=-1){b=b+d|0;c=eb(d,b,f+12|0);b:{if(!c){d=10;break b}d=9;if(F[f+12>>2]!=1){break b}c=ib(a,c,b);if(!c){d=10;break b}d=10;c=rb(c,b,a+132|0);if(!c){break b}d=17;if((b|0)==(c|0)){break a}}F[a+228>>2]=d}e=-1}_=f+16|0;return e|0}function Kd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=_-32|0;_=d;e=-1;c=Pa(b,c,b);a:{if((c|0)==-1){F[a+300>>2]=7;break a}f=b;b=F[9340];wb(f,c,aa[F[F[b>>2]>>2]](b)|0,d+8|0);if(G[d+8|0]!=3){F[a+300>>2]=3;break a}if(!F[d+20>>2]){F[a+300>>2]=4;break a}a=F[9340];e=aa[F[F[a>>2]+12>>2]](a,F[d+24>>2])|0}_=d+32|0;return e|0}function ia(a,b){var c=0,d=0,e=0;a:{if(!b){break a}c=a;d=b&7;if(d){while(1){D[c|0]=0;c=c+1|0;e=e+1|0;if((d|0)!=(e|0)){continue}break}}if(b-1>>>0<7){break a}a=a+b|0;while(1){D[c|0]=0;D[c+1|0]=0;D[c+2|0]=0;D[c+3|0]=0;D[c+4|0]=0;D[c+5|0]=0;D[c+6|0]=0;D[c+7|0]=0;c=c+8|0;if((a|0)!=(c|0)){continue}break}}}function Kb(a,b,c){var d=0;d=_-112|0;_=d;F[d+80>>2]=1779033703;F[d+84>>2]=-1150833019;F[d+72>>2]=0;F[d+76>>2]=0;F[d+64>>2]=0;F[d+104>>2]=528734635;F[d+108>>2]=1541459225;F[d+96>>2]=1359893119;F[d+100>>2]=-1694144372;F[d+88>>2]=1013904242;F[d+92>>2]=-1521486534;ra(d,a,b);Ba(d,c);ia(d,112);_=d+112|0}function Ma(a,b){var c=0,d=0,e=0;c=32;a:{b:{if((a|b)&3){break b}while(1){if(F[a>>2]!=F[b>>2]){break b}b=b+4|0;a=a+4|0;c=c-4|0;if(c>>>0>3){continue}break}if(!c){break a}}while(1){d=G[a|0];e=G[b|0];if((d|0)==(e|0)){b=b+1|0;a=a+1|0;c=c-1|0;if(c){continue}break a}break}return d-e|0}return 0}function _b(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-32|0;_=h;a:{if((oa(c)|0)!=32){F[a>>2]=7;c=-1;break a}sa(b,c,h);c=-1;b=oa(g);if((b|0)==-1){F[a>>2]=7;break a}sa(f,g,f);b:{if(b>>>0>=64){c=0;if(hb(h,d,e,f)){break b}}F[a>>2]=5;c=-1}}_=h+32|0;return c|0}function ra(a,b,c){var d=0,e=0,f=0;if(c){d=F[a+64>>2];while(1){D[a+d|0]=G[b+e|0];d=F[a+64>>2]+1|0;F[a+64>>2]=d;if((d|0)==64){gb(a,a);F[a+64>>2]=0;d=F[a+76>>2];f=F[a+72>>2]+512|0;d=f>>>0<512?d+1|0:d;F[a+72>>2]=f;F[a+76>>2]=d;d=0}e=e+1|0;if((e|0)!=(c|0)){continue}break}}}function hd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_+-64|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}g=a+68|0;a=h+32|0;Aa(g,32,0,0,d,e,a,32);ka(a,32,b,c,h);Ca(h,32,f);a=0}_=h- -64|0;return a|0}function Ra(a,b,c){var d=0,e=0,f=0;a:{if(!b){d=a;break a}while(1){d=te(a,b,10);f=$;e=se(d,f,10,0);c=c-1|0;D[c|0]=a-e|48;e=b>>>0>9;a=d;b=f;if(e){continue}break}}if(d){while(1){c=c-1|0;a=(d>>>0)/10|0;D[c|0]=d-L(a,10)|48;b=d>>>0>9;d=a;if(b){continue}break}}return c}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(c>>>0<=31){F[a+7516>>2]=1;a=-1;break a}d=G[a+7364|0];if(d>>>0<=1){D[a+7364|0]=d+1}ja(a+7440|0,a+7368|0,72);D[a+7372|0]=0;d=F[a+7512>>2]+1|0;F[a+7368>>2]=d;F[a+7512>>2]=d;Fa(b,a+7373|0);a=1}ia(b,c);return a|0}function fd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-256|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}Aa(a+68|0,32,0,0,d,e,h,256);ka(h,256,b,c,f);Ca(f,32,f);a=0}_=h+256|0;return a|0}function gd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=_-32|0;_=h;a:{if(g>>>0<43){F[a>>2]=2;a=-1;break a}if(!F[a+100>>2]){F[a>>2]=16;a=-1;break a}Aa(a+68|0,32,0,0,d,e,h,32);ka(h,32,b,c,f);Ca(f,32,f);a=0}_=h+32|0;return a|0}function Eb(a,b){var c=0,d=0,e=0;A(+a);d=v(1)|0;e=v(0)|0;c=d>>>20&2047;if((c|0)!=2047){if(!c){if(a==0){c=0}else{a=Eb(a*0x10000000000000000,b);c=F[b>>2]+-64|0}F[b>>2]=c;return a}F[b>>2]=c-1022;x(0,e|0);x(1,d&-2146435073|1071644672);a=+z()}return a}function Ya(a,b,c,d,e){var f=0,g=0;f=-1;g=oa(d);a:{b:{if((g|0)==-1){c=7;if(e){break b}break a}Pa(c,d,c);d=a;a=g-(aa[F[440]](2804)|0)|0;f=aa[F[444]](2804,d,b,c,g,c,a,c,a)|0;if(!e){break a}c=8;if((f|0)!=-1){break a}}F[e>>2]=c;f=-1}return f}function kc(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=_-32|0;_=g;a:{if((oa(d)|0)!=32){F[a+3216>>2]=7;d=-1;break a}sa(c,d,g);d=-1;c=oa(f);if((c|0)==-1){F[a+3216>>2]=7;break a}sa(e,f,e);d=Rb(a,b,g,e,c)}_=g+32|0;return d|0}function zb(a,b,c){var d=0,e=0,f=0;e=1;if(a>>>0>=128){while(1){e=e+1|0;d=a>>>0>16383;a=a>>>7|0;if(d){continue}break}}d=1;if(b>>>0>=128){a=b;while(1){d=d+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}return(((b+c|0)+e|0)+d|0)+37|0}function xb(a,b,c){var d=0,e=0,f=0;d=1;e=1;if(a>>>0>=128){while(1){e=e+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}if(b>>>0>=128){a=b;while(1){d=d+1|0;f=a>>>0>16383;a=a>>>7|0;if(f){continue}break}}return(((b+c|0)+e|0)+d|0)+67|0}function Cb(a){var b=0,c=0,d=0;if(D[F[a>>2]]-48>>>0>=10){return 0}while(1){d=F[a>>2];c=-1;if(b>>>0<=214748364){c=D[d|0]-48|0;b=L(b,10);c=(c|0)>(2147483647-b|0)?-1:c+b|0}F[a>>2]=d+1;b=c;if(D[d+1|0]-48>>>0<10){continue}break}return b}function Ib(a){var b=0,c=0,d=0;b=4;c=a+164|0;d=F[a+160>>2];if((c|0)!=(d|0)){while(1){b=b+69|0;c=c+72|0;if((d|0)!=(c|0)){continue}break}}b=b+165|0;a:{if(!G[a+7364|0]){break a}b=b+69|0;if(G[a+7364|0]<2){break a}b=b+69|0}return b+4|0}function gc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=_-32|0;_=f;a:{if((oa(c)|0)!=32){F[a+3216>>2]=7;c=-1;break a}sa(b,c,f);c=-1;b=oa(e);if((b|0)==-1){F[a+3216>>2]=7;break a}sa(d,e,d);c=Qb(a,f,d,b)}_=f+32|0;return c|0}function Za(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;f=aa[F[441]](2804,d)|0;e=f+(aa[F[440]](2804)|0)|0;g=e+2|0;h=(g>>>0)/3|0;i=a;j=b;b=((g-L(h,3)|0)+(h<<2)|0)-2|0;a=(b+c|0)-e|0;aa[F[442]](2804,i,j,a,d,a,f,a,e)|0;Ca(a,e,c);return b}function se(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=L(e,f);g=c&65535;h=a&65535;i=L(g,h);f=(i>>>16|0)+L(f,g)|0;e=(f&65535)+L(e,h)|0;$=(L(b,c)+j|0)+L(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function eb(a,b,c){var d=0,e=0;F[c>>2]=0;a:{if(!a){break a}e=b;b=a+4|0;if(e>>>0<b>>>0){break a}d=G[a|0]<<8;F[c>>2]=d;d=(d|G[a+1|0])<<8;F[c>>2]=d;d=(d|G[a+2|0])<<8;F[c>>2]=d;F[c>>2]=d|G[a+3|0];d=b}return d}function yc(a){a=a|0;var b=0,c=0,d=0;b=a+164|0;c=F[a+160>>2];a:{if((b|0)!=(c|0)){a=1;while(1){if(!G[b+4|0]){d=d+55|0;a=0}b=b+72|0;if((c|0)!=(b|0)){continue}break}b=16;if(!a){break a}}b=17}return b+d|0}function pa(a,b,c,d,e){var f=0;f=_-256|0;_=f;if(!(e&73728|(c|0)<=(d|0))){c=c-d|0;d=c>>>0<256;qa(f,b&255,d?c:256);if(!d){while(1){na(a,f,256);c=c-256|0;if(c>>>0>255){continue}break}}na(a,f,c)}_=f+256|0}function Fb(a){var b=0;b=F[a+72>>2];F[a+72>>2]=b-1|b;b=F[a>>2];if(b&8){F[a>>2]=b|32;return-1}F[a+4>>2]=0;F[a+8>>2]=0;b=F[a+44>>2];F[a+28>>2]=b;F[a+20>>2]=b;F[a+16>>2]=b+F[a+48>>2];return 0} +function wc(a){a=a|0;var b=0,c=0,d=0;b=a+164|0;c=F[a+160>>2];if((b|0)!=(c|0)){while(1){if(!G[b+4|0]){D[b+4|0]=1;d=d+1|0}b=b+72|0;if((c|0)!=(b|0)){continue}break}}D[a+7372|0]=1;return d|0}function ud(a,b){a=a|0;b=b|0;var c=0;c=F[9340];b=aa[F[F[c>>2]+4>>2]](c,b)|0;c=F[9340];c=aa[F[F[c>>2]>>2]](c)|0;b=xb(F[a+128>>2],b,c)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function va(a,b,c){var d=0;F[c>>2]=0;if(!(!a|a+4>>>0>b>>>0)){b=G[a|0]<<8;F[c>>2]=b;b=(b|G[a+1|0])<<8;F[c>>2]=b;b=(b|G[a+2|0])<<8;F[c>>2]=b;F[c>>2]=b|G[a+3|0];d=a+4|0}return d}function La(a){var b=0,c=0;b=F[9342];c=a+3&-4;a=b+c|0;a:{if(a>>>0<=b>>>0?c:0){break a}if(a>>>0>ba()<<16>>>0){if(!(Y(a|0)|0)){break a}}F[9342]=a;return b}F[9343]=48;return-1}function yd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=a+132|0;if(Da(232)>>>0>e>>>0){F[a+228>>2]=2;return-1}sb(jb(a,la(_a(d,232),1)),f);return Za(b,c,d,232)|0}function ob(a,b){var c=0,d=0;d=F[a+44>>2]==(a+48|0)?0:F[a+112>>2];c=F[a+4>>2];b=aa[F[F[c>>2]+4>>2]](c,b)|0;a=F[a+4>>2];return zb(d,b,aa[F[F[a>>2]>>2]](a)|0)}function Zd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c>>>0<43){F[a>>2]=2;return-1}if(e>>>0<=31){F[a>>2]=15;return-1}a=a+4|0;kb(d,a);ma(a,32,b);return 0}function Ub(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(c>>>0<43){F[a>>2]=2;return-1}if(e>>>0<=31){F[a>>2]=15;return-1}a=a+4|0;Fa(d,a);ma(a,32,b);return 0}function kd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=15;return-1}if((Pa(b,c,b)|0)==-1){F[a>>2]=7;return-1}za(a+4|0,b,a+68|0);F[a+100>>2]=1;return 0}function qe(a){a=a|0;ia(a,36);F[a+32>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;F[a>>2]=0;F[a+4>>2]=0;return 36}function ge(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=a+4|0;if(Da(68)>>>0>e>>>0){F[a>>2]=2;return-1}Na(la(_a(d,68),1),f);return Za(b,c,d,68)|0}function vb(a,b,c){var d=0,e=0;a=va(a,b,c);a:{if(!a){break a}if(!(!a|(a|0)==(b|0))){D[c+4|0]=G[a|0]!=0;d=a+1|0}if(!d){break a}e=Ja(d,b,c+5|0)}return e}function yb(a){var b=0,c=0,d=0;b=1;if(a>>>0>=128){c=a;while(1){b=b+1|0;d=c>>>0>16383;c=c>>>7|0;if(d){continue}break}}return(a+b|0)+104|0}function _a(a,b){var c=0,d=0;c=aa[F[441]](2804,b)+aa[F[440]](2804)|0;d=c+2|0;b=(d>>>0)/3|0;return((((d-L(b,3)|0)+(b<<2)|0)-2|0)+a|0)-c|0}function zc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<86){F[a+7516>>2]=2;return-1}e=a;a=d+22|0;bb(e,b,c,a);ma(a,64,d);return 86}function Sb(a){F[a+8>>2]=0;F[a+4>>2]=1888;F[a>>2]=1872;F[a+492>>2]=a+496;F[a+148>>2]=a+152;F[a+44>>2]=a+48;D[a+3220|0]=0;F[a+3216>>2]=0}function Xd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<86){F[a>>2]=2;return-1}e=a+4|0;a=d+22|0;bb(e,b,c,a);ma(a,64,d);return 86}function lc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=oa(d);if((e|0)==-1){F[a+3216>>2]=7;return-1}sa(c,d,c);return Rb(a,b,0,c,e)|0}function Dc(a,b,c){a=a|0;b=b|0;c=c|0;a:{if(c>>>0<=63){F[a+7516>>2]=1;a=-1;break a}kb(b,a);Fa(b+32|0,a+96|0);a=0}ia(b,c);return a|0}function la(a,b){b=b<<8&16711680|b<<24|(b>>>8&65280|b>>>24);D[a|0]=b;D[a+1|0]=b>>>8;D[a+2|0]=b>>>16;D[a+3|0]=b>>>24;return a+4|0}function $b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(e>>>0<43){F[a>>2]=2;return-1}Kb(b,c,d+11|0);ma(d+11|0,32,d);return 43}function id(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(!F[a+100>>2]){F[a>>2]=16;return-1}Aa(a+68|0,32,0,0,b,c,d,e);return 0}function vd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<=159){F[a+228>>2]=1;return-1}$a(a,b,0);kb(b+128|0,a+132|0);ia(b,c);return 0}function hc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=oa(c);if((d|0)==-1){F[a+3216>>2]=7;return-1}sa(b,c,b);return Qb(a,0,b,d)|0}function Da(a){var b=0;b=(aa[F[441]](2804,a)+aa[F[440]](2804)|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Ta(a,b,c,d){var e=0,f=0;a:{if(!a){break a}e=b;b=a+d|0;if(e>>>0<b>>>0){break a}ja(c,a,d);f=b}return f}function oe(a,b){a=a|0;b=b|0;b=(aa[F[441]](F[1416],b)|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function ne(a){a=a|0;var b=0;b=(aa[F[440]](F[1416])|0)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function Mc(a){a=a|0;ia(a,7520);F[a+7512>>2]=0;F[a+7516>>2]=0;D[a+7364|0]=0;F[a+160>>2]=a+164;return 7520}function md(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<=31){F[a>>2]=1;return-1}Fa(b,a+4|0);F[a+100>>2]=0;return 0}function Pc(a){a=a|0;ia(a,7520);F[a+7512>>2]=0;F[a+7516>>2]=0;D[a+7364|0]=0;F[a+160>>2]=a+164;return a|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a+228>>2]=2;return-1}return Ca(a+132|0,32,b)|0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a+300>>2]=2;return-1}return Ca(a+264|0,32,b)|0}function pe(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=15;return-1}sa(b,43,a+4|0);return 0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;if(c>>>0<43){F[a>>2]=2;return-1}Ca(a+4|0,32,b);return 0}function Wc(a){a=a|0;a=F[a+7516>>2];if(a>>>0<=17){a=F[(a<<2)+2720>>2]}else{a=1191}return a|0}function Uc(a){a=a|0;a=F[a+3216>>2];if(a>>>0<=17){a=F[(a<<2)+2720>>2]}else{a=1191}return a|0}function Rd(a){a=a|0;a=F[a+300>>2];if(a>>>0<=17){a=F[(a<<2)+2720>>2]}else{a=1191}return a|0}function Bd(a){a=a|0;a=F[a+228>>2];if(a>>>0<=17){a=F[(a<<2)+2720>>2]}else{a=1191}return a|0}function dc(a,b){a=a|0;b=b|0;b=Pb(a,b)+2|0;a=(b>>>0)/3|0;return((b-L(a,3)|0)+(a<<2)|0)-2|0}function ue(a,b){var c=0,d=0;c=b&31;d=(-1>>>c&a)<<c;c=a;a=0-b&31;return d|(c&-1<<a)>>>a}function Wa(a){a=a|0;a=F[a>>2];if(a>>>0<=17){a=F[(a<<2)+2720>>2]}else{a=1191}return a|0}function oa(a){if((a&3)!=1){a=a+2|0;a=((a&3)+L(a>>>2|0,3)|0)-2|0}else{a=-1}return a}function Yc(a,b,c){a=a|0;b=b|0;c=c|0;if(a){D[a|0]=3}if(b){D[b|0]=2}if(c){D[c|0]=14}}function ib(a,b,c){b=Ta(b,c,a,128);if(!b){return 0}return eb(b,c,a+128|0)}function nc(a){a=a|0;if(G[a+7364|0]>=2){D[a+7364|0]=1;ia(a+7440|0,72)}}function ee(a,b){a=a|0;b=b|0;a=F[443];return aa[a|0](F[1416],oa(b))|0}function Vd(a){a=a|0;return(a>>>0<=17?F[(a<<2)+2720>>2]:1191)|0}function pc(a){a=a|0;return(G[a+7372|0]|!G[a+7364|0]?17:71)|0}function Pb(a,b){b=ob(a,b);if(!G[a+3220|0]){b=yb(b)}return b}function $d(a){a=a|0;ia(a,100);qa(a,0,100);return 100}function ec(a){a=a|0;return(F[a+44>>2]==(a+48|0))<<5}function jb(a,b){return la(Ua(b,a,128),F[a+128>>2])}function je(a){a=a|0;ia(a,68);qa(a,0,68);return 68}function Nc(a){a=a|0;ia(a,4);F[a>>2]=0;return a|0}function Lc(a){a=a|0;ia(a,3320);Sb(a);return 3320}function rc(a){a=a|0;return(G[a+7364|0]?71:17)|0}function Oc(a){a=a|0;ia(a,3320);Sb(a);return a|0}function Kc(a){a=a|0;ia(a,4);F[a>>2]=0;return 4}function Zc(a){a=a|0;a=_-a&-16;_=a;return a|0}function re(a,b){a=a|0;b=b|0;return b+16&-16}function $a(a,b,c){F[a+128>>2]=c;ja(a,b,128)}function od(a){a=a|0;ia(a,104);return a|0}function nd(a){a=a|0;ia(a,104);return 104}function ae(a){a=a|0;ia(a,100);return a|0}function Td(a){a=a|0;ia(a,304);return a|0}function Sd(a){a=a|0;ia(a,304);return 304}function Dd(a){a=a|0;ia(a,232);return a|0}function Cd(a){a=a|0;ia(a,232);return 232}function uc(a,b){a=a|0;b=b|0;return b<<5}function ke(a){a=a|0;ia(a,68);return a|0}function Xb(a){a=a|0;ia(a,36);return a|0}function Vc(a){a=a|0;return F[a+7516>>2]}function Tc(a){a=a|0;return F[a+3216>>2]}function tb(a){a=a|0;return G[a+3220|0]}function jd(a){a=a|0;return F[a+100>>2]}function _d(a,b){a=a|0;b=b|0;return b|0}function Ua(a,b,c){return ja(a,b,c)+c|0}function Qd(a){a=a|0;return F[a+300>>2]}function Lb(a){a=a|0;return F[a+128>>2]}function Jc(a){a=a|0;return Da(Ib(a))|0}function Ic(a){a=a|0;return Da(Ob(a))|0}function Hd(a){a=a|0;return F[a+296>>2]}function Ad(a){a=a|0;return F[a+228>>2]}function Wb(){F[9380]=37408;F[9362]=42}function zd(a){a=a|0;return Da(232)|0}function Nd(a){a=a|0;return Da(301)|0}function he(a){a=a|0;return Da(68)|0}function Va(a){a=a|0;return F[a>>2]}function Pa(a,b,c){return sa(a,b,c)}function za(a,b,c){Gb(c,a+32|0,b)}function wd(a){a=a|0;return 160}function vc(a){a=a|0;return 100}function rd(a){a=a|0;return 306}function Gd(a){a=a|0;return 220}function Cc(a){a=a|0;return 116}function ub(a){a=a|0;return 64}function qb(a){a=a|0;return 32}function Qa(a){a=a|0;return 43}function Ac(a){a=a|0;return 86}function Zb(a){a=a|0;return 8}function Sc(){return 7520}function Rc(){return 3320}function pd(){return 104}function be(){return 100}function _c(a){a=a|0;_=a}function Ud(){return 304}function Ed(){return 232}function $c(){return _|0}function pb(){return 32}function le(){return 68}function Yd(){return 86}function Yb(){return 36}function Vb(){return 43}function Xc(){return-1}function Qc(){return 4} +// EMSCRIPTEN_END_FUNCS +e=G;p(da);var aa=c([null,Zb,re,ie,_d,Wd,ed,dd,cd]);function ba(){return C.byteLength/65536|0}return{"d":Wb,"e":aa,"f":Yc,"g":Xc,"h":Wc,"i":Vd,"j":Vc,"k":Uc,"l":Tc,"m":Wa,"n":Va,"o":Sc,"p":Rc,"q":Qc,"r":Pc,"s":Oc,"t":Nc,"u":Mc,"v":Lc,"w":Kc,"x":Jc,"y":Ic,"z":Hc,"A":Gc,"B":Fc,"C":Ec,"D":ub,"E":Dc,"F":Cc,"G":Bc,"H":Ac,"I":zc,"J":yc,"K":xc,"L":wc,"M":vc,"N":uc,"O":tc,"P":qb,"Q":sc,"R":rc,"S":qc,"T":pc,"U":oc,"V":nc,"W":ub,"X":mc,"Y":lc,"Z":kc,"_":Qa,"$":jc,"aa":tb,"ba":ic,"ca":hc,"da":gc,"ea":fc,"fa":tb,"ga":ec,"ha":dc,"ia":cc,"ja":bc,"ka":ac,"la":Qa,"ma":$b,"na":_b,"oa":Wa,"pa":Va,"qa":Yb,"ra":Xb,"sa":qe,"ta":pe,"ua":Vb,"va":oe,"wa":ne,"xa":qb,"ya":me,"za":Wa,"Aa":Va,"Ba":le,"Ca":ke,"Da":je,"Ea":pb,"Fa":pb,"Ga":Ub,"Ha":Ub,"Ia":he,"Ja":ge,"Ka":fe,"La":ee,"Ma":de,"Na":ce,"Oa":be,"Pa":ae,"Qa":Wa,"Ra":Va,"Sa":$d,"Ta":pb,"Ua":Vb,"Va":Zd,"Wa":Yd,"Xa":Xd,"Ya":Ud,"Za":Td,"_a":Sd,"$a":Rd,"ab":Qd,"bb":Pd,"cb":Od,"db":Nd,"eb":Md,"fb":Ld,"gb":Kd,"hb":Jd,"ib":Qa,"jb":Id,"kb":Lb,"lb":Hd,"mb":Gd,"nb":Fd,"ob":Ed,"pb":Dd,"qb":Cd,"rb":Bd,"sb":Ad,"tb":zd,"ub":yd,"vb":xd,"wb":wd,"xb":vd,"yb":ud,"zb":td,"Ab":Qa,"Bb":sd,"Cb":Lb,"Db":rd,"Eb":qd,"Fb":Wa,"Gb":Va,"Hb":pd,"Ib":od,"Jb":nd,"Kb":qb,"Lb":md,"Mb":Qa,"Nb":ld,"Ob":kd,"Pb":jd,"Qb":id,"Rb":Qa,"Sb":hd,"Tb":gd,"Ub":fd,"Vb":bd,"Wb":ad,"Xb":$c,"Yb":_c,"Zb":Zc}}return ca(ea)} +// EMSCRIPTEN_END_ASM + + + + +)(ta)}function ua(){return{then:function(b){b({instance:new sa})}}}var va=Error,WebAssembly={};r=[];"object"!=typeof WebAssembly&&q("no native wasm support detected"); +var wa,xa=!1,ya="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0; +function t(b,c){if(b){var d=u,e=b+c;for(c=b;d[c]&&!(c>=e);)++c;if(16<c-b&&d.buffer&&ya)b=ya.decode(d.subarray(b,c));else{for(e="";b<c;){var f=d[b++];if(f&128){var k=d[b++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|k);else{var p=d[b++]&63;f=224==(f&240)?(f&15)<<12|k<<6|p:(f&7)<<18|k<<12|p<<6|d[b++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}b=e}}else b="";return b} +function w(b,c,d,e){if(!(0<e))return 0;var f=d;e=d+e-1;for(var k=0;k<b.length;++k){var p=b.charCodeAt(k);if(55296<=p&&57343>=p){var v=b.charCodeAt(++k);p=65536+((p&1023)<<10)|v&1023}if(127>=p){if(d>=e)break;c[d++]=p}else{if(2047>=p){if(d+1>=e)break;c[d++]=192|p>>6}else{if(65535>=p){if(d+2>=e)break;c[d++]=224|p>>12}else{if(d+3>=e)break;c[d++]=240|p>>18;c[d++]=128|p>>12&63}c[d++]=128|p>>6&63}c[d++]=128|p&63}}c[d]=0;return d-f} +function x(b){for(var c=0,d=0;d<b.length;++d){var e=b.charCodeAt(d);127>=e?c++:2047>=e?c+=2:55296<=e&&57343>=e?(c+=4,++d):c+=3}return c}var za,y,u,Aa,z,Ba,Ca,Ea,ra=a.INITIAL_MEMORY||16777216;a.wasmMemory?wa=a.wasmMemory:wa=new qa;wa&&(za=wa.buffer);ra=za.byteLength;var A=za;za=A;a.HEAP8=y=new Int8Array(A);a.HEAP16=Aa=new Int16Array(A);a.HEAP32=z=new Int32Array(A);a.HEAPU8=u=new Uint8Array(A);a.HEAPU16=new Uint16Array(A);a.HEAPU32=Ba=new Uint32Array(A);a.HEAPF32=Ca=new Float32Array(A); +a.HEAPF64=Ea=new Float64Array(A);var Fa=[],Ga=[],Ha=[];function Ia(){var b=a.preRun.shift();Fa.unshift(b)}var B=0,Ja=null,Ka=null;function q(b){if(a.onAbort)a.onAbort(b);b="Aborted("+b+")";pa(b);xa=!0;b=new va(b+". Build with -sASSERTIONS for more info.");ba(b);throw b;}var La="data:application/octet-stream;base64,",C;C="olm_legacy.wasm";if(!C.startsWith(La)){var Ma=C;C=a.locateFile?a.locateFile(Ma,m):m+Ma} +function Na(){var b=C;try{if(b==C&&r)return new Uint8Array(r);var c=n(b);if(c)return c;if(la)return la(b);throw"both async and sync fetching of the wasm failed";}catch(d){q(d)}} +function Oa(){if(!r&&(ha||l)){if("function"==typeof fetch&&!C.startsWith("file://"))return fetch(C,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+C+"'";return b.arrayBuffer()}).catch(function(){return Na()});if(ka)return new Promise(function(b,c){ka(C,function(d){b(new Uint8Array(d))},c)})}return Promise.resolve().then(function(){return Na()})}var Pa;function Qa(b){for(;0<b.length;)b.shift()(a)} +function Ra(b,c="i8"){c.endsWith("*")&&(c="*");switch(c){case "i1":return y[b>>0];case "i8":return y[b>>0];case "i16":return Aa[b>>1];case "i32":return z[b>>2];case "i64":return z[b>>2];case "float":return Ca[b>>2];case "double":return Ea[b>>3];case "*":return Ba[b>>2];default:q("invalid type for getValue: "+c)}return null} +function D(b){var c="i8";c.endsWith("*")&&(c="*");switch(c){case "i1":y[b>>0]=0;break;case "i8":y[b>>0]=0;break;case "i16":Aa[b>>1]=0;break;case "i32":z[b>>2]=0;break;case "i64":Pa=[0,0];z[b>>2]=Pa[0];z[b+4>>2]=Pa[1];break;case "float":Ca[b>>2]=0;break;case "double":Ea[b>>3]=0;break;case "*":Ba[b>>2]=0;break;default:q("invalid type for setValue: "+c)}}function Sa(b,c,d){for(var e=0;e<b.length;++e)y[c++>>0]=b.charCodeAt(e);d||(y[c>>0]=0)} +function Ta(b,c,d){d=Array(0<d?d:x(b)+1);b=w(b,d,0,d.length);c&&(d.length=b);return d} +var oa=!1,Ua="function"==typeof atob?atob:function(b){var c="",d=0;b=b.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));var p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));e=e<<2| +f>>4;f=(f&15)<<4|k>>2;var v=(k&3)<<6|p;c+=String.fromCharCode(e);64!==k&&(c+=String.fromCharCode(f));64!==p&&(c+=String.fromCharCode(v))}while(d<b.length);return c}; +function n(b){if(b.startsWith(La)){b=b.slice(La.length);if("boolean"==typeof ia&&ia){var c=Buffer.from(b,"base64");c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}else try{var d=Ua(b),e=new Uint8Array(d.length);for(b=0;b<d.length;++b)e[b]=d.charCodeAt(b);c=e}catch(f){throw Error("Converting base64 string to bytes failed.");}return c}}var ta={c:function(b,c,d){u.copyWithin(b,c,c+d)},b:function(){q("OOM")},a:wa}; +(function(){function b(f){a.asm=f.exports;Ga.unshift(a.asm.d);B--;a.monitorRunDependencies&&a.monitorRunDependencies(B);0==B&&(null!==Ja&&(clearInterval(Ja),Ja=null),Ka&&(f=Ka,Ka=null,f()))}function c(f){b(f.instance)}function d(f){return Oa().then(function(){return ua()}).then(function(k){return k}).then(f,function(k){pa("failed to asynchronously prepare wasm: "+k);q(k)})}var e={a:ta};B++;a.monitorRunDependencies&&a.monitorRunDependencies(B);if(a.instantiateWasm)try{return a.instantiateWasm(e,b)}catch(f){return pa("Module.instantiateWasm callback failed with error: "+ +f),!1}(function(){return r||"function"!=typeof WebAssembly.instantiateStreaming||C.startsWith(La)||C.startsWith("file://")||ia||"function"!=typeof fetch?d(c):fetch(C,{credentials:"same-origin"}).then(function(f){return WebAssembly.instantiateStreaming(f,e).then(c,function(k){pa("wasm streaming compile failed: "+k);pa("falling back to ArrayBuffer instantiation");return d(c)})})})().catch(ba);return{}})();a.___wasm_call_ctors=function(){return(a.___wasm_call_ctors=a.asm.d).apply(null,arguments)}; +a._olm_get_library_version=function(){return(a._olm_get_library_version=a.asm.f).apply(null,arguments)};a._olm_error=function(){return(a._olm_error=a.asm.g).apply(null,arguments)};a._olm_account_last_error=function(){return(a._olm_account_last_error=a.asm.h).apply(null,arguments)};a.__olm_error_to_string=function(){return(a.__olm_error_to_string=a.asm.i).apply(null,arguments)};a._olm_account_last_error_code=function(){return(a._olm_account_last_error_code=a.asm.j).apply(null,arguments)}; +a._olm_session_last_error=function(){return(a._olm_session_last_error=a.asm.k).apply(null,arguments)};a._olm_session_last_error_code=function(){return(a._olm_session_last_error_code=a.asm.l).apply(null,arguments)};a._olm_utility_last_error=function(){return(a._olm_utility_last_error=a.asm.m).apply(null,arguments)};a._olm_utility_last_error_code=function(){return(a._olm_utility_last_error_code=a.asm.n).apply(null,arguments)}; +a._olm_account_size=function(){return(a._olm_account_size=a.asm.o).apply(null,arguments)};a._olm_session_size=function(){return(a._olm_session_size=a.asm.p).apply(null,arguments)};a._olm_utility_size=function(){return(a._olm_utility_size=a.asm.q).apply(null,arguments)};a._olm_account=function(){return(a._olm_account=a.asm.r).apply(null,arguments)};a._olm_session=function(){return(a._olm_session=a.asm.s).apply(null,arguments)};a._olm_utility=function(){return(a._olm_utility=a.asm.t).apply(null,arguments)}; +a._olm_clear_account=function(){return(a._olm_clear_account=a.asm.u).apply(null,arguments)};a._olm_clear_session=function(){return(a._olm_clear_session=a.asm.v).apply(null,arguments)};a._olm_clear_utility=function(){return(a._olm_clear_utility=a.asm.w).apply(null,arguments)};a._olm_pickle_account_length=function(){return(a._olm_pickle_account_length=a.asm.x).apply(null,arguments)};a._olm_pickle_session_length=function(){return(a._olm_pickle_session_length=a.asm.y).apply(null,arguments)}; +a._olm_pickle_account=function(){return(a._olm_pickle_account=a.asm.z).apply(null,arguments)};a._olm_pickle_session=function(){return(a._olm_pickle_session=a.asm.A).apply(null,arguments)};a._olm_unpickle_account=function(){return(a._olm_unpickle_account=a.asm.B).apply(null,arguments)};a._olm_unpickle_session=function(){return(a._olm_unpickle_session=a.asm.C).apply(null,arguments)};a._olm_create_account_random_length=function(){return(a._olm_create_account_random_length=a.asm.D).apply(null,arguments)}; +a._olm_create_account=function(){return(a._olm_create_account=a.asm.E).apply(null,arguments)};a._olm_account_identity_keys_length=function(){return(a._olm_account_identity_keys_length=a.asm.F).apply(null,arguments)};a._olm_account_identity_keys=function(){return(a._olm_account_identity_keys=a.asm.G).apply(null,arguments)};a._olm_account_signature_length=function(){return(a._olm_account_signature_length=a.asm.H).apply(null,arguments)}; +a._olm_account_sign=function(){return(a._olm_account_sign=a.asm.I).apply(null,arguments)};a._olm_account_one_time_keys_length=function(){return(a._olm_account_one_time_keys_length=a.asm.J).apply(null,arguments)};a._olm_account_one_time_keys=function(){return(a._olm_account_one_time_keys=a.asm.K).apply(null,arguments)};a._olm_account_mark_keys_as_published=function(){return(a._olm_account_mark_keys_as_published=a.asm.L).apply(null,arguments)}; +a._olm_account_max_number_of_one_time_keys=function(){return(a._olm_account_max_number_of_one_time_keys=a.asm.M).apply(null,arguments)};a._olm_account_generate_one_time_keys_random_length=function(){return(a._olm_account_generate_one_time_keys_random_length=a.asm.N).apply(null,arguments)};a._olm_account_generate_one_time_keys=function(){return(a._olm_account_generate_one_time_keys=a.asm.O).apply(null,arguments)}; +a._olm_account_generate_fallback_key_random_length=function(){return(a._olm_account_generate_fallback_key_random_length=a.asm.P).apply(null,arguments)};a._olm_account_generate_fallback_key=function(){return(a._olm_account_generate_fallback_key=a.asm.Q).apply(null,arguments)};a._olm_account_fallback_key_length=function(){return(a._olm_account_fallback_key_length=a.asm.R).apply(null,arguments)};a._olm_account_fallback_key=function(){return(a._olm_account_fallback_key=a.asm.S).apply(null,arguments)}; +a._olm_account_unpublished_fallback_key_length=function(){return(a._olm_account_unpublished_fallback_key_length=a.asm.T).apply(null,arguments)};a._olm_account_unpublished_fallback_key=function(){return(a._olm_account_unpublished_fallback_key=a.asm.U).apply(null,arguments)};a._olm_account_forget_old_fallback_key=function(){return(a._olm_account_forget_old_fallback_key=a.asm.V).apply(null,arguments)}; +a._olm_create_outbound_session_random_length=function(){return(a._olm_create_outbound_session_random_length=a.asm.W).apply(null,arguments)};a._olm_create_outbound_session=function(){return(a._olm_create_outbound_session=a.asm.X).apply(null,arguments)};a._olm_create_inbound_session=function(){return(a._olm_create_inbound_session=a.asm.Y).apply(null,arguments)};a._olm_create_inbound_session_from=function(){return(a._olm_create_inbound_session_from=a.asm.Z).apply(null,arguments)}; +a._olm_session_id_length=function(){return(a._olm_session_id_length=a.asm._).apply(null,arguments)};a._olm_session_id=function(){return(a._olm_session_id=a.asm.$).apply(null,arguments)};a._olm_session_has_received_message=function(){return(a._olm_session_has_received_message=a.asm.aa).apply(null,arguments)};a._olm_session_describe=function(){return(a._olm_session_describe=a.asm.ba).apply(null,arguments)}; +a._olm_matches_inbound_session=function(){return(a._olm_matches_inbound_session=a.asm.ca).apply(null,arguments)};a._olm_matches_inbound_session_from=function(){return(a._olm_matches_inbound_session_from=a.asm.da).apply(null,arguments)};a._olm_remove_one_time_keys=function(){return(a._olm_remove_one_time_keys=a.asm.ea).apply(null,arguments)};a._olm_encrypt_message_type=function(){return(a._olm_encrypt_message_type=a.asm.fa).apply(null,arguments)}; +a._olm_encrypt_random_length=function(){return(a._olm_encrypt_random_length=a.asm.ga).apply(null,arguments)};a._olm_encrypt_message_length=function(){return(a._olm_encrypt_message_length=a.asm.ha).apply(null,arguments)};a._olm_encrypt=function(){return(a._olm_encrypt=a.asm.ia).apply(null,arguments)};a._olm_decrypt_max_plaintext_length=function(){return(a._olm_decrypt_max_plaintext_length=a.asm.ja).apply(null,arguments)};a._olm_decrypt=function(){return(a._olm_decrypt=a.asm.ka).apply(null,arguments)}; +a._olm_sha256_length=function(){return(a._olm_sha256_length=a.asm.la).apply(null,arguments)};a._olm_sha256=function(){return(a._olm_sha256=a.asm.ma).apply(null,arguments)};a._olm_ed25519_verify=function(){return(a._olm_ed25519_verify=a.asm.na).apply(null,arguments)};a._olm_pk_encryption_last_error=function(){return(a._olm_pk_encryption_last_error=a.asm.oa).apply(null,arguments)};a._olm_pk_encryption_last_error_code=function(){return(a._olm_pk_encryption_last_error_code=a.asm.pa).apply(null,arguments)}; +a._olm_pk_encryption_size=function(){return(a._olm_pk_encryption_size=a.asm.qa).apply(null,arguments)};a._olm_pk_encryption=function(){return(a._olm_pk_encryption=a.asm.ra).apply(null,arguments)};a._olm_clear_pk_encryption=function(){return(a._olm_clear_pk_encryption=a.asm.sa).apply(null,arguments)};a._olm_pk_encryption_set_recipient_key=function(){return(a._olm_pk_encryption_set_recipient_key=a.asm.ta).apply(null,arguments)}; +a._olm_pk_key_length=function(){return(a._olm_pk_key_length=a.asm.ua).apply(null,arguments)};a._olm_pk_ciphertext_length=function(){return(a._olm_pk_ciphertext_length=a.asm.va).apply(null,arguments)};a._olm_pk_mac_length=function(){return(a._olm_pk_mac_length=a.asm.wa).apply(null,arguments)};a._olm_pk_encrypt_random_length=function(){return(a._olm_pk_encrypt_random_length=a.asm.xa).apply(null,arguments)};a._olm_pk_encrypt=function(){return(a._olm_pk_encrypt=a.asm.ya).apply(null,arguments)}; +a._olm_pk_decryption_last_error=function(){return(a._olm_pk_decryption_last_error=a.asm.za).apply(null,arguments)};a._olm_pk_decryption_last_error_code=function(){return(a._olm_pk_decryption_last_error_code=a.asm.Aa).apply(null,arguments)};a._olm_pk_decryption_size=function(){return(a._olm_pk_decryption_size=a.asm.Ba).apply(null,arguments)};a._olm_pk_decryption=function(){return(a._olm_pk_decryption=a.asm.Ca).apply(null,arguments)}; +a._olm_clear_pk_decryption=function(){return(a._olm_clear_pk_decryption=a.asm.Da).apply(null,arguments)};a._olm_pk_private_key_length=function(){return(a._olm_pk_private_key_length=a.asm.Ea).apply(null,arguments)};a._olm_pk_generate_key_random_length=function(){return(a._olm_pk_generate_key_random_length=a.asm.Fa).apply(null,arguments)};a._olm_pk_key_from_private=function(){return(a._olm_pk_key_from_private=a.asm.Ga).apply(null,arguments)}; +a._olm_pk_generate_key=function(){return(a._olm_pk_generate_key=a.asm.Ha).apply(null,arguments)};a._olm_pickle_pk_decryption_length=function(){return(a._olm_pickle_pk_decryption_length=a.asm.Ia).apply(null,arguments)};a._olm_pickle_pk_decryption=function(){return(a._olm_pickle_pk_decryption=a.asm.Ja).apply(null,arguments)};a._olm_unpickle_pk_decryption=function(){return(a._olm_unpickle_pk_decryption=a.asm.Ka).apply(null,arguments)}; +a._olm_pk_max_plaintext_length=function(){return(a._olm_pk_max_plaintext_length=a.asm.La).apply(null,arguments)};a._olm_pk_decrypt=function(){return(a._olm_pk_decrypt=a.asm.Ma).apply(null,arguments)};a._olm_pk_get_private_key=function(){return(a._olm_pk_get_private_key=a.asm.Na).apply(null,arguments)};a._olm_pk_signing_size=function(){return(a._olm_pk_signing_size=a.asm.Oa).apply(null,arguments)};a._olm_pk_signing=function(){return(a._olm_pk_signing=a.asm.Pa).apply(null,arguments)}; +a._olm_pk_signing_last_error=function(){return(a._olm_pk_signing_last_error=a.asm.Qa).apply(null,arguments)};a._olm_pk_signing_last_error_code=function(){return(a._olm_pk_signing_last_error_code=a.asm.Ra).apply(null,arguments)};a._olm_clear_pk_signing=function(){return(a._olm_clear_pk_signing=a.asm.Sa).apply(null,arguments)};a._olm_pk_signing_seed_length=function(){return(a._olm_pk_signing_seed_length=a.asm.Ta).apply(null,arguments)}; +a._olm_pk_signing_public_key_length=function(){return(a._olm_pk_signing_public_key_length=a.asm.Ua).apply(null,arguments)};a._olm_pk_signing_key_from_seed=function(){return(a._olm_pk_signing_key_from_seed=a.asm.Va).apply(null,arguments)};a._olm_pk_signature_length=function(){return(a._olm_pk_signature_length=a.asm.Wa).apply(null,arguments)};a._olm_pk_sign=function(){return(a._olm_pk_sign=a.asm.Xa).apply(null,arguments)}; +a._olm_inbound_group_session_size=function(){return(a._olm_inbound_group_session_size=a.asm.Ya).apply(null,arguments)};a._olm_inbound_group_session=function(){return(a._olm_inbound_group_session=a.asm.Za).apply(null,arguments)};a._olm_clear_inbound_group_session=function(){return(a._olm_clear_inbound_group_session=a.asm._a).apply(null,arguments)};a._olm_inbound_group_session_last_error=function(){return(a._olm_inbound_group_session_last_error=a.asm.$a).apply(null,arguments)}; +a._olm_inbound_group_session_last_error_code=function(){return(a._olm_inbound_group_session_last_error_code=a.asm.ab).apply(null,arguments)};a._olm_init_inbound_group_session=function(){return(a._olm_init_inbound_group_session=a.asm.bb).apply(null,arguments)};a._olm_import_inbound_group_session=function(){return(a._olm_import_inbound_group_session=a.asm.cb).apply(null,arguments)}; +a._olm_pickle_inbound_group_session_length=function(){return(a._olm_pickle_inbound_group_session_length=a.asm.db).apply(null,arguments)};a._olm_pickle_inbound_group_session=function(){return(a._olm_pickle_inbound_group_session=a.asm.eb).apply(null,arguments)};a._olm_unpickle_inbound_group_session=function(){return(a._olm_unpickle_inbound_group_session=a.asm.fb).apply(null,arguments)}; +a._olm_group_decrypt_max_plaintext_length=function(){return(a._olm_group_decrypt_max_plaintext_length=a.asm.gb).apply(null,arguments)};a._olm_group_decrypt=function(){return(a._olm_group_decrypt=a.asm.hb).apply(null,arguments)};a._olm_inbound_group_session_id_length=function(){return(a._olm_inbound_group_session_id_length=a.asm.ib).apply(null,arguments)};a._olm_inbound_group_session_id=function(){return(a._olm_inbound_group_session_id=a.asm.jb).apply(null,arguments)}; +a._olm_inbound_group_session_first_known_index=function(){return(a._olm_inbound_group_session_first_known_index=a.asm.kb).apply(null,arguments)};a._olm_inbound_group_session_is_verified=function(){return(a._olm_inbound_group_session_is_verified=a.asm.lb).apply(null,arguments)};a._olm_export_inbound_group_session_length=function(){return(a._olm_export_inbound_group_session_length=a.asm.mb).apply(null,arguments)}; +a._olm_export_inbound_group_session=function(){return(a._olm_export_inbound_group_session=a.asm.nb).apply(null,arguments)};a._olm_outbound_group_session_size=function(){return(a._olm_outbound_group_session_size=a.asm.ob).apply(null,arguments)};a._olm_outbound_group_session=function(){return(a._olm_outbound_group_session=a.asm.pb).apply(null,arguments)};a._olm_clear_outbound_group_session=function(){return(a._olm_clear_outbound_group_session=a.asm.qb).apply(null,arguments)}; +a._olm_outbound_group_session_last_error=function(){return(a._olm_outbound_group_session_last_error=a.asm.rb).apply(null,arguments)};a._olm_outbound_group_session_last_error_code=function(){return(a._olm_outbound_group_session_last_error_code=a.asm.sb).apply(null,arguments)};a._olm_pickle_outbound_group_session_length=function(){return(a._olm_pickle_outbound_group_session_length=a.asm.tb).apply(null,arguments)}; +a._olm_pickle_outbound_group_session=function(){return(a._olm_pickle_outbound_group_session=a.asm.ub).apply(null,arguments)};a._olm_unpickle_outbound_group_session=function(){return(a._olm_unpickle_outbound_group_session=a.asm.vb).apply(null,arguments)};a._olm_init_outbound_group_session_random_length=function(){return(a._olm_init_outbound_group_session_random_length=a.asm.wb).apply(null,arguments)}; +a._olm_init_outbound_group_session=function(){return(a._olm_init_outbound_group_session=a.asm.xb).apply(null,arguments)};a._olm_group_encrypt_message_length=function(){return(a._olm_group_encrypt_message_length=a.asm.yb).apply(null,arguments)};a._olm_group_encrypt=function(){return(a._olm_group_encrypt=a.asm.zb).apply(null,arguments)};a._olm_outbound_group_session_id_length=function(){return(a._olm_outbound_group_session_id_length=a.asm.Ab).apply(null,arguments)}; +a._olm_outbound_group_session_id=function(){return(a._olm_outbound_group_session_id=a.asm.Bb).apply(null,arguments)};a._olm_outbound_group_session_message_index=function(){return(a._olm_outbound_group_session_message_index=a.asm.Cb).apply(null,arguments)};a._olm_outbound_group_session_key_length=function(){return(a._olm_outbound_group_session_key_length=a.asm.Db).apply(null,arguments)};a._olm_outbound_group_session_key=function(){return(a._olm_outbound_group_session_key=a.asm.Eb).apply(null,arguments)}; +a._olm_sas_last_error=function(){return(a._olm_sas_last_error=a.asm.Fb).apply(null,arguments)};a._olm_sas_last_error_code=function(){return(a._olm_sas_last_error_code=a.asm.Gb).apply(null,arguments)};a._olm_sas_size=function(){return(a._olm_sas_size=a.asm.Hb).apply(null,arguments)};a._olm_sas=function(){return(a._olm_sas=a.asm.Ib).apply(null,arguments)};a._olm_clear_sas=function(){return(a._olm_clear_sas=a.asm.Jb).apply(null,arguments)}; +a._olm_create_sas_random_length=function(){return(a._olm_create_sas_random_length=a.asm.Kb).apply(null,arguments)};a._olm_create_sas=function(){return(a._olm_create_sas=a.asm.Lb).apply(null,arguments)};a._olm_sas_pubkey_length=function(){return(a._olm_sas_pubkey_length=a.asm.Mb).apply(null,arguments)};a._olm_sas_get_pubkey=function(){return(a._olm_sas_get_pubkey=a.asm.Nb).apply(null,arguments)};a._olm_sas_set_their_key=function(){return(a._olm_sas_set_their_key=a.asm.Ob).apply(null,arguments)}; +a._olm_sas_is_their_key_set=function(){return(a._olm_sas_is_their_key_set=a.asm.Pb).apply(null,arguments)};a._olm_sas_generate_bytes=function(){return(a._olm_sas_generate_bytes=a.asm.Qb).apply(null,arguments)};a._olm_sas_mac_length=function(){return(a._olm_sas_mac_length=a.asm.Rb).apply(null,arguments)};a._olm_sas_calculate_mac_fixed_base64=function(){return(a._olm_sas_calculate_mac_fixed_base64=a.asm.Sb).apply(null,arguments)}; +a._olm_sas_calculate_mac=function(){return(a._olm_sas_calculate_mac=a.asm.Tb).apply(null,arguments)};a._olm_sas_calculate_mac_long_kdf=function(){return(a._olm_sas_calculate_mac_long_kdf=a.asm.Ub).apply(null,arguments)};a._malloc=function(){return(a._malloc=a.asm.Vb).apply(null,arguments)};a._free=function(){return(a._free=a.asm.Wb).apply(null,arguments)}; +var Va=a.stackSave=function(){return(Va=a.stackSave=a.asm.Xb).apply(null,arguments)},Wa=a.stackRestore=function(){return(Wa=a.stackRestore=a.asm.Yb).apply(null,arguments)},Xa=a.stackAlloc=function(){return(Xa=a.stackAlloc=a.asm.Zb).apply(null,arguments)};a.intArrayFromString=Ta;a.writeAsciiToMemory=Sa;a.ALLOC_STACK=1;var Ya;Ka=function Za(){Ya||$a();Ya||(Ka=Za)}; +function $a(){function b(){if(!Ya&&(Ya=!0,a.calledRun=!0,!xa)){Qa(Ga);aa(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for("function"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var c=a.postRun.shift();Ha.unshift(c)}Qa(Ha)}}if(!(0<B)){if(a.preRun)for("function"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)Ia();Qa(Fa);0<B||(a.setStatus?(a.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a.setStatus("")},1);b()},1)):b())}} +if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();$a();function E(){var b=a._olm_outbound_group_session_size();this.ac=F(b);this.$b=a._olm_outbound_group_session(this.ac)}function G(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_outbound_group_session_last_error(arguments[0])),Error("OLM."+c);return c}}E.prototype.free=function(){a._olm_clear_outbound_group_session(this.$b);H(this.$b)}; +E.prototype.pickle=J(function(b){b=K(b);var c=G(a._olm_pickle_outbound_group_session_length)(this.$b),d=L(b),e=L(c+1);try{G(a._olm_pickle_outbound_group_session)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)});E.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{G(a._olm_unpickle_outbound_group_session)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}}); +E.prototype.create=J(function(){var b=G(a._olm_init_outbound_group_session_random_length)(this.$b),c=N(b,g);try{G(a._olm_init_outbound_group_session)(this.$b,c,b)}finally{M(c,b)}});E.prototype.encrypt=function(b){try{var c=x(b);var d=G(a._olm_group_encrypt_message_length)(this.$b,c);var e=F(c+1);w(b,u,e,c+1);var f=F(d+1);G(a._olm_group_encrypt)(this.$b,e,c,f,d);D(f+d);return t(f,d)}finally{void 0!==e&&(M(e,c+1),H(e)),void 0!==f&&H(f)}}; +E.prototype.session_id=J(function(){var b=G(a._olm_outbound_group_session_id_length)(this.$b),c=L(b+1);G(a._olm_outbound_group_session_id)(this.$b,c,b);return t(c,b)});E.prototype.session_key=J(function(){var b=G(a._olm_outbound_group_session_key_length)(this.$b),c=L(b+1);G(a._olm_outbound_group_session_key)(this.$b,c,b);var d=t(c,b);M(c,b);return d});E.prototype.message_index=function(){return G(a._olm_outbound_group_session_message_index)(this.$b)};olm_exports.OutboundGroupSession=E; +function O(){var b=a._olm_inbound_group_session_size();this.ac=F(b);this.$b=a._olm_inbound_group_session(this.ac)}function P(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_inbound_group_session_last_error(arguments[0])),Error("OLM."+c);return c}}O.prototype.free=function(){a._olm_clear_inbound_group_session(this.$b);H(this.$b)}; +O.prototype.pickle=J(function(b){b=K(b);var c=P(a._olm_pickle_inbound_group_session_length)(this.$b),d=L(b),e=L(c+1);try{P(a._olm_pickle_inbound_group_session)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)});O.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{P(a._olm_unpickle_inbound_group_session)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}}); +O.prototype.create=J(function(b){b=K(b);var c=L(b);try{P(a._olm_init_inbound_group_session)(this.$b,c,b.length)}finally{for(M(c,b.length),c=0;c<b.length;c++)b[c]=0}});O.prototype.import_session=J(function(b){b=K(b);var c=L(b);try{P(a._olm_import_inbound_group_session)(this.$b,c,b.length)}finally{for(M(c,b.length),c=0;c<b.length;c++)b[c]=0}}); +O.prototype.decrypt=J(function(b){try{var c=F(b.length);Sa(b,c,!0);var d=P(a._olm_group_decrypt_max_plaintext_length)(this.$b,c,b.length);Sa(b,c,!0);var e=F(d+1);var f=L(4);var k=P(a._olm_group_decrypt)(this.$b,c,b.length,e,d,f);D(e+k);return{plaintext:t(e,k),message_index:Ra(f,"i32")}}finally{void 0!==c&&H(c),void 0!==e&&(M(e,k),H(e))}}); +O.prototype.session_id=J(function(){var b=P(a._olm_inbound_group_session_id_length)(this.$b),c=L(b+1);P(a._olm_inbound_group_session_id)(this.$b,c,b);return t(c,b)});O.prototype.first_known_index=J(function(){return P(a._olm_inbound_group_session_first_known_index)(this.$b)});O.prototype.export_session=J(function(b){var c=P(a._olm_export_inbound_group_session_length)(this.$b),d=L(c+1);G(a._olm_export_inbound_group_session)(this.$b,d,c,b);b=t(d,c);M(d,c);return b}); +olm_exports.InboundGroupSession=O;function ab(){var b=a._olm_pk_encryption_size();this.ac=F(b);this.$b=a._olm_pk_encryption(this.ac)}function Q(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_pk_encryption_last_error(arguments[0])),Error("OLM."+c);return c}}ab.prototype.free=function(){a._olm_clear_pk_encryption(this.$b);H(this.$b)};ab.prototype.set_recipient_key=J(function(b){b=K(b);var c=L(b);Q(a._olm_pk_encryption_set_recipient_key)(this.$b,c,b.length)}); +ab.prototype.encrypt=J(function(b){try{var c=x(b);var d=F(c+1);w(b,u,d,c+1);var e=Q(a._olm_pk_encrypt_random_length)();var f=N(e,g);var k=Q(a._olm_pk_ciphertext_length)(this.$b,c);var p=F(k+1);var v=Q(a._olm_pk_mac_length)(this.$b),ea=L(v+1);D(ea+v);var T=Q(a._olm_pk_key_length)(),I=L(T+1);D(I+T);Q(a._olm_pk_encrypt)(this.$b,d,c,p,k,ea,v,I,T,f,e);D(p+k);return{ciphertext:t(p,k),mac:t(ea,v),ephemeral:t(I,T)}}finally{void 0!==f&&M(f,e),void 0!==d&&(M(d,c+1),H(d)),void 0!==p&&H(p)}}); +function R(){var b=a._olm_pk_decryption_size();this.ac=F(b);this.$b=a._olm_pk_decryption(this.ac)}function S(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_pk_decryption_last_error(arguments[0])),Error("OLM."+c);return c}}R.prototype.free=function(){a._olm_clear_pk_decryption(this.$b);H(this.$b)}; +R.prototype.init_with_private_key=J(function(b){var c=L(b.length);a.HEAPU8.set(b,c);var d=S(a._olm_pk_key_length)(),e=L(d+1);try{S(a._olm_pk_key_from_private)(this.$b,e,d,c,b.length)}finally{M(c,b.length)}return t(e,d)});R.prototype.generate_key=J(function(){var b=S(a._olm_pk_private_key_length)(),c=N(b,g),d=S(a._olm_pk_key_length)(),e=L(d+1);try{S(a._olm_pk_key_from_private)(this.$b,e,d,c,b)}finally{M(c,b)}return t(e,d)}); +R.prototype.get_private_key=J(function(){var b=Q(a._olm_pk_private_key_length)(),c=L(b);S(a._olm_pk_get_private_key)(this.$b,c,b);var d=new Uint8Array(new Uint8Array(a.HEAPU8.buffer,c,b));M(c,b);return d});R.prototype.pickle=J(function(b){b=K(b);var c=S(a._olm_pickle_pk_decryption_length)(this.$b),d=L(b),e=L(c+1);try{S(a._olm_pickle_pk_decryption)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)}); +R.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b),e=K(c),f=L(e);c=S(a._olm_pk_key_length)();var k=L(c+1);try{S(a._olm_unpickle_pk_decryption)(this.$b,d,b.length,f,e.length,k,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(k,c)}); +R.prototype.decrypt=J(function(b,c,d){try{var e=x(d);var f=F(e+1);w(d,u,f,e+1);var k=K(b),p=L(k),v=K(c),ea=L(v);var T=S(a._olm_pk_max_plaintext_length)(this.$b,e);var I=F(T+1);var Da=S(a._olm_pk_decrypt)(this.$b,p,k.length,ea,v.length,f,e,I,T);D(I+Da);return t(I,Da)}finally{void 0!==I&&(M(I,Da+1),H(I)),void 0!==f&&H(f)}});function bb(){var b=a._olm_pk_signing_size();this.ac=F(b);this.$b=a._olm_pk_signing(this.ac)} +function cb(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_pk_signing_last_error(arguments[0])),Error("OLM."+c);return c}}bb.prototype.free=function(){a._olm_clear_pk_signing(this.$b);H(this.$b)};bb.prototype.init_with_seed=J(function(b){var c=L(b.length);a.HEAPU8.set(b,c);var d=cb(a._olm_pk_signing_public_key_length)(),e=L(d+1);try{cb(a._olm_pk_signing_key_from_seed)(this.$b,e,d,c,b.length)}finally{M(c,b.length)}return t(e,d)}); +bb.prototype.generate_seed=J(function(){var b=cb(a._olm_pk_signing_seed_length)(),c=N(b,g),d=new Uint8Array(new Uint8Array(a.HEAPU8.buffer,c,b));M(c,b);return d});bb.prototype.sign=J(function(b){try{var c=x(b);var d=F(c+1);w(b,u,d,c+1);var e=cb(a._olm_pk_signature_length)(),f=L(e+1);cb(a._olm_pk_sign)(this.$b,d,c,f,e);return t(f,e)}finally{void 0!==d&&(M(d,c+1),H(d))}}); +function U(){var b=a._olm_sas_size(),c=a._olm_create_sas_random_length(),d=N(c,g);this.ac=F(b);this.$b=a._olm_sas(this.ac);a._olm_create_sas(this.$b,d,c);M(d,c)}function V(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_sas_last_error(arguments[0])),Error("OLM."+c);return c}}U.prototype.free=function(){a._olm_clear_sas(this.$b);H(this.$b)}; +U.prototype.get_pubkey=J(function(){var b=V(a._olm_sas_pubkey_length)(this.$b),c=L(b+1);V(a._olm_sas_get_pubkey)(this.$b,c,b);return t(c,b)});U.prototype.set_their_key=J(function(b){b=K(b);var c=L(b);V(a._olm_sas_set_their_key)(this.$b,c,b.length)});U.prototype.is_their_key_set=J(function(){return V(a._olm_sas_is_their_key_set)(this.$b)?!0:!1}); +U.prototype.generate_bytes=J(function(b,c){b=K(b);var d=L(b),e=L(c);V(a._olm_sas_generate_bytes)(this.$b,d,b.length,e,c);return new Uint8Array(new Uint8Array(a.HEAPU8.buffer,e,c))});U.prototype.calculate_mac=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c),f=V(a._olm_sas_mac_length)(this.$b),k=L(f+1);V(a._olm_sas_calculate_mac)(this.$b,d,b.length,e,c.length,k,f);return t(k,f)}); +U.prototype.calculate_mac_fixed_base64=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c),f=V(a._olm_sas_mac_length)(this.$b),k=L(f+1);V(a._olm_sas_calculate_mac_fixed_base64)(this.$b,d,b.length,e,c.length,k,f);return t(k,f)});U.prototype.calculate_mac_long_kdf=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c),f=V(a._olm_sas_mac_length)(this.$b),k=L(f+1);V(a._olm_sas_calculate_mac_long_kdf)(this.$b,d,b.length,e,c.length,k,f);return t(k,f)});var F=a._malloc,H=a._free,h; +function N(b,c){var d=Xa(b);c(new Uint8Array(a.HEAPU8.buffer,d,b));return d}function L(b){return"number"==typeof b?N(b,function(c){c.fill(0)}):N(b.length,function(c){c.set(b)})}function K(b){return b instanceof Uint8Array?b:Ta(b,!0)}function J(b){return function(){var c=Va();try{return b.apply(this,arguments)}finally{Wa(c)}}}function M(b,c){for(;0<c--;)a.HEAP8[b++]=0}function W(){var b=a._olm_account_size();this.ac=F(b);this.$b=a._olm_account(this.ac)} +function X(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_account_last_error(arguments[0])),Error("OLM."+c);return c}}W.prototype.free=function(){a._olm_clear_account(this.$b);H(this.$b)};W.prototype.create=J(function(){var b=X(a._olm_create_account_random_length)(this.$b),c=N(b,g);try{X(a._olm_create_account)(this.$b,c,b)}finally{M(c,b)}}); +W.prototype.identity_keys=J(function(){var b=X(a._olm_account_identity_keys_length)(this.$b),c=L(b+1);X(a._olm_account_identity_keys)(this.$b,c,b);return t(c,b)});W.prototype.sign=J(function(b){var c=X(a._olm_account_signature_length)(this.$b);b=K(b);var d=L(b),e=L(c+1);try{X(a._olm_account_sign)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)}); +W.prototype.one_time_keys=J(function(){var b=X(a._olm_account_one_time_keys_length)(this.$b),c=L(b+1);X(a._olm_account_one_time_keys)(this.$b,c,b);return t(c,b)});W.prototype.mark_keys_as_published=J(function(){X(a._olm_account_mark_keys_as_published)(this.$b)});W.prototype.max_number_of_one_time_keys=J(function(){return X(a._olm_account_max_number_of_one_time_keys)(this.$b)}); +W.prototype.generate_one_time_keys=J(function(b){var c=X(a._olm_account_generate_one_time_keys_random_length)(this.$b,b),d=N(c,g);try{X(a._olm_account_generate_one_time_keys)(this.$b,b,d,c)}finally{M(d,c)}});W.prototype.remove_one_time_keys=J(function(b){X(a._olm_remove_one_time_keys)(this.$b,b.$b)});W.prototype.generate_fallback_key=J(function(){var b=X(a._olm_account_generate_fallback_key_random_length)(this.$b),c=N(b,g);try{X(a._olm_account_generate_fallback_key)(this.$b,c,b)}finally{M(c,b)}}); +W.prototype.fallback_key=J(function(){var b=X(a._olm_account_fallback_key_length)(this.$b),c=L(b+1);X(a._olm_account_fallback_key)(this.$b,c,b);return t(c,b)});W.prototype.unpublished_fallback_key=J(function(){var b=X(a._olm_account_unpublished_fallback_key_length)(this.$b),c=L(b+1);X(a._olm_account_unpublished_fallback_key)(this.$b,c,b);return t(c,b)});W.prototype.forget_old_fallback_key=J(function(){X(a._olm_account_forget_old_fallback_key)(this.$b)}); +W.prototype.pickle=J(function(b){b=K(b);var c=X(a._olm_pickle_account_length)(this.$b),d=L(b),e=L(c+1);try{X(a._olm_pickle_account)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)});W.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{X(a._olm_unpickle_account)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}});function Y(){var b=a._olm_session_size();this.ac=F(b);this.$b=a._olm_session(this.ac)} +function Z(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_session_last_error(arguments[0])),Error("OLM."+c);return c}}Y.prototype.free=function(){a._olm_clear_session(this.$b);H(this.$b)};Y.prototype.pickle=J(function(b){b=K(b);var c=Z(a._olm_pickle_session_length)(this.$b),d=L(b),e=L(c+1);try{Z(a._olm_pickle_session)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)}); +Y.prototype.unpickle=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);try{Z(a._olm_unpickle_session)(this.$b,d,b.length,e,c.length)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}});Y.prototype.create_outbound=J(function(b,c,d){var e=Z(a._olm_create_outbound_session_random_length)(this.$b),f=N(e,g);c=K(c);d=K(d);var k=L(c),p=L(d);try{Z(a._olm_create_outbound_session)(this.$b,b.$b,k,c.length,p,d.length,f,e)}finally{M(f,e)}}); +Y.prototype.create_inbound=J(function(b,c){c=K(c);var d=L(c);try{Z(a._olm_create_inbound_session)(this.$b,b.$b,d,c.length)}finally{for(M(d,c.length),b=0;b<c.length;b++)c[b]=0}});Y.prototype.create_inbound_from=J(function(b,c,d){c=K(c);var e=L(c);d=K(d);var f=L(d);try{Z(a._olm_create_inbound_session_from)(this.$b,b.$b,e,c.length,f,d.length)}finally{for(M(f,d.length),b=0;b<d.length;b++)d[b]=0}}); +Y.prototype.session_id=J(function(){var b=Z(a._olm_session_id_length)(this.$b),c=L(b+1);Z(a._olm_session_id)(this.$b,c,b);return t(c,b)});Y.prototype.has_received_message=function(){return Z(a._olm_session_has_received_message)(this.$b)?!0:!1};Y.prototype.matches_inbound=J(function(b){b=K(b);var c=L(b);return Z(a._olm_matches_inbound_session)(this.$b,c,b.length)?!0:!1}); +Y.prototype.matches_inbound_from=J(function(b,c){b=K(b);var d=L(b);c=K(c);var e=L(c);return Z(a._olm_matches_inbound_session_from)(this.$b,d,b.length,e,c.length)?!0:!1}); +Y.prototype.encrypt=J(function(b){try{var c=Z(a._olm_encrypt_random_length)(this.$b);var d=Z(a._olm_encrypt_message_type)(this.$b);var e=x(b);var f=Z(a._olm_encrypt_message_length)(this.$b,e);var k=N(c,g);var p=F(e+1);w(b,u,p,e+1);var v=F(f+1);Z(a._olm_encrypt)(this.$b,p,e,k,c,v,f);D(v+f);return{type:d,body:t(v,f)}}finally{void 0!==k&&M(k,c),void 0!==p&&(M(p,e+1),H(p)),void 0!==v&&H(v)}}); +Y.prototype.decrypt=J(function(b,c){try{var d=F(c.length);Sa(c,d,!0);var e=Z(a._olm_decrypt_max_plaintext_length)(this.$b,b,d,c.length);Sa(c,d,!0);var f=F(e+1);var k=Z(a._olm_decrypt)(this.$b,b,d,c.length,f,e);D(f+k);return t(f,k)}finally{void 0!==d&&H(d),void 0!==f&&(M(f,e),H(f))}});Y.prototype.describe=J(function(){try{var b=F(256);Z(a._olm_session_describe)(this.$b,b,256);return t(b)}finally{void 0!==b&&H(b)}}); +function db(){var b=a._olm_utility_size();this.ac=F(b);this.$b=a._olm_utility(this.ac)}function eb(b){return function(){var c=b.apply(this,arguments);if(c===h)throw c=t(a._olm_utility_last_error(arguments[0])),Error("OLM."+c);return c}}db.prototype.free=function(){a._olm_clear_utility(this.$b);H(this.$b)}; +db.prototype.sha256=J(function(b){var c=eb(a._olm_sha256_length)(this.$b);b=K(b);var d=L(b),e=L(c+1);try{eb(a._olm_sha256)(this.$b,d,b.length,e,c)}finally{for(M(d,b.length),d=0;d<b.length;d++)b[d]=0}return t(e,c)});db.prototype.ed25519_verify=J(function(b,c,d){b=K(b);var e=L(b);c=K(c);var f=L(c);d=K(d);var k=L(d);try{eb(a._olm_ed25519_verify)(this.$b,e,b.length,f,c.length,k,d.length)}finally{for(M(f,c.length),b=0;b<c.length;b++)c[b]=0}});olm_exports.Account=W;olm_exports.Session=Y; +olm_exports.Utility=db;olm_exports.PkEncryption=ab;olm_exports.PkDecryption=R;olm_exports.PkSigning=bb;olm_exports.SAS=U;olm_exports.get_library_version=J(function(){var b=L(3);a._olm_get_library_version(b,b+1,b+2);return[Ra(b,"i8"),Ra(b+1,"i8"),Ra(b+2,"i8")]}); + + + return Module.ready +} +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = Module; +else if (typeof define === 'function' && define['amd']) + define([], function() { return Module; }); +else if (typeof exports === 'object') + exports["Module"] = Module; +var olmInitPromise; + +olm_exports['init'] = function(opts) { + if (olmInitPromise) return olmInitPromise; + + if (opts) OLM_OPTIONS = opts; + + olmInitPromise = new Promise(function(resolve, reject) { + onInitSuccess = function() { + resolve(); + }; + onInitFail = function(err) { + reject(err); + }; + Module(); + }); + return olmInitPromise; +}; + +return olm_exports; + +})(); + +if (typeof(window) !== 'undefined') { + // We've been imported directly into a browser. Define the global 'Olm' object. + // (we do this even if module.exports was defined, because it's useful to have + // Olm in the global scope for browserified and webpacked apps.) + window["Olm"] = Olm; +} + +if (typeof module === 'object') { + // Emscripten sets the module exports to be its module + // with wrapped c functions. Clobber it with our higher + // level wrapper class. + module.exports = Olm; +} + +// @license-end diff --git a/pr-281/assets/vendor-10daaadc.js b/pr-281/assets/vendor-10daaadc.js @@ -0,0 +1,92 @@ +function y8(e,t){for(var r=0;r<t.length;r++){const n=t[r];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in e)){const a=Object.getOwnPropertyDescriptor(n,i);a&&Object.defineProperty(e,i,a.get?a:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var $e=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ww(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ns(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){if(this instanceof n){var i=[null];i.push.apply(i,arguments);var a=Function.bind.apply(t,i);return new a}return t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var i=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,i.get?i:{enumerable:!0,get:function(){return e[n]}})}),r}var bs={},Hw={get exports(){return bs},set exports(e){bs=e}},Np={},Oe={},Gw={get exports(){return Oe},set exports(e){Oe=e}},et={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Jd=Symbol.for("react.element"),zw=Symbol.for("react.portal"),Yw=Symbol.for("react.fragment"),Qw=Symbol.for("react.strict_mode"),Jw=Symbol.for("react.profiler"),Xw=Symbol.for("react.provider"),Zw=Symbol.for("react.context"),eb=Symbol.for("react.forward_ref"),tb=Symbol.for("react.suspense"),rb=Symbol.for("react.memo"),nb=Symbol.for("react.lazy"),i2=Symbol.iterator;function ib(e){return e===null||typeof e!="object"?null:(e=i2&&e[i2]||e["@@iterator"],typeof e=="function"?e:null)}var _8={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},S8=Object.assign,E8={};function Ls(e,t,r){this.props=e,this.context=t,this.refs=E8,this.updater=r||_8}Ls.prototype.isReactComponent={};Ls.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Ls.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function w8(){}w8.prototype=Ls.prototype;function ag(e,t,r){this.props=e,this.context=t,this.refs=E8,this.updater=r||_8}var og=ag.prototype=new w8;og.constructor=ag;S8(og,Ls.prototype);og.isPureReactComponent=!0;var a2=Array.isArray,b8=Object.prototype.hasOwnProperty,sg={current:null},T8={key:!0,ref:!0,__self:!0,__source:!0};function R8(e,t,r){var n,i={},a=null,o=null;if(t!=null)for(n in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(a=""+t.key),t)b8.call(t,n)&&!T8.hasOwnProperty(n)&&(i[n]=t[n]);var p=arguments.length-2;if(p===1)i.children=r;else if(1<p){for(var u=Array(p),y=0;y<p;y++)u[y]=arguments[y+2];i.children=u}if(e&&e.defaultProps)for(n in p=e.defaultProps,p)i[n]===void 0&&(i[n]=p[n]);return{$$typeof:Jd,type:e,key:a,ref:o,props:i,_owner:sg.current}}function ab(e,t){return{$$typeof:Jd,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function lg(e){return typeof e=="object"&&e!==null&&e.$$typeof===Jd}function ob(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var o2=/\/+/g;function I1(e,t){return typeof e=="object"&&e!==null&&e.key!=null?ob(""+e.key):t.toString(36)}function _c(e,t,r,n,i){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var o=!1;if(e===null)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case Jd:case zw:o=!0}}if(o)return o=e,i=i(o),e=n===""?"."+I1(o,0):n,a2(i)?(r="",e!=null&&(r=e.replace(o2,"$&/")+"/"),_c(i,t,r,"",function(y){return y})):i!=null&&(lg(i)&&(i=ab(i,r+(!i.key||o&&o.key===i.key?"":(""+i.key).replace(o2,"$&/")+"/")+e)),t.push(i)),1;if(o=0,n=n===""?".":n+":",a2(e))for(var p=0;p<e.length;p++){a=e[p];var u=n+I1(a,p);o+=_c(a,t,r,u,i)}else if(u=ib(e),typeof u=="function")for(e=u.call(e),p=0;!(a=e.next()).done;)a=a.value,u=n+I1(a,p++),o+=_c(a,t,r,u,i);else if(a==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return o}function Cu(e,t,r){if(e==null)return e;var n=[],i=0;return _c(e,n,"","",function(a){return t.call(r,a,i++)}),n}function sb(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var pr={current:null},Sc={transition:null},lb={ReactCurrentDispatcher:pr,ReactCurrentBatchConfig:Sc,ReactCurrentOwner:sg};et.Children={map:Cu,forEach:function(e,t,r){Cu(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return Cu(e,function(){t++}),t},toArray:function(e){return Cu(e,function(t){return t})||[]},only:function(e){if(!lg(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};et.Component=Ls;et.Fragment=Yw;et.Profiler=Jw;et.PureComponent=ag;et.StrictMode=Qw;et.Suspense=tb;et.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=lb;et.cloneElement=function(e,t,r){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var n=S8({},e.props),i=e.key,a=e.ref,o=e._owner;if(t!=null){if(t.ref!==void 0&&(a=t.ref,o=sg.current),t.key!==void 0&&(i=""+t.key),e.type&&e.type.defaultProps)var p=e.type.defaultProps;for(u in t)b8.call(t,u)&&!T8.hasOwnProperty(u)&&(n[u]=t[u]===void 0&&p!==void 0?p[u]:t[u])}var u=arguments.length-2;if(u===1)n.children=r;else if(1<u){p=Array(u);for(var y=0;y<u;y++)p[y]=arguments[y+2];n.children=p}return{$$typeof:Jd,type:e.type,key:i,ref:a,props:n,_owner:o}};et.createContext=function(e){return e={$$typeof:Zw,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:Xw,_context:e},e.Consumer=e};et.createElement=R8;et.createFactory=function(e){var t=R8.bind(null,e);return t.type=e,t};et.createRef=function(){return{current:null}};et.forwardRef=function(e){return{$$typeof:eb,render:e}};et.isValidElement=lg;et.lazy=function(e){return{$$typeof:nb,_payload:{_status:-1,_result:e},_init:sb}};et.memo=function(e,t){return{$$typeof:rb,type:e,compare:t===void 0?null:t}};et.startTransition=function(e){var t=Sc.transition;Sc.transition={};try{e()}finally{Sc.transition=t}};et.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.")};et.useCallback=function(e,t){return pr.current.useCallback(e,t)};et.useContext=function(e){return pr.current.useContext(e)};et.useDebugValue=function(){};et.useDeferredValue=function(e){return pr.current.useDeferredValue(e)};et.useEffect=function(e,t){return pr.current.useEffect(e,t)};et.useId=function(){return pr.current.useId()};et.useImperativeHandle=function(e,t,r){return pr.current.useImperativeHandle(e,t,r)};et.useInsertionEffect=function(e,t){return pr.current.useInsertionEffect(e,t)};et.useLayoutEffect=function(e,t){return pr.current.useLayoutEffect(e,t)};et.useMemo=function(e,t){return pr.current.useMemo(e,t)};et.useReducer=function(e,t,r){return pr.current.useReducer(e,t,r)};et.useRef=function(e){return pr.current.useRef(e)};et.useState=function(e){return pr.current.useState(e)};et.useSyncExternalStore=function(e,t,r){return pr.current.useSyncExternalStore(e,t,r)};et.useTransition=function(){return pr.current.useTransition()};et.version="18.2.0";(function(e){e.exports=et})(Gw);const db=Ww(Oe),Bh=y8({__proto__:null,default:db},[Oe]);/** + * @license React + * react-jsx-runtime.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var ub=Oe,cb=Symbol.for("react.element"),pb=Symbol.for("react.fragment"),fb=Object.prototype.hasOwnProperty,hb=ub.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,mb={key:!0,ref:!0,__self:!0,__source:!0};function I8(e,t,r){var n,i={},a=null,o=null;r!==void 0&&(a=""+r),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(o=t.ref);for(n in t)fb.call(t,n)&&!mb.hasOwnProperty(n)&&(i[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)i[n]===void 0&&(i[n]=t[n]);return{$$typeof:cb,type:e,key:a,ref:o,props:i,_owner:hb.current}}Np.Fragment=pb;Np.jsx=I8;Np.jsxs=I8;(function(e){e.exports=Np})(Hw);var s2={},jh={},vb={get exports(){return jh},set exports(e){jh=e}},$r={},Kh={},gb={get exports(){return Kh},set exports(e){Kh=e}},C8={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(e){function t(j,Y){var R=j.length;j.push(Y);e:for(;0<R;){var k=R-1>>>1,B=j[k];if(0<i(B,Y))j[k]=Y,j[R]=B,R=k;else break e}}function r(j){return j.length===0?null:j[0]}function n(j){if(j.length===0)return null;var Y=j[0],R=j.pop();if(R!==Y){j[0]=R;e:for(var k=0,B=j.length,$=B>>>1;k<$;){var C=2*(k+1)-1,N=j[C],T=C+1,ee=j[T];if(0>i(N,R))T<B&&0>i(ee,N)?(j[k]=ee,j[T]=R,k=T):(j[k]=N,j[C]=R,k=C);else if(T<B&&0>i(ee,R))j[k]=ee,j[T]=R,k=T;else break e}}return Y}function i(j,Y){var R=j.sortIndex-Y.sortIndex;return R!==0?R:j.id-Y.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,p=o.now();e.unstable_now=function(){return o.now()-p}}var u=[],y=[],s=1,m=null,g=3,S=!1,v=!1,h=!1,_=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,l=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function c(j){for(var Y=r(y);Y!==null;){if(Y.callback===null)n(y);else if(Y.startTime<=j)n(y),Y.sortIndex=Y.expirationTime,t(u,Y);else break;Y=r(y)}}function f(j){if(h=!1,c(j),!v)if(r(u)!==null)v=!0,X(E);else{var Y=r(y);Y!==null&&G(f,Y.startTime-j)}}function E(j,Y){v=!1,h&&(h=!1,d(D),D=-1),S=!0;var R=g;try{for(c(Y),m=r(u);m!==null&&(!(m.expirationTime>Y)||j&&!F());){var k=m.callback;if(typeof k=="function"){m.callback=null,g=m.priorityLevel;var B=k(m.expirationTime<=Y);Y=e.unstable_now(),typeof B=="function"?m.callback=B:m===r(u)&&n(u),c(Y)}else n(u);m=r(u)}if(m!==null)var $=!0;else{var C=r(y);C!==null&&G(f,C.startTime-Y),$=!1}return $}finally{m=null,g=R,S=!1}}var w=!1,I=null,D=-1,A=5,L=-1;function F(){return!(e.unstable_now()-L<A)}function x(){if(I!==null){var j=e.unstable_now();L=j;var Y=!0;try{Y=I(!0,j)}finally{Y?H():(w=!1,I=null)}}else w=!1}var H;if(typeof l=="function")H=function(){l(x)};else if(typeof MessageChannel<"u"){var K=new MessageChannel,W=K.port2;K.port1.onmessage=x,H=function(){W.postMessage(null)}}else H=function(){_(x,0)};function X(j){I=j,w||(w=!0,H())}function G(j,Y){D=_(function(){j(e.unstable_now())},Y)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(j){j.callback=null},e.unstable_continueExecution=function(){v||S||(v=!0,X(E))},e.unstable_forceFrameRate=function(j){0>j||125<j?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):A=0<j?Math.floor(1e3/j):5},e.unstable_getCurrentPriorityLevel=function(){return g},e.unstable_getFirstCallbackNode=function(){return r(u)},e.unstable_next=function(j){switch(g){case 1:case 2:case 3:var Y=3;break;default:Y=g}var R=g;g=Y;try{return j()}finally{g=R}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(j,Y){switch(j){case 1:case 2:case 3:case 4:case 5:break;default:j=3}var R=g;g=j;try{return Y()}finally{g=R}},e.unstable_scheduleCallback=function(j,Y,R){var k=e.unstable_now();switch(typeof R=="object"&&R!==null?(R=R.delay,R=typeof R=="number"&&0<R?k+R:k):R=k,j){case 1:var B=-1;break;case 2:B=250;break;case 5:B=1073741823;break;case 4:B=1e4;break;default:B=5e3}return B=R+B,j={id:s++,callback:Y,priorityLevel:j,startTime:R,expirationTime:B,sortIndex:-1},R>k?(j.sortIndex=R,t(y,j),r(u)===null&&j===r(y)&&(h?(d(D),D=-1):h=!0,G(f,R-k))):(j.sortIndex=B,t(u,j),v||S||(v=!0,X(E))),j},e.unstable_shouldYield=F,e.unstable_wrapCallback=function(j){var Y=g;return function(){var R=g;g=Y;try{return j.apply(this,arguments)}finally{g=R}}}})(C8);(function(e){e.exports=C8})(gb);/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var O8=Oe,xr=Kh;function we(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var P8=new Set,wd={};function fo(e,t){Ts(e,t),Ts(e+"Capture",t)}function Ts(e,t){for(wd[e]=t,e=0;e<t.length;e++)P8.add(t[e])}var mi=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Vh=Object.prototype.hasOwnProperty,yb=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,l2={},d2={};function _b(e){return Vh.call(d2,e)?!0:Vh.call(l2,e)?!1:yb.test(e)?d2[e]=!0:(l2[e]=!0,!1)}function Sb(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Eb(e,t,r,n){if(t===null||typeof t>"u"||Sb(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function fr(e,t,r,n,i,a,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=i,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=o}var Qt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Qt[e]=new fr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Qt[t]=new fr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Qt[e]=new fr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Qt[e]=new fr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Qt[e]=new fr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Qt[e]=new fr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Qt[e]=new fr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Qt[e]=new fr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Qt[e]=new fr(e,5,!1,e.toLowerCase(),null,!1,!1)});var dg=/[\-:]([a-z])/g;function ug(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(dg,ug);Qt[t]=new fr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(dg,ug);Qt[t]=new fr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(dg,ug);Qt[t]=new fr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Qt[e]=new fr(e,1,!1,e.toLowerCase(),null,!1,!1)});Qt.xlinkHref=new fr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Qt[e]=new fr(e,1,!1,e.toLowerCase(),null,!0,!0)});function cg(e,t,r,n){var i=Qt.hasOwnProperty(t)?Qt[t]:null;(i!==null?i.type!==0:n||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Eb(t,r,i,n)&&(r=null),n||i===null?_b(t)&&(r===null?e.removeAttribute(t):e.setAttribute(t,""+r)):i.mustUseProperty?e[i.propertyName]=r===null?i.type===3?!1:"":r:(t=i.attributeName,n=i.attributeNamespace,r===null?e.removeAttribute(t):(i=i.type,r=i===3||i===4&&r===!0?"":""+r,n?e.setAttributeNS(n,t,r):e.setAttribute(t,r))))}var _i=O8.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Ou=Symbol.for("react.element"),Jo=Symbol.for("react.portal"),Xo=Symbol.for("react.fragment"),pg=Symbol.for("react.strict_mode"),qh=Symbol.for("react.profiler"),k8=Symbol.for("react.provider"),D8=Symbol.for("react.context"),fg=Symbol.for("react.forward_ref"),Wh=Symbol.for("react.suspense"),Hh=Symbol.for("react.suspense_list"),hg=Symbol.for("react.memo"),Wi=Symbol.for("react.lazy"),M8=Symbol.for("react.offscreen"),u2=Symbol.iterator;function Xs(e){return e===null||typeof e!="object"?null:(e=u2&&e[u2]||e["@@iterator"],typeof e=="function"?e:null)}var Et=Object.assign,C1;function Xl(e){if(C1===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);C1=t&&t[1]||""}return` +`+C1+e}var O1=!1;function P1(e,t){if(!e||O1)return"";O1=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(y){var n=y}Reflect.construct(e,[],t)}else{try{t.call()}catch(y){n=y}e.call(t.prototype)}else{try{throw Error()}catch(y){n=y}e()}}catch(y){if(y&&n&&typeof y.stack=="string"){for(var i=y.stack.split(` +`),a=n.stack.split(` +`),o=i.length-1,p=a.length-1;1<=o&&0<=p&&i[o]!==a[p];)p--;for(;1<=o&&0<=p;o--,p--)if(i[o]!==a[p]){if(o!==1||p!==1)do if(o--,p--,0>p||i[o]!==a[p]){var u=` +`+i[o].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}while(1<=o&&0<=p);break}}}finally{O1=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?Xl(e):""}function wb(e){switch(e.tag){case 5:return Xl(e.type);case 16:return Xl("Lazy");case 13:return Xl("Suspense");case 19:return Xl("SuspenseList");case 0:case 2:case 15:return e=P1(e.type,!1),e;case 11:return e=P1(e.type.render,!1),e;case 1:return e=P1(e.type,!0),e;default:return""}}function Gh(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Xo:return"Fragment";case Jo:return"Portal";case qh:return"Profiler";case pg:return"StrictMode";case Wh:return"Suspense";case Hh:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case D8:return(e.displayName||"Context")+".Consumer";case k8:return(e._context.displayName||"Context")+".Provider";case fg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case hg:return t=e.displayName||null,t!==null?t:Gh(e.type)||"Memo";case Wi:t=e._payload,e=e._init;try{return Gh(e(t))}catch{}}return null}function bb(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Gh(t);case 8:return t===pg?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function fa(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function A8(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Tb(e){var t=A8(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){n=""+o,a.call(this,o)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(o){n=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Pu(e){e._valueTracker||(e._valueTracker=Tb(e))}function N8(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=A8(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function Bc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function zh(e,t){var r=t.checked;return Et({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function c2(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=fa(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function L8(e,t){t=t.checked,t!=null&&cg(e,"checked",t,!1)}function Yh(e,t){L8(e,t);var r=fa(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Qh(e,t.type,r):t.hasOwnProperty("defaultValue")&&Qh(e,t.type,fa(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function p2(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function Qh(e,t,r){(t!=="number"||Bc(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var Zl=Array.isArray;function ps(e,t,r,n){if(e=e.options,t){t={};for(var i=0;i<r.length;i++)t["$"+r[i]]=!0;for(r=0;r<e.length;r++)i=t.hasOwnProperty("$"+e[r].value),e[r].selected!==i&&(e[r].selected=i),i&&n&&(e[r].defaultSelected=!0)}else{for(r=""+fa(r),t=null,i=0;i<e.length;i++){if(e[i].value===r){e[i].selected=!0,n&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Jh(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(we(91));return Et({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function f2(e,t){var r=t.value;if(r==null){if(r=t.children,t=t.defaultValue,r!=null){if(t!=null)throw Error(we(92));if(Zl(r)){if(1<r.length)throw Error(we(93));r=r[0]}t=r}t==null&&(t=""),r=t}e._wrapperState={initialValue:fa(r)}}function x8(e,t){var r=fa(t.value),n=fa(t.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),t.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),n!=null&&(e.defaultValue=""+n)}function h2(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function U8(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Xh(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?U8(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var ku,$8=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,r,n,i){MSApp.execUnsafeLocalFunction(function(){return e(t,r,n,i)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(ku=ku||document.createElement("div"),ku.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ku.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function bd(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var od={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Rb=["Webkit","ms","Moz","O"];Object.keys(od).forEach(function(e){Rb.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),od[t]=od[e]})});function F8(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||od.hasOwnProperty(e)&&od[e]?(""+t).trim():t+"px"}function B8(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,i=F8(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,i):e[r]=i}}var Ib=Et({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Zh(e,t){if(t){if(Ib[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(we(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(we(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(we(61))}if(t.style!=null&&typeof t.style!="object")throw Error(we(62))}}function em(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tm=null;function mg(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var rm=null,fs=null,hs=null;function m2(e){if(e=eu(e)){if(typeof rm!="function")throw Error(we(280));var t=e.stateNode;t&&(t=Fp(t),rm(e.stateNode,e.type,t))}}function j8(e){fs?hs?hs.push(e):hs=[e]:fs=e}function K8(){if(fs){var e=fs,t=hs;if(hs=fs=null,m2(e),t)for(e=0;e<t.length;e++)m2(t[e])}}function V8(e,t){return e(t)}function q8(){}var k1=!1;function W8(e,t,r){if(k1)return e(t,r);k1=!0;try{return V8(e,t,r)}finally{k1=!1,(fs!==null||hs!==null)&&(q8(),K8())}}function Td(e,t){var r=e.stateNode;if(r===null)return null;var n=Fp(r);if(n===null)return null;r=n[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(n=!n.disabled)||(e=e.type,n=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!n;break e;default:e=!1}if(e)return null;if(r&&typeof r!="function")throw Error(we(231,t,typeof r));return r}var nm=!1;if(mi)try{var Zs={};Object.defineProperty(Zs,"passive",{get:function(){nm=!0}}),window.addEventListener("test",Zs,Zs),window.removeEventListener("test",Zs,Zs)}catch{nm=!1}function Cb(e,t,r,n,i,a,o,p,u){var y=Array.prototype.slice.call(arguments,3);try{t.apply(r,y)}catch(s){this.onError(s)}}var sd=!1,jc=null,Kc=!1,im=null,Ob={onError:function(e){sd=!0,jc=e}};function Pb(e,t,r,n,i,a,o,p,u){sd=!1,jc=null,Cb.apply(Ob,arguments)}function kb(e,t,r,n,i,a,o,p,u){if(Pb.apply(this,arguments),sd){if(sd){var y=jc;sd=!1,jc=null}else throw Error(we(198));Kc||(Kc=!0,im=y)}}function ho(e){var t=e,r=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(r=t.return),e=t.return;while(e)}return t.tag===3?r:null}function H8(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function v2(e){if(ho(e)!==e)throw Error(we(188))}function Db(e){var t=e.alternate;if(!t){if(t=ho(e),t===null)throw Error(we(188));return t!==e?null:e}for(var r=e,n=t;;){var i=r.return;if(i===null)break;var a=i.alternate;if(a===null){if(n=i.return,n!==null){r=n;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===r)return v2(i),e;if(a===n)return v2(i),t;a=a.sibling}throw Error(we(188))}if(r.return!==n.return)r=i,n=a;else{for(var o=!1,p=i.child;p;){if(p===r){o=!0,r=i,n=a;break}if(p===n){o=!0,n=i,r=a;break}p=p.sibling}if(!o){for(p=a.child;p;){if(p===r){o=!0,r=a,n=i;break}if(p===n){o=!0,n=a,r=i;break}p=p.sibling}if(!o)throw Error(we(189))}}if(r.alternate!==n)throw Error(we(190))}if(r.tag!==3)throw Error(we(188));return r.stateNode.current===r?e:t}function G8(e){return e=Db(e),e!==null?z8(e):null}function z8(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=z8(e);if(t!==null)return t;e=e.sibling}return null}var Y8=xr.unstable_scheduleCallback,g2=xr.unstable_cancelCallback,Mb=xr.unstable_shouldYield,Ab=xr.unstable_requestPaint,Ot=xr.unstable_now,Nb=xr.unstable_getCurrentPriorityLevel,vg=xr.unstable_ImmediatePriority,Q8=xr.unstable_UserBlockingPriority,Vc=xr.unstable_NormalPriority,Lb=xr.unstable_LowPriority,J8=xr.unstable_IdlePriority,Lp=null,Gn=null;function xb(e){if(Gn&&typeof Gn.onCommitFiberRoot=="function")try{Gn.onCommitFiberRoot(Lp,e,void 0,(e.current.flags&128)===128)}catch{}}var _n=Math.clz32?Math.clz32:Fb,Ub=Math.log,$b=Math.LN2;function Fb(e){return e>>>=0,e===0?32:31-(Ub(e)/$b|0)|0}var Du=64,Mu=4194304;function ed(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function qc(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,i=e.suspendedLanes,a=e.pingedLanes,o=r&268435455;if(o!==0){var p=o&~i;p!==0?n=ed(p):(a&=o,a!==0&&(n=ed(a)))}else o=r&~i,o!==0?n=ed(o):a!==0&&(n=ed(a));if(n===0)return 0;if(t!==0&&t!==n&&!(t&i)&&(i=n&-n,a=t&-t,i>=a||i===16&&(a&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0<t;)r=31-_n(t),i=1<<r,n|=e[r],t&=~i;return n}function Bb(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function jb(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes;0<a;){var o=31-_n(a),p=1<<o,u=i[o];u===-1?(!(p&r)||p&n)&&(i[o]=Bb(p,t)):u<=t&&(e.expiredLanes|=p),a&=~p}}function am(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function X8(){var e=Du;return Du<<=1,!(Du&4194240)&&(Du=64),e}function D1(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Xd(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-_n(t),e[t]=r}function Kb(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0<r;){var i=31-_n(r),a=1<<i;t[i]=0,n[i]=-1,e[i]=-1,r&=~a}}function gg(e,t){var r=e.entangledLanes|=t;for(e=e.entanglements;r;){var n=31-_n(r),i=1<<n;i&t|e[n]&t&&(e[n]|=t),r&=~i}}var lt=0;function Z8(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var e_,yg,t_,r_,n_,om=!1,Au=[],ra=null,na=null,ia=null,Rd=new Map,Id=new Map,Gi=[],Vb="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function y2(e,t){switch(e){case"focusin":case"focusout":ra=null;break;case"dragenter":case"dragleave":na=null;break;case"mouseover":case"mouseout":ia=null;break;case"pointerover":case"pointerout":Rd.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Id.delete(t.pointerId)}}function el(e,t,r,n,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:r,eventSystemFlags:n,nativeEvent:a,targetContainers:[i]},t!==null&&(t=eu(t),t!==null&&yg(t)),e):(e.eventSystemFlags|=n,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function qb(e,t,r,n,i){switch(t){case"focusin":return ra=el(ra,e,t,r,n,i),!0;case"dragenter":return na=el(na,e,t,r,n,i),!0;case"mouseover":return ia=el(ia,e,t,r,n,i),!0;case"pointerover":var a=i.pointerId;return Rd.set(a,el(Rd.get(a)||null,e,t,r,n,i)),!0;case"gotpointercapture":return a=i.pointerId,Id.set(a,el(Id.get(a)||null,e,t,r,n,i)),!0}return!1}function i_(e){var t=za(e.target);if(t!==null){var r=ho(t);if(r!==null){if(t=r.tag,t===13){if(t=H8(r),t!==null){e.blockedOn=t,n_(e.priority,function(){t_(r)});return}}else if(t===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ec(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var r=sm(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(r===null){r=e.nativeEvent;var n=new r.constructor(r.type,r);tm=n,r.target.dispatchEvent(n),tm=null}else return t=eu(r),t!==null&&yg(t),e.blockedOn=r,!1;t.shift()}return!0}function _2(e,t,r){Ec(e)&&r.delete(t)}function Wb(){om=!1,ra!==null&&Ec(ra)&&(ra=null),na!==null&&Ec(na)&&(na=null),ia!==null&&Ec(ia)&&(ia=null),Rd.forEach(_2),Id.forEach(_2)}function tl(e,t){e.blockedOn===t&&(e.blockedOn=null,om||(om=!0,xr.unstable_scheduleCallback(xr.unstable_NormalPriority,Wb)))}function Cd(e){function t(i){return tl(i,e)}if(0<Au.length){tl(Au[0],e);for(var r=1;r<Au.length;r++){var n=Au[r];n.blockedOn===e&&(n.blockedOn=null)}}for(ra!==null&&tl(ra,e),na!==null&&tl(na,e),ia!==null&&tl(ia,e),Rd.forEach(t),Id.forEach(t),r=0;r<Gi.length;r++)n=Gi[r],n.blockedOn===e&&(n.blockedOn=null);for(;0<Gi.length&&(r=Gi[0],r.blockedOn===null);)i_(r),r.blockedOn===null&&Gi.shift()}var ms=_i.ReactCurrentBatchConfig,Wc=!0;function Hb(e,t,r,n){var i=lt,a=ms.transition;ms.transition=null;try{lt=1,_g(e,t,r,n)}finally{lt=i,ms.transition=a}}function Gb(e,t,r,n){var i=lt,a=ms.transition;ms.transition=null;try{lt=4,_g(e,t,r,n)}finally{lt=i,ms.transition=a}}function _g(e,t,r,n){if(Wc){var i=sm(e,t,r,n);if(i===null)j1(e,t,n,Hc,r),y2(e,n);else if(qb(i,e,t,r,n))n.stopPropagation();else if(y2(e,n),t&4&&-1<Vb.indexOf(e)){for(;i!==null;){var a=eu(i);if(a!==null&&e_(a),a=sm(e,t,r,n),a===null&&j1(e,t,n,Hc,r),a===i)break;i=a}i!==null&&n.stopPropagation()}else j1(e,t,n,null,r)}}var Hc=null;function sm(e,t,r,n){if(Hc=null,e=mg(n),e=za(e),e!==null)if(t=ho(e),t===null)e=null;else if(r=t.tag,r===13){if(e=H8(t),e!==null)return e;e=null}else if(r===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Hc=e,null}function a_(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Nb()){case vg:return 1;case Q8:return 4;case Vc:case Lb:return 16;case J8:return 536870912;default:return 16}default:return 16}}var Xi=null,Sg=null,wc=null;function o_(){if(wc)return wc;var e,t=Sg,r=t.length,n,i="value"in Xi?Xi.value:Xi.textContent,a=i.length;for(e=0;e<r&&t[e]===i[e];e++);var o=r-e;for(n=1;n<=o&&t[r-n]===i[a-n];n++);return wc=i.slice(e,1<n?1-n:void 0)}function bc(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Nu(){return!0}function S2(){return!1}function Fr(e){function t(r,n,i,a,o){this._reactName=r,this._targetInst=i,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null;for(var p in e)e.hasOwnProperty(p)&&(r=e[p],this[p]=r?r(a):a[p]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Nu:S2,this.isPropagationStopped=S2,this}return Et(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Nu)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Nu)},persist:function(){},isPersistent:Nu}),t}var xs={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Eg=Fr(xs),Zd=Et({},xs,{view:0,detail:0}),zb=Fr(Zd),M1,A1,rl,xp=Et({},Zd,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:wg,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==rl&&(rl&&e.type==="mousemove"?(M1=e.screenX-rl.screenX,A1=e.screenY-rl.screenY):A1=M1=0,rl=e),M1)},movementY:function(e){return"movementY"in e?e.movementY:A1}}),E2=Fr(xp),Yb=Et({},xp,{dataTransfer:0}),Qb=Fr(Yb),Jb=Et({},Zd,{relatedTarget:0}),N1=Fr(Jb),Xb=Et({},xs,{animationName:0,elapsedTime:0,pseudoElement:0}),Zb=Fr(Xb),eT=Et({},xs,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),tT=Fr(eT),rT=Et({},xs,{data:0}),w2=Fr(rT),nT={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},iT={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},aT={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function oT(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=aT[e])?!!t[e]:!1}function wg(){return oT}var sT=Et({},Zd,{key:function(e){if(e.key){var t=nT[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=bc(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?iT[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:wg,charCode:function(e){return e.type==="keypress"?bc(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?bc(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),lT=Fr(sT),dT=Et({},xp,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),b2=Fr(dT),uT=Et({},Zd,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:wg}),cT=Fr(uT),pT=Et({},xs,{propertyName:0,elapsedTime:0,pseudoElement:0}),fT=Fr(pT),hT=Et({},xp,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),mT=Fr(hT),vT=[9,13,27,32],bg=mi&&"CompositionEvent"in window,ld=null;mi&&"documentMode"in document&&(ld=document.documentMode);var gT=mi&&"TextEvent"in window&&!ld,s_=mi&&(!bg||ld&&8<ld&&11>=ld),T2=String.fromCharCode(32),R2=!1;function l_(e,t){switch(e){case"keyup":return vT.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function d_(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Zo=!1;function yT(e,t){switch(e){case"compositionend":return d_(t);case"keypress":return t.which!==32?null:(R2=!0,T2);case"textInput":return e=t.data,e===T2&&R2?null:e;default:return null}}function _T(e,t){if(Zo)return e==="compositionend"||!bg&&l_(e,t)?(e=o_(),wc=Sg=Xi=null,Zo=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return s_&&t.locale!=="ko"?null:t.data;default:return null}}var ST={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function I2(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ST[e.type]:t==="textarea"}function u_(e,t,r,n){j8(n),t=Gc(t,"onChange"),0<t.length&&(r=new Eg("onChange","change",null,r,n),e.push({event:r,listeners:t}))}var dd=null,Od=null;function ET(e){E_(e,0)}function Up(e){var t=rs(e);if(N8(t))return e}function wT(e,t){if(e==="change")return t}var c_=!1;if(mi){var L1;if(mi){var x1="oninput"in document;if(!x1){var C2=document.createElement("div");C2.setAttribute("oninput","return;"),x1=typeof C2.oninput=="function"}L1=x1}else L1=!1;c_=L1&&(!document.documentMode||9<document.documentMode)}function O2(){dd&&(dd.detachEvent("onpropertychange",p_),Od=dd=null)}function p_(e){if(e.propertyName==="value"&&Up(Od)){var t=[];u_(t,Od,e,mg(e)),W8(ET,t)}}function bT(e,t,r){e==="focusin"?(O2(),dd=t,Od=r,dd.attachEvent("onpropertychange",p_)):e==="focusout"&&O2()}function TT(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Up(Od)}function RT(e,t){if(e==="click")return Up(t)}function IT(e,t){if(e==="input"||e==="change")return Up(t)}function CT(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wn=typeof Object.is=="function"?Object.is:CT;function Pd(e,t){if(wn(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(n=0;n<r.length;n++){var i=r[n];if(!Vh.call(t,i)||!wn(e[i],t[i]))return!1}return!0}function P2(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function k2(e,t){var r=P2(e);e=0;for(var n;r;){if(r.nodeType===3){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=P2(r)}}function f_(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?f_(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function h_(){for(var e=window,t=Bc();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=Bc(e.document)}return t}function Tg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function OT(e){var t=h_(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&f_(r.ownerDocument.documentElement,r)){if(n!==null&&Tg(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=r.textContent.length,a=Math.min(n.start,i);n=n.end===void 0?a:Math.min(n.end,i),!e.extend&&a>n&&(i=n,n=a,a=i),i=k2(r,a);var o=k2(r,n);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),a>n?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<t.length;r++)e=t[r],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var PT=mi&&"documentMode"in document&&11>=document.documentMode,es=null,lm=null,ud=null,dm=!1;function D2(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;dm||es==null||es!==Bc(n)||(n=es,"selectionStart"in n&&Tg(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),ud&&Pd(ud,n)||(ud=n,n=Gc(lm,"onSelect"),0<n.length&&(t=new Eg("onSelect","select",null,t,r),e.push({event:t,listeners:n}),t.target=es)))}function Lu(e,t){var r={};return r[e.toLowerCase()]=t.toLowerCase(),r["Webkit"+e]="webkit"+t,r["Moz"+e]="moz"+t,r}var ts={animationend:Lu("Animation","AnimationEnd"),animationiteration:Lu("Animation","AnimationIteration"),animationstart:Lu("Animation","AnimationStart"),transitionend:Lu("Transition","TransitionEnd")},U1={},m_={};mi&&(m_=document.createElement("div").style,"AnimationEvent"in window||(delete ts.animationend.animation,delete ts.animationiteration.animation,delete ts.animationstart.animation),"TransitionEvent"in window||delete ts.transitionend.transition);function $p(e){if(U1[e])return U1[e];if(!ts[e])return e;var t=ts[e],r;for(r in t)if(t.hasOwnProperty(r)&&r in m_)return U1[e]=t[r];return e}var v_=$p("animationend"),g_=$p("animationiteration"),y_=$p("animationstart"),__=$p("transitionend"),S_=new Map,M2="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Sa(e,t){S_.set(e,t),fo(t,[e])}for(var $1=0;$1<M2.length;$1++){var F1=M2[$1],kT=F1.toLowerCase(),DT=F1[0].toUpperCase()+F1.slice(1);Sa(kT,"on"+DT)}Sa(v_,"onAnimationEnd");Sa(g_,"onAnimationIteration");Sa(y_,"onAnimationStart");Sa("dblclick","onDoubleClick");Sa("focusin","onFocus");Sa("focusout","onBlur");Sa(__,"onTransitionEnd");Ts("onMouseEnter",["mouseout","mouseover"]);Ts("onMouseLeave",["mouseout","mouseover"]);Ts("onPointerEnter",["pointerout","pointerover"]);Ts("onPointerLeave",["pointerout","pointerover"]);fo("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));fo("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));fo("onBeforeInput",["compositionend","keypress","textInput","paste"]);fo("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));fo("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));fo("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var td="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),MT=new Set("cancel close invalid load scroll toggle".split(" ").concat(td));function A2(e,t,r){var n=e.type||"unknown-event";e.currentTarget=r,kb(n,t,void 0,e),e.currentTarget=null}function E_(e,t){t=(t&4)!==0;for(var r=0;r<e.length;r++){var n=e[r],i=n.event;n=n.listeners;e:{var a=void 0;if(t)for(var o=n.length-1;0<=o;o--){var p=n[o],u=p.instance,y=p.currentTarget;if(p=p.listener,u!==a&&i.isPropagationStopped())break e;A2(i,p,y),a=u}else for(o=0;o<n.length;o++){if(p=n[o],u=p.instance,y=p.currentTarget,p=p.listener,u!==a&&i.isPropagationStopped())break e;A2(i,p,y),a=u}}}if(Kc)throw e=im,Kc=!1,im=null,e}function ft(e,t){var r=t[hm];r===void 0&&(r=t[hm]=new Set);var n=e+"__bubble";r.has(n)||(w_(t,e,2,!1),r.add(n))}function B1(e,t,r){var n=0;t&&(n|=4),w_(r,e,n,t)}var xu="_reactListening"+Math.random().toString(36).slice(2);function kd(e){if(!e[xu]){e[xu]=!0,P8.forEach(function(r){r!=="selectionchange"&&(MT.has(r)||B1(r,!1,e),B1(r,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xu]||(t[xu]=!0,B1("selectionchange",!1,t))}}function w_(e,t,r,n){switch(a_(t)){case 1:var i=Hb;break;case 4:i=Gb;break;default:i=_g}r=i.bind(null,t,r,e),i=void 0,!nm||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(i=!0),n?i!==void 0?e.addEventListener(t,r,{capture:!0,passive:i}):e.addEventListener(t,r,!0):i!==void 0?e.addEventListener(t,r,{passive:i}):e.addEventListener(t,r,!1)}function j1(e,t,r,n,i){var a=n;if(!(t&1)&&!(t&2)&&n!==null)e:for(;;){if(n===null)return;var o=n.tag;if(o===3||o===4){var p=n.stateNode.containerInfo;if(p===i||p.nodeType===8&&p.parentNode===i)break;if(o===4)for(o=n.return;o!==null;){var u=o.tag;if((u===3||u===4)&&(u=o.stateNode.containerInfo,u===i||u.nodeType===8&&u.parentNode===i))return;o=o.return}for(;p!==null;){if(o=za(p),o===null)return;if(u=o.tag,u===5||u===6){n=a=o;continue e}p=p.parentNode}}n=n.return}W8(function(){var y=a,s=mg(r),m=[];e:{var g=S_.get(e);if(g!==void 0){var S=Eg,v=e;switch(e){case"keypress":if(bc(r)===0)break e;case"keydown":case"keyup":S=lT;break;case"focusin":v="focus",S=N1;break;case"focusout":v="blur",S=N1;break;case"beforeblur":case"afterblur":S=N1;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":S=E2;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":S=Qb;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":S=cT;break;case v_:case g_:case y_:S=Zb;break;case __:S=fT;break;case"scroll":S=zb;break;case"wheel":S=mT;break;case"copy":case"cut":case"paste":S=tT;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":S=b2}var h=(t&4)!==0,_=!h&&e==="scroll",d=h?g!==null?g+"Capture":null:g;h=[];for(var l=y,c;l!==null;){c=l;var f=c.stateNode;if(c.tag===5&&f!==null&&(c=f,d!==null&&(f=Td(l,d),f!=null&&h.push(Dd(l,f,c)))),_)break;l=l.return}0<h.length&&(g=new S(g,v,null,r,s),m.push({event:g,listeners:h}))}}if(!(t&7)){e:{if(g=e==="mouseover"||e==="pointerover",S=e==="mouseout"||e==="pointerout",g&&r!==tm&&(v=r.relatedTarget||r.fromElement)&&(za(v)||v[vi]))break e;if((S||g)&&(g=s.window===s?s:(g=s.ownerDocument)?g.defaultView||g.parentWindow:window,S?(v=r.relatedTarget||r.toElement,S=y,v=v?za(v):null,v!==null&&(_=ho(v),v!==_||v.tag!==5&&v.tag!==6)&&(v=null)):(S=null,v=y),S!==v)){if(h=E2,f="onMouseLeave",d="onMouseEnter",l="mouse",(e==="pointerout"||e==="pointerover")&&(h=b2,f="onPointerLeave",d="onPointerEnter",l="pointer"),_=S==null?g:rs(S),c=v==null?g:rs(v),g=new h(f,l+"leave",S,r,s),g.target=_,g.relatedTarget=c,f=null,za(s)===y&&(h=new h(d,l+"enter",v,r,s),h.target=c,h.relatedTarget=_,f=h),_=f,S&&v)t:{for(h=S,d=v,l=0,c=h;c;c=So(c))l++;for(c=0,f=d;f;f=So(f))c++;for(;0<l-c;)h=So(h),l--;for(;0<c-l;)d=So(d),c--;for(;l--;){if(h===d||d!==null&&h===d.alternate)break t;h=So(h),d=So(d)}h=null}else h=null;S!==null&&N2(m,g,S,h,!1),v!==null&&_!==null&&N2(m,_,v,h,!0)}}e:{if(g=y?rs(y):window,S=g.nodeName&&g.nodeName.toLowerCase(),S==="select"||S==="input"&&g.type==="file")var E=wT;else if(I2(g))if(c_)E=IT;else{E=TT;var w=bT}else(S=g.nodeName)&&S.toLowerCase()==="input"&&(g.type==="checkbox"||g.type==="radio")&&(E=RT);if(E&&(E=E(e,y))){u_(m,E,r,s);break e}w&&w(e,g,y),e==="focusout"&&(w=g._wrapperState)&&w.controlled&&g.type==="number"&&Qh(g,"number",g.value)}switch(w=y?rs(y):window,e){case"focusin":(I2(w)||w.contentEditable==="true")&&(es=w,lm=y,ud=null);break;case"focusout":ud=lm=es=null;break;case"mousedown":dm=!0;break;case"contextmenu":case"mouseup":case"dragend":dm=!1,D2(m,r,s);break;case"selectionchange":if(PT)break;case"keydown":case"keyup":D2(m,r,s)}var I;if(bg)e:{switch(e){case"compositionstart":var D="onCompositionStart";break e;case"compositionend":D="onCompositionEnd";break e;case"compositionupdate":D="onCompositionUpdate";break e}D=void 0}else Zo?l_(e,r)&&(D="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(D="onCompositionStart");D&&(s_&&r.locale!=="ko"&&(Zo||D!=="onCompositionStart"?D==="onCompositionEnd"&&Zo&&(I=o_()):(Xi=s,Sg="value"in Xi?Xi.value:Xi.textContent,Zo=!0)),w=Gc(y,D),0<w.length&&(D=new w2(D,e,null,r,s),m.push({event:D,listeners:w}),I?D.data=I:(I=d_(r),I!==null&&(D.data=I)))),(I=gT?yT(e,r):_T(e,r))&&(y=Gc(y,"onBeforeInput"),0<y.length&&(s=new w2("onBeforeInput","beforeinput",null,r,s),m.push({event:s,listeners:y}),s.data=I))}E_(m,t)})}function Dd(e,t,r){return{instance:e,listener:t,currentTarget:r}}function Gc(e,t){for(var r=t+"Capture",n=[];e!==null;){var i=e,a=i.stateNode;i.tag===5&&a!==null&&(i=a,a=Td(e,r),a!=null&&n.unshift(Dd(e,a,i)),a=Td(e,t),a!=null&&n.push(Dd(e,a,i))),e=e.return}return n}function So(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function N2(e,t,r,n,i){for(var a=t._reactName,o=[];r!==null&&r!==n;){var p=r,u=p.alternate,y=p.stateNode;if(u!==null&&u===n)break;p.tag===5&&y!==null&&(p=y,i?(u=Td(r,a),u!=null&&o.unshift(Dd(r,u,p))):i||(u=Td(r,a),u!=null&&o.push(Dd(r,u,p)))),r=r.return}o.length!==0&&e.push({event:t,listeners:o})}var AT=/\r\n?/g,NT=/\u0000|\uFFFD/g;function L2(e){return(typeof e=="string"?e:""+e).replace(AT,` +`).replace(NT,"")}function Uu(e,t,r){if(t=L2(t),L2(e)!==t&&r)throw Error(we(425))}function zc(){}var um=null,cm=null;function pm(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var fm=typeof setTimeout=="function"?setTimeout:void 0,LT=typeof clearTimeout=="function"?clearTimeout:void 0,x2=typeof Promise=="function"?Promise:void 0,xT=typeof queueMicrotask=="function"?queueMicrotask:typeof x2<"u"?function(e){return x2.resolve(null).then(e).catch(UT)}:fm;function UT(e){setTimeout(function(){throw e})}function K1(e,t){var r=t,n=0;do{var i=r.nextSibling;if(e.removeChild(r),i&&i.nodeType===8)if(r=i.data,r==="/$"){if(n===0){e.removeChild(i),Cd(t);return}n--}else r!=="$"&&r!=="$?"&&r!=="$!"||n++;r=i}while(r);Cd(t)}function aa(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function U2(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"){if(t===0)return e;t--}else r==="/$"&&t++}e=e.previousSibling}return null}var Us=Math.random().toString(36).slice(2),Vn="__reactFiber$"+Us,Md="__reactProps$"+Us,vi="__reactContainer$"+Us,hm="__reactEvents$"+Us,$T="__reactListeners$"+Us,FT="__reactHandles$"+Us;function za(e){var t=e[Vn];if(t)return t;for(var r=e.parentNode;r;){if(t=r[vi]||r[Vn]){if(r=t.alternate,t.child!==null||r!==null&&r.child!==null)for(e=U2(e);e!==null;){if(r=e[Vn])return r;e=U2(e)}return t}e=r,r=e.parentNode}return null}function eu(e){return e=e[Vn]||e[vi],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function rs(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(we(33))}function Fp(e){return e[Md]||null}var mm=[],ns=-1;function Ea(e){return{current:e}}function mt(e){0>ns||(e.current=mm[ns],mm[ns]=null,ns--)}function pt(e,t){ns++,mm[ns]=e.current,e.current=t}var ha={},nr=Ea(ha),Rr=Ea(!1),to=ha;function Rs(e,t){var r=e.type.contextTypes;if(!r)return ha;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var i={},a;for(a in r)i[a]=t[a];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ir(e){return e=e.childContextTypes,e!=null}function Yc(){mt(Rr),mt(nr)}function $2(e,t,r){if(nr.current!==ha)throw Error(we(168));pt(nr,t),pt(Rr,r)}function b_(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var i in n)if(!(i in t))throw Error(we(108,bb(e)||"Unknown",i));return Et({},r,n)}function Qc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ha,to=nr.current,pt(nr,e),pt(Rr,Rr.current),!0}function F2(e,t,r){var n=e.stateNode;if(!n)throw Error(we(169));r?(e=b_(e,t,to),n.__reactInternalMemoizedMergedChildContext=e,mt(Rr),mt(nr),pt(nr,e)):mt(Rr),pt(Rr,r)}var si=null,Bp=!1,V1=!1;function T_(e){si===null?si=[e]:si.push(e)}function BT(e){Bp=!0,T_(e)}function wa(){if(!V1&&si!==null){V1=!0;var e=0,t=lt;try{var r=si;for(lt=1;e<r.length;e++){var n=r[e];do n=n(!0);while(n!==null)}si=null,Bp=!1}catch(i){throw si!==null&&(si=si.slice(e+1)),Y8(vg,wa),i}finally{lt=t,V1=!1}}return null}var is=[],as=0,Jc=null,Xc=0,Gr=[],zr=0,ro=null,ui=1,ci="";function ja(e,t){is[as++]=Xc,is[as++]=Jc,Jc=e,Xc=t}function R_(e,t,r){Gr[zr++]=ui,Gr[zr++]=ci,Gr[zr++]=ro,ro=e;var n=ui;e=ci;var i=32-_n(n)-1;n&=~(1<<i),r+=1;var a=32-_n(t)+i;if(30<a){var o=i-i%5;a=(n&(1<<o)-1).toString(32),n>>=o,i-=o,ui=1<<32-_n(t)+i|r<<i|n,ci=a+e}else ui=1<<a|r<<i|n,ci=e}function Rg(e){e.return!==null&&(ja(e,1),R_(e,1,0))}function Ig(e){for(;e===Jc;)Jc=is[--as],is[as]=null,Xc=is[--as],is[as]=null;for(;e===ro;)ro=Gr[--zr],Gr[zr]=null,ci=Gr[--zr],Gr[zr]=null,ui=Gr[--zr],Gr[zr]=null}var Lr=null,Ar=null,gt=!1,vn=null;function I_(e,t){var r=Yr(5,null,null,0);r.elementType="DELETED",r.stateNode=t,r.return=e,t=e.deletions,t===null?(e.deletions=[r],e.flags|=16):t.push(r)}function B2(e,t){switch(e.tag){case 5:var r=e.type;return t=t.nodeType!==1||r.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Lr=e,Ar=aa(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Lr=e,Ar=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(r=ro!==null?{id:ui,overflow:ci}:null,e.memoizedState={dehydrated:t,treeContext:r,retryLane:1073741824},r=Yr(18,null,null,0),r.stateNode=t,r.return=e,e.child=r,Lr=e,Ar=null,!0):!1;default:return!1}}function vm(e){return(e.mode&1)!==0&&(e.flags&128)===0}function gm(e){if(gt){var t=Ar;if(t){var r=t;if(!B2(e,t)){if(vm(e))throw Error(we(418));t=aa(r.nextSibling);var n=Lr;t&&B2(e,t)?I_(n,r):(e.flags=e.flags&-4097|2,gt=!1,Lr=e)}}else{if(vm(e))throw Error(we(418));e.flags=e.flags&-4097|2,gt=!1,Lr=e}}}function j2(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Lr=e}function $u(e){if(e!==Lr)return!1;if(!gt)return j2(e),gt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!pm(e.type,e.memoizedProps)),t&&(t=Ar)){if(vm(e))throw C_(),Error(we(418));for(;t;)I_(e,t),t=aa(t.nextSibling)}if(j2(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(we(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(t===0){Ar=aa(e.nextSibling);break e}t--}else r!=="$"&&r!=="$!"&&r!=="$?"||t++}e=e.nextSibling}Ar=null}}else Ar=Lr?aa(e.stateNode.nextSibling):null;return!0}function C_(){for(var e=Ar;e;)e=aa(e.nextSibling)}function Is(){Ar=Lr=null,gt=!1}function Cg(e){vn===null?vn=[e]:vn.push(e)}var jT=_i.ReactCurrentBatchConfig;function hn(e,t){if(e&&e.defaultProps){t=Et({},t),e=e.defaultProps;for(var r in e)t[r]===void 0&&(t[r]=e[r]);return t}return t}var Zc=Ea(null),ep=null,os=null,Og=null;function Pg(){Og=os=ep=null}function kg(e){var t=Zc.current;mt(Zc),e._currentValue=t}function ym(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function vs(e,t){ep=e,Og=os=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(br=!0),e.firstContext=null)}function Jr(e){var t=e._currentValue;if(Og!==e)if(e={context:e,memoizedValue:t,next:null},os===null){if(ep===null)throw Error(we(308));os=e,ep.dependencies={lanes:0,firstContext:e}}else os=os.next=e;return t}var Ya=null;function Dg(e){Ya===null?Ya=[e]:Ya.push(e)}function O_(e,t,r,n){var i=t.interleaved;return i===null?(r.next=r,Dg(t)):(r.next=i.next,i.next=r),t.interleaved=r,gi(e,n)}function gi(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Hi=!1;function Mg(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function P_(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function fi(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function oa(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,it&2){var i=n.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),n.pending=t,gi(e,r)}return i=n.interleaved,i===null?(t.next=t,Dg(n)):(t.next=i.next,i.next=t),n.interleaved=t,gi(e,r)}function Tc(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,gg(e,r)}}function K2(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var i=null,a=null;if(r=r.firstBaseUpdate,r!==null){do{var o={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};a===null?i=a=o:a=a.next=o,r=r.next}while(r!==null);a===null?i=a=t:a=a.next=t}else i=a=t;r={baseState:n.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function tp(e,t,r,n){var i=e.updateQueue;Hi=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,p=i.shared.pending;if(p!==null){i.shared.pending=null;var u=p,y=u.next;u.next=null,o===null?a=y:o.next=y,o=u;var s=e.alternate;s!==null&&(s=s.updateQueue,p=s.lastBaseUpdate,p!==o&&(p===null?s.firstBaseUpdate=y:p.next=y,s.lastBaseUpdate=u))}if(a!==null){var m=i.baseState;o=0,s=y=u=null,p=a;do{var g=p.lane,S=p.eventTime;if((n&g)===g){s!==null&&(s=s.next={eventTime:S,lane:0,tag:p.tag,payload:p.payload,callback:p.callback,next:null});e:{var v=e,h=p;switch(g=t,S=r,h.tag){case 1:if(v=h.payload,typeof v=="function"){m=v.call(S,m,g);break e}m=v;break e;case 3:v.flags=v.flags&-65537|128;case 0:if(v=h.payload,g=typeof v=="function"?v.call(S,m,g):v,g==null)break e;m=Et({},m,g);break e;case 2:Hi=!0}}p.callback!==null&&p.lane!==0&&(e.flags|=64,g=i.effects,g===null?i.effects=[p]:g.push(p))}else S={eventTime:S,lane:g,tag:p.tag,payload:p.payload,callback:p.callback,next:null},s===null?(y=s=S,u=m):s=s.next=S,o|=g;if(p=p.next,p===null){if(p=i.shared.pending,p===null)break;g=p,p=g.next,g.next=null,i.lastBaseUpdate=g,i.shared.pending=null}}while(1);if(s===null&&(u=m),i.baseState=u,i.firstBaseUpdate=y,i.lastBaseUpdate=s,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else a===null&&(i.shared.lanes=0);io|=o,e.lanes=o,e.memoizedState=m}}function V2(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var n=e[t],i=n.callback;if(i!==null){if(n.callback=null,n=r,typeof i!="function")throw Error(we(191,i));i.call(n)}}}var k_=new O8.Component().refs;function _m(e,t,r,n){t=e.memoizedState,r=r(n,t),r=r==null?t:Et({},t,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var jp={isMounted:function(e){return(e=e._reactInternals)?ho(e)===e:!1},enqueueSetState:function(e,t,r){e=e._reactInternals;var n=cr(),i=la(e),a=fi(n,i);a.payload=t,r!=null&&(a.callback=r),t=oa(e,a,i),t!==null&&(Sn(t,e,i,n),Tc(t,e,i))},enqueueReplaceState:function(e,t,r){e=e._reactInternals;var n=cr(),i=la(e),a=fi(n,i);a.tag=1,a.payload=t,r!=null&&(a.callback=r),t=oa(e,a,i),t!==null&&(Sn(t,e,i,n),Tc(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var r=cr(),n=la(e),i=fi(r,n);i.tag=2,t!=null&&(i.callback=t),t=oa(e,i,n),t!==null&&(Sn(t,e,n,r),Tc(t,e,n))}};function q2(e,t,r,n,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(n,a,o):t.prototype&&t.prototype.isPureReactComponent?!Pd(r,n)||!Pd(i,a):!0}function D_(e,t,r){var n=!1,i=ha,a=t.contextType;return typeof a=="object"&&a!==null?a=Jr(a):(i=Ir(t)?to:nr.current,n=t.contextTypes,a=(n=n!=null)?Rs(e,i):ha),t=new t(r,a),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=jp,e.stateNode=t,t._reactInternals=e,n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=i,e.__reactInternalMemoizedMaskedChildContext=a),t}function W2(e,t,r,n){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(r,n),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(r,n),t.state!==e&&jp.enqueueReplaceState(t,t.state,null)}function Sm(e,t,r,n){var i=e.stateNode;i.props=r,i.state=e.memoizedState,i.refs=k_,Mg(e);var a=t.contextType;typeof a=="object"&&a!==null?i.context=Jr(a):(a=Ir(t)?to:nr.current,i.context=Rs(e,a)),i.state=e.memoizedState,a=t.getDerivedStateFromProps,typeof a=="function"&&(_m(e,t,a,r),i.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof i.getSnapshotBeforeUpdate=="function"||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(t=i.state,typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount(),t!==i.state&&jp.enqueueReplaceState(i,i.state,null),tp(e,r,i,n),i.state=e.memoizedState),typeof i.componentDidMount=="function"&&(e.flags|=4194308)}function nl(e,t,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(we(309));var n=r.stateNode}if(!n)throw Error(we(147,e));var i=n,a=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===a?t.ref:(t=function(o){var p=i.refs;p===k_&&(p=i.refs={}),o===null?delete p[a]:p[a]=o},t._stringRef=a,t)}if(typeof e!="string")throw Error(we(284));if(!r._owner)throw Error(we(290,e))}return e}function Fu(e,t){throw e=Object.prototype.toString.call(t),Error(we(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function H2(e){var t=e._init;return t(e._payload)}function M_(e){function t(d,l){if(e){var c=d.deletions;c===null?(d.deletions=[l],d.flags|=16):c.push(l)}}function r(d,l){if(!e)return null;for(;l!==null;)t(d,l),l=l.sibling;return null}function n(d,l){for(d=new Map;l!==null;)l.key!==null?d.set(l.key,l):d.set(l.index,l),l=l.sibling;return d}function i(d,l){return d=da(d,l),d.index=0,d.sibling=null,d}function a(d,l,c){return d.index=c,e?(c=d.alternate,c!==null?(c=c.index,c<l?(d.flags|=2,l):c):(d.flags|=2,l)):(d.flags|=1048576,l)}function o(d){return e&&d.alternate===null&&(d.flags|=2),d}function p(d,l,c,f){return l===null||l.tag!==6?(l=Q1(c,d.mode,f),l.return=d,l):(l=i(l,c),l.return=d,l)}function u(d,l,c,f){var E=c.type;return E===Xo?s(d,l,c.props.children,f,c.key):l!==null&&(l.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Wi&&H2(E)===l.type)?(f=i(l,c.props),f.ref=nl(d,l,c),f.return=d,f):(f=kc(c.type,c.key,c.props,null,d.mode,f),f.ref=nl(d,l,c),f.return=d,f)}function y(d,l,c,f){return l===null||l.tag!==4||l.stateNode.containerInfo!==c.containerInfo||l.stateNode.implementation!==c.implementation?(l=J1(c,d.mode,f),l.return=d,l):(l=i(l,c.children||[]),l.return=d,l)}function s(d,l,c,f,E){return l===null||l.tag!==7?(l=Za(c,d.mode,f,E),l.return=d,l):(l=i(l,c),l.return=d,l)}function m(d,l,c){if(typeof l=="string"&&l!==""||typeof l=="number")return l=Q1(""+l,d.mode,c),l.return=d,l;if(typeof l=="object"&&l!==null){switch(l.$$typeof){case Ou:return c=kc(l.type,l.key,l.props,null,d.mode,c),c.ref=nl(d,null,l),c.return=d,c;case Jo:return l=J1(l,d.mode,c),l.return=d,l;case Wi:var f=l._init;return m(d,f(l._payload),c)}if(Zl(l)||Xs(l))return l=Za(l,d.mode,c,null),l.return=d,l;Fu(d,l)}return null}function g(d,l,c,f){var E=l!==null?l.key:null;if(typeof c=="string"&&c!==""||typeof c=="number")return E!==null?null:p(d,l,""+c,f);if(typeof c=="object"&&c!==null){switch(c.$$typeof){case Ou:return c.key===E?u(d,l,c,f):null;case Jo:return c.key===E?y(d,l,c,f):null;case Wi:return E=c._init,g(d,l,E(c._payload),f)}if(Zl(c)||Xs(c))return E!==null?null:s(d,l,c,f,null);Fu(d,c)}return null}function S(d,l,c,f,E){if(typeof f=="string"&&f!==""||typeof f=="number")return d=d.get(c)||null,p(l,d,""+f,E);if(typeof f=="object"&&f!==null){switch(f.$$typeof){case Ou:return d=d.get(f.key===null?c:f.key)||null,u(l,d,f,E);case Jo:return d=d.get(f.key===null?c:f.key)||null,y(l,d,f,E);case Wi:var w=f._init;return S(d,l,c,w(f._payload),E)}if(Zl(f)||Xs(f))return d=d.get(c)||null,s(l,d,f,E,null);Fu(l,f)}return null}function v(d,l,c,f){for(var E=null,w=null,I=l,D=l=0,A=null;I!==null&&D<c.length;D++){I.index>D?(A=I,I=null):A=I.sibling;var L=g(d,I,c[D],f);if(L===null){I===null&&(I=A);break}e&&I&&L.alternate===null&&t(d,I),l=a(L,l,D),w===null?E=L:w.sibling=L,w=L,I=A}if(D===c.length)return r(d,I),gt&&ja(d,D),E;if(I===null){for(;D<c.length;D++)I=m(d,c[D],f),I!==null&&(l=a(I,l,D),w===null?E=I:w.sibling=I,w=I);return gt&&ja(d,D),E}for(I=n(d,I);D<c.length;D++)A=S(I,d,D,c[D],f),A!==null&&(e&&A.alternate!==null&&I.delete(A.key===null?D:A.key),l=a(A,l,D),w===null?E=A:w.sibling=A,w=A);return e&&I.forEach(function(F){return t(d,F)}),gt&&ja(d,D),E}function h(d,l,c,f){var E=Xs(c);if(typeof E!="function")throw Error(we(150));if(c=E.call(c),c==null)throw Error(we(151));for(var w=E=null,I=l,D=l=0,A=null,L=c.next();I!==null&&!L.done;D++,L=c.next()){I.index>D?(A=I,I=null):A=I.sibling;var F=g(d,I,L.value,f);if(F===null){I===null&&(I=A);break}e&&I&&F.alternate===null&&t(d,I),l=a(F,l,D),w===null?E=F:w.sibling=F,w=F,I=A}if(L.done)return r(d,I),gt&&ja(d,D),E;if(I===null){for(;!L.done;D++,L=c.next())L=m(d,L.value,f),L!==null&&(l=a(L,l,D),w===null?E=L:w.sibling=L,w=L);return gt&&ja(d,D),E}for(I=n(d,I);!L.done;D++,L=c.next())L=S(I,d,D,L.value,f),L!==null&&(e&&L.alternate!==null&&I.delete(L.key===null?D:L.key),l=a(L,l,D),w===null?E=L:w.sibling=L,w=L);return e&&I.forEach(function(x){return t(d,x)}),gt&&ja(d,D),E}function _(d,l,c,f){if(typeof c=="object"&&c!==null&&c.type===Xo&&c.key===null&&(c=c.props.children),typeof c=="object"&&c!==null){switch(c.$$typeof){case Ou:e:{for(var E=c.key,w=l;w!==null;){if(w.key===E){if(E=c.type,E===Xo){if(w.tag===7){r(d,w.sibling),l=i(w,c.props.children),l.return=d,d=l;break e}}else if(w.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===Wi&&H2(E)===w.type){r(d,w.sibling),l=i(w,c.props),l.ref=nl(d,w,c),l.return=d,d=l;break e}r(d,w);break}else t(d,w);w=w.sibling}c.type===Xo?(l=Za(c.props.children,d.mode,f,c.key),l.return=d,d=l):(f=kc(c.type,c.key,c.props,null,d.mode,f),f.ref=nl(d,l,c),f.return=d,d=f)}return o(d);case Jo:e:{for(w=c.key;l!==null;){if(l.key===w)if(l.tag===4&&l.stateNode.containerInfo===c.containerInfo&&l.stateNode.implementation===c.implementation){r(d,l.sibling),l=i(l,c.children||[]),l.return=d,d=l;break e}else{r(d,l);break}else t(d,l);l=l.sibling}l=J1(c,d.mode,f),l.return=d,d=l}return o(d);case Wi:return w=c._init,_(d,l,w(c._payload),f)}if(Zl(c))return v(d,l,c,f);if(Xs(c))return h(d,l,c,f);Fu(d,c)}return typeof c=="string"&&c!==""||typeof c=="number"?(c=""+c,l!==null&&l.tag===6?(r(d,l.sibling),l=i(l,c),l.return=d,d=l):(r(d,l),l=Q1(c,d.mode,f),l.return=d,d=l),o(d)):r(d,l)}return _}var Cs=M_(!0),A_=M_(!1),tu={},zn=Ea(tu),Ad=Ea(tu),Nd=Ea(tu);function Qa(e){if(e===tu)throw Error(we(174));return e}function Ag(e,t){switch(pt(Nd,t),pt(Ad,e),pt(zn,tu),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Xh(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Xh(t,e)}mt(zn),pt(zn,t)}function Os(){mt(zn),mt(Ad),mt(Nd)}function N_(e){Qa(Nd.current);var t=Qa(zn.current),r=Xh(t,e.type);t!==r&&(pt(Ad,e),pt(zn,r))}function Ng(e){Ad.current===e&&(mt(zn),mt(Ad))}var yt=Ea(0);function rp(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var q1=[];function Lg(){for(var e=0;e<q1.length;e++)q1[e]._workInProgressVersionPrimary=null;q1.length=0}var Rc=_i.ReactCurrentDispatcher,W1=_i.ReactCurrentBatchConfig,no=0,St=null,Nt=null,Ft=null,np=!1,cd=!1,Ld=0,KT=0;function Jt(){throw Error(we(321))}function xg(e,t){if(t===null)return!1;for(var r=0;r<t.length&&r<e.length;r++)if(!wn(e[r],t[r]))return!1;return!0}function Ug(e,t,r,n,i,a){if(no=a,St=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Rc.current=e===null||e.memoizedState===null?HT:GT,e=r(n,i),cd){a=0;do{if(cd=!1,Ld=0,25<=a)throw Error(we(301));a+=1,Ft=Nt=null,t.updateQueue=null,Rc.current=zT,e=r(n,i)}while(cd)}if(Rc.current=ip,t=Nt!==null&&Nt.next!==null,no=0,Ft=Nt=St=null,np=!1,t)throw Error(we(300));return e}function $g(){var e=Ld!==0;return Ld=0,e}function Kn(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ft===null?St.memoizedState=Ft=e:Ft=Ft.next=e,Ft}function Xr(){if(Nt===null){var e=St.alternate;e=e!==null?e.memoizedState:null}else e=Nt.next;var t=Ft===null?St.memoizedState:Ft.next;if(t!==null)Ft=t,Nt=e;else{if(e===null)throw Error(we(310));Nt=e,e={memoizedState:Nt.memoizedState,baseState:Nt.baseState,baseQueue:Nt.baseQueue,queue:Nt.queue,next:null},Ft===null?St.memoizedState=Ft=e:Ft=Ft.next=e}return Ft}function xd(e,t){return typeof t=="function"?t(e):t}function H1(e){var t=Xr(),r=t.queue;if(r===null)throw Error(we(311));r.lastRenderedReducer=e;var n=Nt,i=n.baseQueue,a=r.pending;if(a!==null){if(i!==null){var o=i.next;i.next=a.next,a.next=o}n.baseQueue=i=a,r.pending=null}if(i!==null){a=i.next,n=n.baseState;var p=o=null,u=null,y=a;do{var s=y.lane;if((no&s)===s)u!==null&&(u=u.next={lane:0,action:y.action,hasEagerState:y.hasEagerState,eagerState:y.eagerState,next:null}),n=y.hasEagerState?y.eagerState:e(n,y.action);else{var m={lane:s,action:y.action,hasEagerState:y.hasEagerState,eagerState:y.eagerState,next:null};u===null?(p=u=m,o=n):u=u.next=m,St.lanes|=s,io|=s}y=y.next}while(y!==null&&y!==a);u===null?o=n:u.next=p,wn(n,t.memoizedState)||(br=!0),t.memoizedState=n,t.baseState=o,t.baseQueue=u,r.lastRenderedState=n}if(e=r.interleaved,e!==null){i=e;do a=i.lane,St.lanes|=a,io|=a,i=i.next;while(i!==e)}else i===null&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function G1(e){var t=Xr(),r=t.queue;if(r===null)throw Error(we(311));r.lastRenderedReducer=e;var n=r.dispatch,i=r.pending,a=t.memoizedState;if(i!==null){r.pending=null;var o=i=i.next;do a=e(a,o.action),o=o.next;while(o!==i);wn(a,t.memoizedState)||(br=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),r.lastRenderedState=a}return[a,n]}function L_(){}function x_(e,t){var r=St,n=Xr(),i=t(),a=!wn(n.memoizedState,i);if(a&&(n.memoizedState=i,br=!0),n=n.queue,Fg(F_.bind(null,r,n,e),[e]),n.getSnapshot!==t||a||Ft!==null&&Ft.memoizedState.tag&1){if(r.flags|=2048,Ud(9,$_.bind(null,r,n,i,t),void 0,null),jt===null)throw Error(we(349));no&30||U_(r,t,i)}return i}function U_(e,t,r){e.flags|=16384,e={getSnapshot:t,value:r},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.stores=[e]):(r=t.stores,r===null?t.stores=[e]:r.push(e))}function $_(e,t,r,n){t.value=r,t.getSnapshot=n,B_(t)&&j_(e)}function F_(e,t,r){return r(function(){B_(t)&&j_(e)})}function B_(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!wn(e,r)}catch{return!0}}function j_(e){var t=gi(e,1);t!==null&&Sn(t,e,1,-1)}function G2(e){var t=Kn();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xd,lastRenderedState:e},t.queue=e,e=e.dispatch=WT.bind(null,St,e),[t.memoizedState,e]}function Ud(e,t,r,n){return e={tag:e,create:t,destroy:r,deps:n,next:null},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.lastEffect=e.next=e):(r=t.lastEffect,r===null?t.lastEffect=e.next=e:(n=r.next,r.next=e,e.next=n,t.lastEffect=e)),e}function K_(){return Xr().memoizedState}function Ic(e,t,r,n){var i=Kn();St.flags|=e,i.memoizedState=Ud(1|t,r,void 0,n===void 0?null:n)}function Kp(e,t,r,n){var i=Xr();n=n===void 0?null:n;var a=void 0;if(Nt!==null){var o=Nt.memoizedState;if(a=o.destroy,n!==null&&xg(n,o.deps)){i.memoizedState=Ud(t,r,a,n);return}}St.flags|=e,i.memoizedState=Ud(1|t,r,a,n)}function z2(e,t){return Ic(8390656,8,e,t)}function Fg(e,t){return Kp(2048,8,e,t)}function V_(e,t){return Kp(4,2,e,t)}function q_(e,t){return Kp(4,4,e,t)}function W_(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function H_(e,t,r){return r=r!=null?r.concat([e]):null,Kp(4,4,W_.bind(null,t,e),r)}function Bg(){}function G_(e,t){var r=Xr();t=t===void 0?null:t;var n=r.memoizedState;return n!==null&&t!==null&&xg(t,n[1])?n[0]:(r.memoizedState=[e,t],e)}function z_(e,t){var r=Xr();t=t===void 0?null:t;var n=r.memoizedState;return n!==null&&t!==null&&xg(t,n[1])?n[0]:(e=e(),r.memoizedState=[e,t],e)}function Y_(e,t,r){return no&21?(wn(r,t)||(r=X8(),St.lanes|=r,io|=r,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,br=!0),e.memoizedState=r)}function VT(e,t){var r=lt;lt=r!==0&&4>r?r:4,e(!0);var n=W1.transition;W1.transition={};try{e(!1),t()}finally{lt=r,W1.transition=n}}function Q_(){return Xr().memoizedState}function qT(e,t,r){var n=la(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},J_(e))X_(t,r);else if(r=O_(e,t,r,n),r!==null){var i=cr();Sn(r,e,n,i),Z_(r,t,n)}}function WT(e,t,r){var n=la(e),i={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(J_(e))X_(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,p=a(o,r);if(i.hasEagerState=!0,i.eagerState=p,wn(p,o)){var u=t.interleaved;u===null?(i.next=i,Dg(t)):(i.next=u.next,u.next=i),t.interleaved=i;return}}catch{}finally{}r=O_(e,t,i,n),r!==null&&(i=cr(),Sn(r,e,n,i),Z_(r,t,n))}}function J_(e){var t=e.alternate;return e===St||t!==null&&t===St}function X_(e,t){cd=np=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Z_(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,gg(e,r)}}var ip={readContext:Jr,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useInsertionEffect:Jt,useLayoutEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useMutableSource:Jt,useSyncExternalStore:Jt,useId:Jt,unstable_isNewReconciler:!1},HT={readContext:Jr,useCallback:function(e,t){return Kn().memoizedState=[e,t===void 0?null:t],e},useContext:Jr,useEffect:z2,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,Ic(4194308,4,W_.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Ic(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ic(4,2,e,t)},useMemo:function(e,t){var r=Kn();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=Kn();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=qT.bind(null,St,e),[n.memoizedState,e]},useRef:function(e){var t=Kn();return e={current:e},t.memoizedState=e},useState:G2,useDebugValue:Bg,useDeferredValue:function(e){return Kn().memoizedState=e},useTransition:function(){var e=G2(!1),t=e[0];return e=VT.bind(null,e[1]),Kn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=St,i=Kn();if(gt){if(r===void 0)throw Error(we(407));r=r()}else{if(r=t(),jt===null)throw Error(we(349));no&30||U_(n,t,r)}i.memoizedState=r;var a={value:r,getSnapshot:t};return i.queue=a,z2(F_.bind(null,n,a,e),[e]),n.flags|=2048,Ud(9,$_.bind(null,n,a,r,t),void 0,null),r},useId:function(){var e=Kn(),t=jt.identifierPrefix;if(gt){var r=ci,n=ui;r=(n&~(1<<32-_n(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=Ld++,0<r&&(t+="H"+r.toString(32)),t+=":"}else r=KT++,t=":"+t+"r"+r.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},GT={readContext:Jr,useCallback:G_,useContext:Jr,useEffect:Fg,useImperativeHandle:H_,useInsertionEffect:V_,useLayoutEffect:q_,useMemo:z_,useReducer:H1,useRef:K_,useState:function(){return H1(xd)},useDebugValue:Bg,useDeferredValue:function(e){var t=Xr();return Y_(t,Nt.memoizedState,e)},useTransition:function(){var e=H1(xd)[0],t=Xr().memoizedState;return[e,t]},useMutableSource:L_,useSyncExternalStore:x_,useId:Q_,unstable_isNewReconciler:!1},zT={readContext:Jr,useCallback:G_,useContext:Jr,useEffect:Fg,useImperativeHandle:H_,useInsertionEffect:V_,useLayoutEffect:q_,useMemo:z_,useReducer:G1,useRef:K_,useState:function(){return G1(xd)},useDebugValue:Bg,useDeferredValue:function(e){var t=Xr();return Nt===null?t.memoizedState=e:Y_(t,Nt.memoizedState,e)},useTransition:function(){var e=G1(xd)[0],t=Xr().memoizedState;return[e,t]},useMutableSource:L_,useSyncExternalStore:x_,useId:Q_,unstable_isNewReconciler:!1};function Ps(e,t){try{var r="",n=t;do r+=wb(n),n=n.return;while(n);var i=r}catch(a){i=` +Error generating stack: `+a.message+` +`+a.stack}return{value:e,source:t,stack:i,digest:null}}function z1(e,t,r){return{value:e,source:null,stack:r??null,digest:t??null}}function Em(e,t){try{console.error(t.value)}catch(r){setTimeout(function(){throw r})}}var YT=typeof WeakMap=="function"?WeakMap:Map;function e7(e,t,r){r=fi(-1,r),r.tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){op||(op=!0,Dm=n),Em(e,t)},r}function t7(e,t,r){r=fi(-1,r),r.tag=3;var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var i=t.value;r.payload=function(){return n(i)},r.callback=function(){Em(e,t)}}var a=e.stateNode;return a!==null&&typeof a.componentDidCatch=="function"&&(r.callback=function(){Em(e,t),typeof n!="function"&&(sa===null?sa=new Set([this]):sa.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),r}function Y2(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new YT;var i=new Set;n.set(t,i)}else i=n.get(t),i===void 0&&(i=new Set,n.set(t,i));i.has(r)||(i.add(r),e=dR.bind(null,e,t,r),t.then(e,e))}function Q2(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function J2(e,t,r,n,i){return e.mode&1?(e.flags|=65536,e.lanes=i,e):(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(t=fi(-1,1),t.tag=2,oa(r,t,1))),r.lanes|=1),e)}var QT=_i.ReactCurrentOwner,br=!1;function dr(e,t,r,n){t.child=e===null?A_(t,null,r,n):Cs(t,e.child,r,n)}function X2(e,t,r,n,i){r=r.render;var a=t.ref;return vs(t,i),n=Ug(e,t,r,n,a,i),r=$g(),e!==null&&!br?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,yi(e,t,i)):(gt&&r&&Rg(t),t.flags|=1,dr(e,t,n,i),t.child)}function Z2(e,t,r,n,i){if(e===null){var a=r.type;return typeof a=="function"&&!zg(a)&&a.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(t.tag=15,t.type=a,r7(e,t,a,n,i)):(e=kc(r.type,null,n,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!(e.lanes&i)){var o=a.memoizedProps;if(r=r.compare,r=r!==null?r:Pd,r(o,n)&&e.ref===t.ref)return yi(e,t,i)}return t.flags|=1,e=da(a,n),e.ref=t.ref,e.return=t,t.child=e}function r7(e,t,r,n,i){if(e!==null){var a=e.memoizedProps;if(Pd(a,n)&&e.ref===t.ref)if(br=!1,t.pendingProps=n=a,(e.lanes&i)!==0)e.flags&131072&&(br=!0);else return t.lanes=e.lanes,yi(e,t,i)}return wm(e,t,r,n,i)}function n7(e,t,r){var n=t.pendingProps,i=n.children,a=e!==null?e.memoizedState:null;if(n.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},pt(ls,Mr),Mr|=r;else{if(!(r&1073741824))return e=a!==null?a.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,pt(ls,Mr),Mr|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=a!==null?a.baseLanes:r,pt(ls,Mr),Mr|=n}else a!==null?(n=a.baseLanes|r,t.memoizedState=null):n=r,pt(ls,Mr),Mr|=n;return dr(e,t,i,r),t.child}function i7(e,t){var r=t.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function wm(e,t,r,n,i){var a=Ir(r)?to:nr.current;return a=Rs(t,a),vs(t,i),r=Ug(e,t,r,n,a,i),n=$g(),e!==null&&!br?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~i,yi(e,t,i)):(gt&&n&&Rg(t),t.flags|=1,dr(e,t,r,i),t.child)}function ey(e,t,r,n,i){if(Ir(r)){var a=!0;Qc(t)}else a=!1;if(vs(t,i),t.stateNode===null)Cc(e,t),D_(t,r,n),Sm(t,r,n,i),n=!0;else if(e===null){var o=t.stateNode,p=t.memoizedProps;o.props=p;var u=o.context,y=r.contextType;typeof y=="object"&&y!==null?y=Jr(y):(y=Ir(r)?to:nr.current,y=Rs(t,y));var s=r.getDerivedStateFromProps,m=typeof s=="function"||typeof o.getSnapshotBeforeUpdate=="function";m||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(p!==n||u!==y)&&W2(t,o,n,y),Hi=!1;var g=t.memoizedState;o.state=g,tp(t,n,o,i),u=t.memoizedState,p!==n||g!==u||Rr.current||Hi?(typeof s=="function"&&(_m(t,r,s,n),u=t.memoizedState),(p=Hi||q2(t,r,p,n,g,u,y))?(m||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=u),o.props=n,o.state=u,o.context=y,n=p):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{o=t.stateNode,P_(e,t),p=t.memoizedProps,y=t.type===t.elementType?p:hn(t.type,p),o.props=y,m=t.pendingProps,g=o.context,u=r.contextType,typeof u=="object"&&u!==null?u=Jr(u):(u=Ir(r)?to:nr.current,u=Rs(t,u));var S=r.getDerivedStateFromProps;(s=typeof S=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(p!==m||g!==u)&&W2(t,o,n,u),Hi=!1,g=t.memoizedState,o.state=g,tp(t,n,o,i);var v=t.memoizedState;p!==m||g!==v||Rr.current||Hi?(typeof S=="function"&&(_m(t,r,S,n),v=t.memoizedState),(y=Hi||q2(t,r,y,n,g,v,u)||!1)?(s||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(n,v,u),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(n,v,u)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||p===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||p===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=v),o.props=n,o.state=v,o.context=u,n=y):(typeof o.componentDidUpdate!="function"||p===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||p===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),n=!1)}return bm(e,t,r,n,a,i)}function bm(e,t,r,n,i,a){i7(e,t);var o=(t.flags&128)!==0;if(!n&&!o)return i&&F2(t,r,!1),yi(e,t,a);n=t.stateNode,QT.current=t;var p=o&&typeof r.getDerivedStateFromError!="function"?null:n.render();return t.flags|=1,e!==null&&o?(t.child=Cs(t,e.child,null,a),t.child=Cs(t,null,p,a)):dr(e,t,p,a),t.memoizedState=n.state,i&&F2(t,r,!0),t.child}function a7(e){var t=e.stateNode;t.pendingContext?$2(e,t.pendingContext,t.pendingContext!==t.context):t.context&&$2(e,t.context,!1),Ag(e,t.containerInfo)}function ty(e,t,r,n,i){return Is(),Cg(i),t.flags|=256,dr(e,t,r,n),t.child}var Tm={dehydrated:null,treeContext:null,retryLane:0};function Rm(e){return{baseLanes:e,cachePool:null,transitions:null}}function o7(e,t,r){var n=t.pendingProps,i=yt.current,a=!1,o=(t.flags&128)!==0,p;if((p=o)||(p=e!==null&&e.memoizedState===null?!1:(i&2)!==0),p?(a=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(i|=1),pt(yt,i&1),e===null)return gm(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=n.children,e=n.fallback,a?(n=t.mode,a=t.child,o={mode:"hidden",children:o},!(n&1)&&a!==null?(a.childLanes=0,a.pendingProps=o):a=Wp(o,n,0,null),e=Za(e,n,r,null),a.return=t,e.return=t,a.sibling=e,t.child=a,t.child.memoizedState=Rm(r),t.memoizedState=Tm,e):jg(t,o));if(i=e.memoizedState,i!==null&&(p=i.dehydrated,p!==null))return JT(e,t,o,n,p,i,r);if(a){a=n.fallback,o=t.mode,i=e.child,p=i.sibling;var u={mode:"hidden",children:n.children};return!(o&1)&&t.child!==i?(n=t.child,n.childLanes=0,n.pendingProps=u,t.deletions=null):(n=da(i,u),n.subtreeFlags=i.subtreeFlags&14680064),p!==null?a=da(p,a):(a=Za(a,o,r,null),a.flags|=2),a.return=t,n.return=t,n.sibling=a,t.child=n,n=a,a=t.child,o=e.child.memoizedState,o=o===null?Rm(r):{baseLanes:o.baseLanes|r,cachePool:null,transitions:o.transitions},a.memoizedState=o,a.childLanes=e.childLanes&~r,t.memoizedState=Tm,n}return a=e.child,e=a.sibling,n=da(a,{mode:"visible",children:n.children}),!(t.mode&1)&&(n.lanes=r),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n}function jg(e,t){return t=Wp({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function Bu(e,t,r,n){return n!==null&&Cg(n),Cs(t,e.child,null,r),e=jg(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function JT(e,t,r,n,i,a,o){if(r)return t.flags&256?(t.flags&=-257,n=z1(Error(we(422))),Bu(e,t,o,n)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(a=n.fallback,i=t.mode,n=Wp({mode:"visible",children:n.children},i,0,null),a=Za(a,i,o,null),a.flags|=2,n.return=t,a.return=t,n.sibling=a,t.child=n,t.mode&1&&Cs(t,e.child,null,o),t.child.memoizedState=Rm(o),t.memoizedState=Tm,a);if(!(t.mode&1))return Bu(e,t,o,null);if(i.data==="$!"){if(n=i.nextSibling&&i.nextSibling.dataset,n)var p=n.dgst;return n=p,a=Error(we(419)),n=z1(a,n,void 0),Bu(e,t,o,n)}if(p=(o&e.childLanes)!==0,br||p){if(n=jt,n!==null){switch(o&-o){case 4:i=2;break;case 16:i=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:i=32;break;case 536870912:i=268435456;break;default:i=0}i=i&(n.suspendedLanes|o)?0:i,i!==0&&i!==a.retryLane&&(a.retryLane=i,gi(e,i),Sn(n,e,i,-1))}return Gg(),n=z1(Error(we(421))),Bu(e,t,o,n)}return i.data==="$?"?(t.flags|=128,t.child=e.child,t=uR.bind(null,e),i._reactRetry=t,null):(e=a.treeContext,Ar=aa(i.nextSibling),Lr=t,gt=!0,vn=null,e!==null&&(Gr[zr++]=ui,Gr[zr++]=ci,Gr[zr++]=ro,ui=e.id,ci=e.overflow,ro=t),t=jg(t,n.children),t.flags|=4096,t)}function ry(e,t,r){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),ym(e.return,t,r)}function Y1(e,t,r,n,i){var a=e.memoizedState;a===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:i}:(a.isBackwards=t,a.rendering=null,a.renderingStartTime=0,a.last=n,a.tail=r,a.tailMode=i)}function s7(e,t,r){var n=t.pendingProps,i=n.revealOrder,a=n.tail;if(dr(e,t,n.children,r),n=yt.current,n&2)n=n&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ry(e,r,t);else if(e.tag===19)ry(e,r,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(pt(yt,n),!(t.mode&1))t.memoizedState=null;else switch(i){case"forwards":for(r=t.child,i=null;r!==null;)e=r.alternate,e!==null&&rp(e)===null&&(i=r),r=r.sibling;r=i,r===null?(i=t.child,t.child=null):(i=r.sibling,r.sibling=null),Y1(t,!1,i,r,a);break;case"backwards":for(r=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&rp(e)===null){t.child=i;break}e=i.sibling,i.sibling=r,r=i,i=e}Y1(t,!0,r,null,a);break;case"together":Y1(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function Cc(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function yi(e,t,r){if(e!==null&&(t.dependencies=e.dependencies),io|=t.lanes,!(r&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(we(153));if(t.child!==null){for(e=t.child,r=da(e,e.pendingProps),t.child=r,r.return=t;e.sibling!==null;)e=e.sibling,r=r.sibling=da(e,e.pendingProps),r.return=t;r.sibling=null}return t.child}function XT(e,t,r){switch(t.tag){case 3:a7(t),Is();break;case 5:N_(t);break;case 1:Ir(t.type)&&Qc(t);break;case 4:Ag(t,t.stateNode.containerInfo);break;case 10:var n=t.type._context,i=t.memoizedProps.value;pt(Zc,n._currentValue),n._currentValue=i;break;case 13:if(n=t.memoizedState,n!==null)return n.dehydrated!==null?(pt(yt,yt.current&1),t.flags|=128,null):r&t.child.childLanes?o7(e,t,r):(pt(yt,yt.current&1),e=yi(e,t,r),e!==null?e.sibling:null);pt(yt,yt.current&1);break;case 19:if(n=(r&t.childLanes)!==0,e.flags&128){if(n)return s7(e,t,r);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),pt(yt,yt.current),n)break;return null;case 22:case 23:return t.lanes=0,n7(e,t,r)}return yi(e,t,r)}var l7,Im,d7,u7;l7=function(e,t){for(var r=t.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};Im=function(){};d7=function(e,t,r,n){var i=e.memoizedProps;if(i!==n){e=t.stateNode,Qa(zn.current);var a=null;switch(r){case"input":i=zh(e,i),n=zh(e,n),a=[];break;case"select":i=Et({},i,{value:void 0}),n=Et({},n,{value:void 0}),a=[];break;case"textarea":i=Jh(e,i),n=Jh(e,n),a=[];break;default:typeof i.onClick!="function"&&typeof n.onClick=="function"&&(e.onclick=zc)}Zh(r,n);var o;r=null;for(y in i)if(!n.hasOwnProperty(y)&&i.hasOwnProperty(y)&&i[y]!=null)if(y==="style"){var p=i[y];for(o in p)p.hasOwnProperty(o)&&(r||(r={}),r[o]="")}else y!=="dangerouslySetInnerHTML"&&y!=="children"&&y!=="suppressContentEditableWarning"&&y!=="suppressHydrationWarning"&&y!=="autoFocus"&&(wd.hasOwnProperty(y)?a||(a=[]):(a=a||[]).push(y,null));for(y in n){var u=n[y];if(p=i!=null?i[y]:void 0,n.hasOwnProperty(y)&&u!==p&&(u!=null||p!=null))if(y==="style")if(p){for(o in p)!p.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(r||(r={}),r[o]="");for(o in u)u.hasOwnProperty(o)&&p[o]!==u[o]&&(r||(r={}),r[o]=u[o])}else r||(a||(a=[]),a.push(y,r)),r=u;else y==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,p=p?p.__html:void 0,u!=null&&p!==u&&(a=a||[]).push(y,u)):y==="children"?typeof u!="string"&&typeof u!="number"||(a=a||[]).push(y,""+u):y!=="suppressContentEditableWarning"&&y!=="suppressHydrationWarning"&&(wd.hasOwnProperty(y)?(u!=null&&y==="onScroll"&&ft("scroll",e),a||p===u||(a=[])):(a=a||[]).push(y,u))}r&&(a=a||[]).push("style",r);var y=a;(t.updateQueue=y)&&(t.flags|=4)}};u7=function(e,t,r,n){r!==n&&(t.flags|=4)};function il(e,t){if(!gt)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var n=null;r!==null;)r.alternate!==null&&(n=r),r=r.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function Xt(e){var t=e.alternate!==null&&e.alternate.child===e.child,r=0,n=0;if(t)for(var i=e.child;i!==null;)r|=i.lanes|i.childLanes,n|=i.subtreeFlags&14680064,n|=i.flags&14680064,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)r|=i.lanes|i.childLanes,n|=i.subtreeFlags,n|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=n,e.childLanes=r,t}function ZT(e,t,r){var n=t.pendingProps;switch(Ig(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xt(t),null;case 1:return Ir(t.type)&&Yc(),Xt(t),null;case 3:return n=t.stateNode,Os(),mt(Rr),mt(nr),Lg(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&($u(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,vn!==null&&(Nm(vn),vn=null))),Im(e,t),Xt(t),null;case 5:Ng(t);var i=Qa(Nd.current);if(r=t.type,e!==null&&t.stateNode!=null)d7(e,t,r,n,i),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(t.stateNode===null)throw Error(we(166));return Xt(t),null}if(e=Qa(zn.current),$u(t)){n=t.stateNode,r=t.type;var a=t.memoizedProps;switch(n[Vn]=t,n[Md]=a,e=(t.mode&1)!==0,r){case"dialog":ft("cancel",n),ft("close",n);break;case"iframe":case"object":case"embed":ft("load",n);break;case"video":case"audio":for(i=0;i<td.length;i++)ft(td[i],n);break;case"source":ft("error",n);break;case"img":case"image":case"link":ft("error",n),ft("load",n);break;case"details":ft("toggle",n);break;case"input":c2(n,a),ft("invalid",n);break;case"select":n._wrapperState={wasMultiple:!!a.multiple},ft("invalid",n);break;case"textarea":f2(n,a),ft("invalid",n)}Zh(r,a),i=null;for(var o in a)if(a.hasOwnProperty(o)){var p=a[o];o==="children"?typeof p=="string"?n.textContent!==p&&(a.suppressHydrationWarning!==!0&&Uu(n.textContent,p,e),i=["children",p]):typeof p=="number"&&n.textContent!==""+p&&(a.suppressHydrationWarning!==!0&&Uu(n.textContent,p,e),i=["children",""+p]):wd.hasOwnProperty(o)&&p!=null&&o==="onScroll"&&ft("scroll",n)}switch(r){case"input":Pu(n),p2(n,a,!0);break;case"textarea":Pu(n),h2(n);break;case"select":case"option":break;default:typeof a.onClick=="function"&&(n.onclick=zc)}n=i,t.updateQueue=n,n!==null&&(t.flags|=4)}else{o=i.nodeType===9?i:i.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=U8(r)),e==="http://www.w3.org/1999/xhtml"?r==="script"?(e=o.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=o.createElement(r,{is:n.is}):(e=o.createElement(r),r==="select"&&(o=e,n.multiple?o.multiple=!0:n.size&&(o.size=n.size))):e=o.createElementNS(e,r),e[Vn]=t,e[Md]=n,l7(e,t,!1,!1),t.stateNode=e;e:{switch(o=em(r,n),r){case"dialog":ft("cancel",e),ft("close",e),i=n;break;case"iframe":case"object":case"embed":ft("load",e),i=n;break;case"video":case"audio":for(i=0;i<td.length;i++)ft(td[i],e);i=n;break;case"source":ft("error",e),i=n;break;case"img":case"image":case"link":ft("error",e),ft("load",e),i=n;break;case"details":ft("toggle",e),i=n;break;case"input":c2(e,n),i=zh(e,n),ft("invalid",e);break;case"option":i=n;break;case"select":e._wrapperState={wasMultiple:!!n.multiple},i=Et({},n,{value:void 0}),ft("invalid",e);break;case"textarea":f2(e,n),i=Jh(e,n),ft("invalid",e);break;default:i=n}Zh(r,i),p=i;for(a in p)if(p.hasOwnProperty(a)){var u=p[a];a==="style"?B8(e,u):a==="dangerouslySetInnerHTML"?(u=u?u.__html:void 0,u!=null&&$8(e,u)):a==="children"?typeof u=="string"?(r!=="textarea"||u!=="")&&bd(e,u):typeof u=="number"&&bd(e,""+u):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(wd.hasOwnProperty(a)?u!=null&&a==="onScroll"&&ft("scroll",e):u!=null&&cg(e,a,u,o))}switch(r){case"input":Pu(e),p2(e,n,!1);break;case"textarea":Pu(e),h2(e);break;case"option":n.value!=null&&e.setAttribute("value",""+fa(n.value));break;case"select":e.multiple=!!n.multiple,a=n.value,a!=null?ps(e,!!n.multiple,a,!1):n.defaultValue!=null&&ps(e,!!n.multiple,n.defaultValue,!0);break;default:typeof i.onClick=="function"&&(e.onclick=zc)}switch(r){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}}n&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return Xt(t),null;case 6:if(e&&t.stateNode!=null)u7(e,t,e.memoizedProps,n);else{if(typeof n!="string"&&t.stateNode===null)throw Error(we(166));if(r=Qa(Nd.current),Qa(zn.current),$u(t)){if(n=t.stateNode,r=t.memoizedProps,n[Vn]=t,(a=n.nodeValue!==r)&&(e=Lr,e!==null))switch(e.tag){case 3:Uu(n.nodeValue,r,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Uu(n.nodeValue,r,(e.mode&1)!==0)}a&&(t.flags|=4)}else n=(r.nodeType===9?r:r.ownerDocument).createTextNode(n),n[Vn]=t,t.stateNode=n}return Xt(t),null;case 13:if(mt(yt),n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(gt&&Ar!==null&&t.mode&1&&!(t.flags&128))C_(),Is(),t.flags|=98560,a=!1;else if(a=$u(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(we(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(we(317));a[Vn]=t}else Is(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Xt(t),a=!1}else vn!==null&&(Nm(vn),vn=null),a=!0;if(!a)return t.flags&65536?t:null}return t.flags&128?(t.lanes=r,t):(n=n!==null,n!==(e!==null&&e.memoizedState!==null)&&n&&(t.child.flags|=8192,t.mode&1&&(e===null||yt.current&1?xt===0&&(xt=3):Gg())),t.updateQueue!==null&&(t.flags|=4),Xt(t),null);case 4:return Os(),Im(e,t),e===null&&kd(t.stateNode.containerInfo),Xt(t),null;case 10:return kg(t.type._context),Xt(t),null;case 17:return Ir(t.type)&&Yc(),Xt(t),null;case 19:if(mt(yt),a=t.memoizedState,a===null)return Xt(t),null;if(n=(t.flags&128)!==0,o=a.rendering,o===null)if(n)il(a,!1);else{if(xt!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=rp(e),o!==null){for(t.flags|=128,il(a,!1),n=o.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),t.subtreeFlags=0,n=r,r=t.child;r!==null;)a=r,e=n,a.flags&=14680066,o=a.alternate,o===null?(a.childLanes=0,a.lanes=e,a.child=null,a.subtreeFlags=0,a.memoizedProps=null,a.memoizedState=null,a.updateQueue=null,a.dependencies=null,a.stateNode=null):(a.childLanes=o.childLanes,a.lanes=o.lanes,a.child=o.child,a.subtreeFlags=0,a.deletions=null,a.memoizedProps=o.memoizedProps,a.memoizedState=o.memoizedState,a.updateQueue=o.updateQueue,a.type=o.type,e=o.dependencies,a.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return pt(yt,yt.current&1|2),t.child}e=e.sibling}a.tail!==null&&Ot()>ks&&(t.flags|=128,n=!0,il(a,!1),t.lanes=4194304)}else{if(!n)if(e=rp(o),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),il(a,!0),a.tail===null&&a.tailMode==="hidden"&&!o.alternate&&!gt)return Xt(t),null}else 2*Ot()-a.renderingStartTime>ks&&r!==1073741824&&(t.flags|=128,n=!0,il(a,!1),t.lanes=4194304);a.isBackwards?(o.sibling=t.child,t.child=o):(r=a.last,r!==null?r.sibling=o:t.child=o,a.last=o)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=Ot(),t.sibling=null,r=yt.current,pt(yt,n?r&1|2:r&1),t):(Xt(t),null);case 22:case 23:return Hg(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?Mr&1073741824&&(Xt(t),t.subtreeFlags&6&&(t.flags|=8192)):Xt(t),null;case 24:return null;case 25:return null}throw Error(we(156,t.tag))}function eR(e,t){switch(Ig(t),t.tag){case 1:return Ir(t.type)&&Yc(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Os(),mt(Rr),mt(nr),Lg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ng(t),null;case 13:if(mt(yt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(we(340));Is()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return mt(yt),null;case 4:return Os(),null;case 10:return kg(t.type._context),null;case 22:case 23:return Hg(),null;case 24:return null;default:return null}}var ju=!1,tr=!1,tR=typeof WeakSet=="function"?WeakSet:Set,je=null;function ss(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){Tt(e,t,n)}else r.current=null}function Cm(e,t,r){try{r()}catch(n){Tt(e,t,n)}}var ny=!1;function rR(e,t){if(um=Wc,e=h_(),Tg(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var i=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var o=0,p=-1,u=-1,y=0,s=0,m=e,g=null;t:for(;;){for(var S;m!==r||i!==0&&m.nodeType!==3||(p=o+i),m!==a||n!==0&&m.nodeType!==3||(u=o+n),m.nodeType===3&&(o+=m.nodeValue.length),(S=m.firstChild)!==null;)g=m,m=S;for(;;){if(m===e)break t;if(g===r&&++y===i&&(p=o),g===a&&++s===n&&(u=o),(S=m.nextSibling)!==null)break;m=g,g=m.parentNode}m=S}r=p===-1||u===-1?null:{start:p,end:u}}else r=null}r=r||{start:0,end:0}}else r=null;for(cm={focusedElem:e,selectionRange:r},Wc=!1,je=t;je!==null;)if(t=je,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,je=e;else for(;je!==null;){t=je;try{var v=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(v!==null){var h=v.memoizedProps,_=v.memoizedState,d=t.stateNode,l=d.getSnapshotBeforeUpdate(t.elementType===t.type?h:hn(t.type,h),_);d.__reactInternalSnapshotBeforeUpdate=l}break;case 3:var c=t.stateNode.containerInfo;c.nodeType===1?c.textContent="":c.nodeType===9&&c.documentElement&&c.removeChild(c.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(we(163))}}catch(f){Tt(t,t.return,f)}if(e=t.sibling,e!==null){e.return=t.return,je=e;break}je=t.return}return v=ny,ny=!1,v}function pd(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&e)===e){var a=i.destroy;i.destroy=void 0,a!==void 0&&Cm(t,r,a)}i=i.next}while(i!==n)}}function Vp(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function Om(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function c7(e){var t=e.alternate;t!==null&&(e.alternate=null,c7(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Vn],delete t[Md],delete t[hm],delete t[$T],delete t[FT])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function p7(e){return e.tag===5||e.tag===3||e.tag===4}function iy(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||p7(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Pm(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=zc));else if(n!==4&&(e=e.child,e!==null))for(Pm(e,t,r),e=e.sibling;e!==null;)Pm(e,t,r),e=e.sibling}function km(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(km(e,t,r),e=e.sibling;e!==null;)km(e,t,r),e=e.sibling}var Wt=null,mn=!1;function Ri(e,t,r){for(r=r.child;r!==null;)f7(e,t,r),r=r.sibling}function f7(e,t,r){if(Gn&&typeof Gn.onCommitFiberUnmount=="function")try{Gn.onCommitFiberUnmount(Lp,r)}catch{}switch(r.tag){case 5:tr||ss(r,t);case 6:var n=Wt,i=mn;Wt=null,Ri(e,t,r),Wt=n,mn=i,Wt!==null&&(mn?(e=Wt,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Wt.removeChild(r.stateNode));break;case 18:Wt!==null&&(mn?(e=Wt,r=r.stateNode,e.nodeType===8?K1(e.parentNode,r):e.nodeType===1&&K1(e,r),Cd(e)):K1(Wt,r.stateNode));break;case 4:n=Wt,i=mn,Wt=r.stateNode.containerInfo,mn=!0,Ri(e,t,r),Wt=n,mn=i;break;case 0:case 11:case 14:case 15:if(!tr&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){i=n=n.next;do{var a=i,o=a.destroy;a=a.tag,o!==void 0&&(a&2||a&4)&&Cm(r,t,o),i=i.next}while(i!==n)}Ri(e,t,r);break;case 1:if(!tr&&(ss(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(p){Tt(r,t,p)}Ri(e,t,r);break;case 21:Ri(e,t,r);break;case 22:r.mode&1?(tr=(n=tr)||r.memoizedState!==null,Ri(e,t,r),tr=n):Ri(e,t,r);break;default:Ri(e,t,r)}}function ay(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new tR),t.forEach(function(n){var i=cR.bind(null,e,n);r.has(n)||(r.add(n),n.then(i,i))})}}function dn(e,t){var r=t.deletions;if(r!==null)for(var n=0;n<r.length;n++){var i=r[n];try{var a=e,o=t,p=o;e:for(;p!==null;){switch(p.tag){case 5:Wt=p.stateNode,mn=!1;break e;case 3:Wt=p.stateNode.containerInfo,mn=!0;break e;case 4:Wt=p.stateNode.containerInfo,mn=!0;break e}p=p.return}if(Wt===null)throw Error(we(160));f7(a,o,i),Wt=null,mn=!1;var u=i.alternate;u!==null&&(u.return=null),i.return=null}catch(y){Tt(i,t,y)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)h7(t,e),t=t.sibling}function h7(e,t){var r=e.alternate,n=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(dn(t,e),An(e),n&4){try{pd(3,e,e.return),Vp(3,e)}catch(h){Tt(e,e.return,h)}try{pd(5,e,e.return)}catch(h){Tt(e,e.return,h)}}break;case 1:dn(t,e),An(e),n&512&&r!==null&&ss(r,r.return);break;case 5:if(dn(t,e),An(e),n&512&&r!==null&&ss(r,r.return),e.flags&32){var i=e.stateNode;try{bd(i,"")}catch(h){Tt(e,e.return,h)}}if(n&4&&(i=e.stateNode,i!=null)){var a=e.memoizedProps,o=r!==null?r.memoizedProps:a,p=e.type,u=e.updateQueue;if(e.updateQueue=null,u!==null)try{p==="input"&&a.type==="radio"&&a.name!=null&&L8(i,a),em(p,o);var y=em(p,a);for(o=0;o<u.length;o+=2){var s=u[o],m=u[o+1];s==="style"?B8(i,m):s==="dangerouslySetInnerHTML"?$8(i,m):s==="children"?bd(i,m):cg(i,s,m,y)}switch(p){case"input":Yh(i,a);break;case"textarea":x8(i,a);break;case"select":var g=i._wrapperState.wasMultiple;i._wrapperState.wasMultiple=!!a.multiple;var S=a.value;S!=null?ps(i,!!a.multiple,S,!1):g!==!!a.multiple&&(a.defaultValue!=null?ps(i,!!a.multiple,a.defaultValue,!0):ps(i,!!a.multiple,a.multiple?[]:"",!1))}i[Md]=a}catch(h){Tt(e,e.return,h)}}break;case 6:if(dn(t,e),An(e),n&4){if(e.stateNode===null)throw Error(we(162));i=e.stateNode,a=e.memoizedProps;try{i.nodeValue=a}catch(h){Tt(e,e.return,h)}}break;case 3:if(dn(t,e),An(e),n&4&&r!==null&&r.memoizedState.isDehydrated)try{Cd(t.containerInfo)}catch(h){Tt(e,e.return,h)}break;case 4:dn(t,e),An(e);break;case 13:dn(t,e),An(e),i=e.child,i.flags&8192&&(a=i.memoizedState!==null,i.stateNode.isHidden=a,!a||i.alternate!==null&&i.alternate.memoizedState!==null||(qg=Ot())),n&4&&ay(e);break;case 22:if(s=r!==null&&r.memoizedState!==null,e.mode&1?(tr=(y=tr)||s,dn(t,e),tr=y):dn(t,e),An(e),n&8192){if(y=e.memoizedState!==null,(e.stateNode.isHidden=y)&&!s&&e.mode&1)for(je=e,s=e.child;s!==null;){for(m=je=s;je!==null;){switch(g=je,S=g.child,g.tag){case 0:case 11:case 14:case 15:pd(4,g,g.return);break;case 1:ss(g,g.return);var v=g.stateNode;if(typeof v.componentWillUnmount=="function"){n=g,r=g.return;try{t=n,v.props=t.memoizedProps,v.state=t.memoizedState,v.componentWillUnmount()}catch(h){Tt(n,r,h)}}break;case 5:ss(g,g.return);break;case 22:if(g.memoizedState!==null){sy(m);continue}}S!==null?(S.return=g,je=S):sy(m)}s=s.sibling}e:for(s=null,m=e;;){if(m.tag===5){if(s===null){s=m;try{i=m.stateNode,y?(a=i.style,typeof a.setProperty=="function"?a.setProperty("display","none","important"):a.display="none"):(p=m.stateNode,u=m.memoizedProps.style,o=u!=null&&u.hasOwnProperty("display")?u.display:null,p.style.display=F8("display",o))}catch(h){Tt(e,e.return,h)}}}else if(m.tag===6){if(s===null)try{m.stateNode.nodeValue=y?"":m.memoizedProps}catch(h){Tt(e,e.return,h)}}else if((m.tag!==22&&m.tag!==23||m.memoizedState===null||m===e)&&m.child!==null){m.child.return=m,m=m.child;continue}if(m===e)break e;for(;m.sibling===null;){if(m.return===null||m.return===e)break e;s===m&&(s=null),m=m.return}s===m&&(s=null),m.sibling.return=m.return,m=m.sibling}}break;case 19:dn(t,e),An(e),n&4&&ay(e);break;case 21:break;default:dn(t,e),An(e)}}function An(e){var t=e.flags;if(t&2){try{e:{for(var r=e.return;r!==null;){if(p7(r)){var n=r;break e}r=r.return}throw Error(we(160))}switch(n.tag){case 5:var i=n.stateNode;n.flags&32&&(bd(i,""),n.flags&=-33);var a=iy(e);km(e,a,i);break;case 3:case 4:var o=n.stateNode.containerInfo,p=iy(e);Pm(e,p,o);break;default:throw Error(we(161))}}catch(u){Tt(e,e.return,u)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function nR(e,t,r){je=e,m7(e)}function m7(e,t,r){for(var n=(e.mode&1)!==0;je!==null;){var i=je,a=i.child;if(i.tag===22&&n){var o=i.memoizedState!==null||ju;if(!o){var p=i.alternate,u=p!==null&&p.memoizedState!==null||tr;p=ju;var y=tr;if(ju=o,(tr=u)&&!y)for(je=i;je!==null;)o=je,u=o.child,o.tag===22&&o.memoizedState!==null?ly(i):u!==null?(u.return=o,je=u):ly(i);for(;a!==null;)je=a,m7(a),a=a.sibling;je=i,ju=p,tr=y}oy(e)}else i.subtreeFlags&8772&&a!==null?(a.return=i,je=a):oy(e)}}function oy(e){for(;je!==null;){var t=je;if(t.flags&8772){var r=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:tr||Vp(5,t);break;case 1:var n=t.stateNode;if(t.flags&4&&!tr)if(r===null)n.componentDidMount();else{var i=t.elementType===t.type?r.memoizedProps:hn(t.type,r.memoizedProps);n.componentDidUpdate(i,r.memoizedState,n.__reactInternalSnapshotBeforeUpdate)}var a=t.updateQueue;a!==null&&V2(t,a,n);break;case 3:var o=t.updateQueue;if(o!==null){if(r=null,t.child!==null)switch(t.child.tag){case 5:r=t.child.stateNode;break;case 1:r=t.child.stateNode}V2(t,o,r)}break;case 5:var p=t.stateNode;if(r===null&&t.flags&4){r=p;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&r.focus();break;case"img":u.src&&(r.src=u.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var y=t.alternate;if(y!==null){var s=y.memoizedState;if(s!==null){var m=s.dehydrated;m!==null&&Cd(m)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(we(163))}tr||t.flags&512&&Om(t)}catch(g){Tt(t,t.return,g)}}if(t===e){je=null;break}if(r=t.sibling,r!==null){r.return=t.return,je=r;break}je=t.return}}function sy(e){for(;je!==null;){var t=je;if(t===e){je=null;break}var r=t.sibling;if(r!==null){r.return=t.return,je=r;break}je=t.return}}function ly(e){for(;je!==null;){var t=je;try{switch(t.tag){case 0:case 11:case 15:var r=t.return;try{Vp(4,t)}catch(u){Tt(t,r,u)}break;case 1:var n=t.stateNode;if(typeof n.componentDidMount=="function"){var i=t.return;try{n.componentDidMount()}catch(u){Tt(t,i,u)}}var a=t.return;try{Om(t)}catch(u){Tt(t,a,u)}break;case 5:var o=t.return;try{Om(t)}catch(u){Tt(t,o,u)}}}catch(u){Tt(t,t.return,u)}if(t===e){je=null;break}var p=t.sibling;if(p!==null){p.return=t.return,je=p;break}je=t.return}}var iR=Math.ceil,ap=_i.ReactCurrentDispatcher,Kg=_i.ReactCurrentOwner,Qr=_i.ReactCurrentBatchConfig,it=0,jt=null,Dt=null,Yt=0,Mr=0,ls=Ea(0),xt=0,$d=null,io=0,qp=0,Vg=0,fd=null,wr=null,qg=0,ks=1/0,ai=null,op=!1,Dm=null,sa=null,Ku=!1,Zi=null,sp=0,hd=0,Mm=null,Oc=-1,Pc=0;function cr(){return it&6?Ot():Oc!==-1?Oc:Oc=Ot()}function la(e){return e.mode&1?it&2&&Yt!==0?Yt&-Yt:jT.transition!==null?(Pc===0&&(Pc=X8()),Pc):(e=lt,e!==0||(e=window.event,e=e===void 0?16:a_(e.type)),e):1}function Sn(e,t,r,n){if(50<hd)throw hd=0,Mm=null,Error(we(185));Xd(e,r,n),(!(it&2)||e!==jt)&&(e===jt&&(!(it&2)&&(qp|=r),xt===4&&zi(e,Yt)),Cr(e,n),r===1&&it===0&&!(t.mode&1)&&(ks=Ot()+500,Bp&&wa()))}function Cr(e,t){var r=e.callbackNode;jb(e,t);var n=qc(e,e===jt?Yt:0);if(n===0)r!==null&&g2(r),e.callbackNode=null,e.callbackPriority=0;else if(t=n&-n,e.callbackPriority!==t){if(r!=null&&g2(r),t===1)e.tag===0?BT(dy.bind(null,e)):T_(dy.bind(null,e)),xT(function(){!(it&6)&&wa()}),r=null;else{switch(Z8(n)){case 1:r=vg;break;case 4:r=Q8;break;case 16:r=Vc;break;case 536870912:r=J8;break;default:r=Vc}r=b7(r,v7.bind(null,e))}e.callbackPriority=t,e.callbackNode=r}}function v7(e,t){if(Oc=-1,Pc=0,it&6)throw Error(we(327));var r=e.callbackNode;if(gs()&&e.callbackNode!==r)return null;var n=qc(e,e===jt?Yt:0);if(n===0)return null;if(n&30||n&e.expiredLanes||t)t=lp(e,n);else{t=n;var i=it;it|=2;var a=y7();(jt!==e||Yt!==t)&&(ai=null,ks=Ot()+500,Xa(e,t));do try{sR();break}catch(p){g7(e,p)}while(1);Pg(),ap.current=a,it=i,Dt!==null?t=0:(jt=null,Yt=0,t=xt)}if(t!==0){if(t===2&&(i=am(e),i!==0&&(n=i,t=Am(e,i))),t===1)throw r=$d,Xa(e,0),zi(e,n),Cr(e,Ot()),r;if(t===6)zi(e,n);else{if(i=e.current.alternate,!(n&30)&&!aR(i)&&(t=lp(e,n),t===2&&(a=am(e),a!==0&&(n=a,t=Am(e,a))),t===1))throw r=$d,Xa(e,0),zi(e,n),Cr(e,Ot()),r;switch(e.finishedWork=i,e.finishedLanes=n,t){case 0:case 1:throw Error(we(345));case 2:Ka(e,wr,ai);break;case 3:if(zi(e,n),(n&130023424)===n&&(t=qg+500-Ot(),10<t)){if(qc(e,0)!==0)break;if(i=e.suspendedLanes,(i&n)!==n){cr(),e.pingedLanes|=e.suspendedLanes&i;break}e.timeoutHandle=fm(Ka.bind(null,e,wr,ai),t);break}Ka(e,wr,ai);break;case 4:if(zi(e,n),(n&4194240)===n)break;for(t=e.eventTimes,i=-1;0<n;){var o=31-_n(n);a=1<<o,o=t[o],o>i&&(i=o),n&=~a}if(n=i,n=Ot()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*iR(n/1960))-n,10<n){e.timeoutHandle=fm(Ka.bind(null,e,wr,ai),n);break}Ka(e,wr,ai);break;case 5:Ka(e,wr,ai);break;default:throw Error(we(329))}}}return Cr(e,Ot()),e.callbackNode===r?v7.bind(null,e):null}function Am(e,t){var r=fd;return e.current.memoizedState.isDehydrated&&(Xa(e,t).flags|=256),e=lp(e,t),e!==2&&(t=wr,wr=r,t!==null&&Nm(t)),e}function Nm(e){wr===null?wr=e:wr.push.apply(wr,e)}function aR(e){for(var t=e;;){if(t.flags&16384){var r=t.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var n=0;n<r.length;n++){var i=r[n],a=i.getSnapshot;i=i.value;try{if(!wn(a(),i))return!1}catch{return!1}}}if(r=t.child,t.subtreeFlags&16384&&r!==null)r.return=t,t=r;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function zi(e,t){for(t&=~Vg,t&=~qp,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var r=31-_n(t),n=1<<r;e[r]=-1,t&=~n}}function dy(e){if(it&6)throw Error(we(327));gs();var t=qc(e,0);if(!(t&1))return Cr(e,Ot()),null;var r=lp(e,t);if(e.tag!==0&&r===2){var n=am(e);n!==0&&(t=n,r=Am(e,n))}if(r===1)throw r=$d,Xa(e,0),zi(e,t),Cr(e,Ot()),r;if(r===6)throw Error(we(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ka(e,wr,ai),Cr(e,Ot()),null}function Wg(e,t){var r=it;it|=1;try{return e(t)}finally{it=r,it===0&&(ks=Ot()+500,Bp&&wa())}}function ao(e){Zi!==null&&Zi.tag===0&&!(it&6)&&gs();var t=it;it|=1;var r=Qr.transition,n=lt;try{if(Qr.transition=null,lt=1,e)return e()}finally{lt=n,Qr.transition=r,it=t,!(it&6)&&wa()}}function Hg(){Mr=ls.current,mt(ls)}function Xa(e,t){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==-1&&(e.timeoutHandle=-1,LT(r)),Dt!==null)for(r=Dt.return;r!==null;){var n=r;switch(Ig(n),n.tag){case 1:n=n.type.childContextTypes,n!=null&&Yc();break;case 3:Os(),mt(Rr),mt(nr),Lg();break;case 5:Ng(n);break;case 4:Os();break;case 13:mt(yt);break;case 19:mt(yt);break;case 10:kg(n.type._context);break;case 22:case 23:Hg()}r=r.return}if(jt=e,Dt=e=da(e.current,null),Yt=Mr=t,xt=0,$d=null,Vg=qp=io=0,wr=fd=null,Ya!==null){for(t=0;t<Ya.length;t++)if(r=Ya[t],n=r.interleaved,n!==null){r.interleaved=null;var i=n.next,a=r.pending;if(a!==null){var o=a.next;a.next=i,n.next=o}r.pending=n}Ya=null}return e}function g7(e,t){do{var r=Dt;try{if(Pg(),Rc.current=ip,np){for(var n=St.memoizedState;n!==null;){var i=n.queue;i!==null&&(i.pending=null),n=n.next}np=!1}if(no=0,Ft=Nt=St=null,cd=!1,Ld=0,Kg.current=null,r===null||r.return===null){xt=1,$d=t,Dt=null;break}e:{var a=e,o=r.return,p=r,u=t;if(t=Yt,p.flags|=32768,u!==null&&typeof u=="object"&&typeof u.then=="function"){var y=u,s=p,m=s.tag;if(!(s.mode&1)&&(m===0||m===11||m===15)){var g=s.alternate;g?(s.updateQueue=g.updateQueue,s.memoizedState=g.memoizedState,s.lanes=g.lanes):(s.updateQueue=null,s.memoizedState=null)}var S=Q2(o);if(S!==null){S.flags&=-257,J2(S,o,p,a,t),S.mode&1&&Y2(a,y,t),t=S,u=y;var v=t.updateQueue;if(v===null){var h=new Set;h.add(u),t.updateQueue=h}else v.add(u);break e}else{if(!(t&1)){Y2(a,y,t),Gg();break e}u=Error(we(426))}}else if(gt&&p.mode&1){var _=Q2(o);if(_!==null){!(_.flags&65536)&&(_.flags|=256),J2(_,o,p,a,t),Cg(Ps(u,p));break e}}a=u=Ps(u,p),xt!==4&&(xt=2),fd===null?fd=[a]:fd.push(a),a=o;do{switch(a.tag){case 3:a.flags|=65536,t&=-t,a.lanes|=t;var d=e7(a,u,t);K2(a,d);break e;case 1:p=u;var l=a.type,c=a.stateNode;if(!(a.flags&128)&&(typeof l.getDerivedStateFromError=="function"||c!==null&&typeof c.componentDidCatch=="function"&&(sa===null||!sa.has(c)))){a.flags|=65536,t&=-t,a.lanes|=t;var f=t7(a,p,t);K2(a,f);break e}}a=a.return}while(a!==null)}S7(r)}catch(E){t=E,Dt===r&&r!==null&&(Dt=r=r.return);continue}break}while(1)}function y7(){var e=ap.current;return ap.current=ip,e===null?ip:e}function Gg(){(xt===0||xt===3||xt===2)&&(xt=4),jt===null||!(io&268435455)&&!(qp&268435455)||zi(jt,Yt)}function lp(e,t){var r=it;it|=2;var n=y7();(jt!==e||Yt!==t)&&(ai=null,Xa(e,t));do try{oR();break}catch(i){g7(e,i)}while(1);if(Pg(),it=r,ap.current=n,Dt!==null)throw Error(we(261));return jt=null,Yt=0,xt}function oR(){for(;Dt!==null;)_7(Dt)}function sR(){for(;Dt!==null&&!Mb();)_7(Dt)}function _7(e){var t=w7(e.alternate,e,Mr);e.memoizedProps=e.pendingProps,t===null?S7(e):Dt=t,Kg.current=null}function S7(e){var t=e;do{var r=t.alternate;if(e=t.return,t.flags&32768){if(r=eR(r,t),r!==null){r.flags&=32767,Dt=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{xt=6,Dt=null;return}}else if(r=ZT(r,t,Mr),r!==null){Dt=r;return}if(t=t.sibling,t!==null){Dt=t;return}Dt=t=e}while(t!==null);xt===0&&(xt=5)}function Ka(e,t,r){var n=lt,i=Qr.transition;try{Qr.transition=null,lt=1,lR(e,t,r,n)}finally{Qr.transition=i,lt=n}return null}function lR(e,t,r,n){do gs();while(Zi!==null);if(it&6)throw Error(we(327));r=e.finishedWork;var i=e.finishedLanes;if(r===null)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(we(177));e.callbackNode=null,e.callbackPriority=0;var a=r.lanes|r.childLanes;if(Kb(e,a),e===jt&&(Dt=jt=null,Yt=0),!(r.subtreeFlags&2064)&&!(r.flags&2064)||Ku||(Ku=!0,b7(Vc,function(){return gs(),null})),a=(r.flags&15990)!==0,r.subtreeFlags&15990||a){a=Qr.transition,Qr.transition=null;var o=lt;lt=1;var p=it;it|=4,Kg.current=null,rR(e,r),h7(r,e),OT(cm),Wc=!!um,cm=um=null,e.current=r,nR(r),Ab(),it=p,lt=o,Qr.transition=a}else e.current=r;if(Ku&&(Ku=!1,Zi=e,sp=i),a=e.pendingLanes,a===0&&(sa=null),xb(r.stateNode),Cr(e,Ot()),t!==null)for(n=e.onRecoverableError,r=0;r<t.length;r++)i=t[r],n(i.value,{componentStack:i.stack,digest:i.digest});if(op)throw op=!1,e=Dm,Dm=null,e;return sp&1&&e.tag!==0&&gs(),a=e.pendingLanes,a&1?e===Mm?hd++:(hd=0,Mm=e):hd=0,wa(),null}function gs(){if(Zi!==null){var e=Z8(sp),t=Qr.transition,r=lt;try{if(Qr.transition=null,lt=16>e?16:e,Zi===null)var n=!1;else{if(e=Zi,Zi=null,sp=0,it&6)throw Error(we(331));var i=it;for(it|=4,je=e.current;je!==null;){var a=je,o=a.child;if(je.flags&16){var p=a.deletions;if(p!==null){for(var u=0;u<p.length;u++){var y=p[u];for(je=y;je!==null;){var s=je;switch(s.tag){case 0:case 11:case 15:pd(8,s,a)}var m=s.child;if(m!==null)m.return=s,je=m;else for(;je!==null;){s=je;var g=s.sibling,S=s.return;if(c7(s),s===y){je=null;break}if(g!==null){g.return=S,je=g;break}je=S}}}var v=a.alternate;if(v!==null){var h=v.child;if(h!==null){v.child=null;do{var _=h.sibling;h.sibling=null,h=_}while(h!==null)}}je=a}}if(a.subtreeFlags&2064&&o!==null)o.return=a,je=o;else e:for(;je!==null;){if(a=je,a.flags&2048)switch(a.tag){case 0:case 11:case 15:pd(9,a,a.return)}var d=a.sibling;if(d!==null){d.return=a.return,je=d;break e}je=a.return}}var l=e.current;for(je=l;je!==null;){o=je;var c=o.child;if(o.subtreeFlags&2064&&c!==null)c.return=o,je=c;else e:for(o=l;je!==null;){if(p=je,p.flags&2048)try{switch(p.tag){case 0:case 11:case 15:Vp(9,p)}}catch(E){Tt(p,p.return,E)}if(p===o){je=null;break e}var f=p.sibling;if(f!==null){f.return=p.return,je=f;break e}je=p.return}}if(it=i,wa(),Gn&&typeof Gn.onPostCommitFiberRoot=="function")try{Gn.onPostCommitFiberRoot(Lp,e)}catch{}n=!0}return n}finally{lt=r,Qr.transition=t}}return!1}function uy(e,t,r){t=Ps(r,t),t=e7(e,t,1),e=oa(e,t,1),t=cr(),e!==null&&(Xd(e,1,t),Cr(e,t))}function Tt(e,t,r){if(e.tag===3)uy(e,e,r);else for(;t!==null;){if(t.tag===3){uy(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(sa===null||!sa.has(n))){e=Ps(r,e),e=t7(t,e,1),t=oa(t,e,1),e=cr(),t!==null&&(Xd(t,1,e),Cr(t,e));break}}t=t.return}}function dR(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),t=cr(),e.pingedLanes|=e.suspendedLanes&r,jt===e&&(Yt&r)===r&&(xt===4||xt===3&&(Yt&130023424)===Yt&&500>Ot()-qg?Xa(e,0):Vg|=r),Cr(e,t)}function E7(e,t){t===0&&(e.mode&1?(t=Mu,Mu<<=1,!(Mu&130023424)&&(Mu=4194304)):t=1);var r=cr();e=gi(e,t),e!==null&&(Xd(e,t,r),Cr(e,r))}function uR(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),E7(e,r)}function cR(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,i=e.memoizedState;i!==null&&(r=i.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(we(314))}n!==null&&n.delete(t),E7(e,r)}var w7;w7=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Rr.current)br=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return br=!1,XT(e,t,r);br=!!(e.flags&131072)}else br=!1,gt&&t.flags&1048576&&R_(t,Xc,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;Cc(e,t),e=t.pendingProps;var i=Rs(t,nr.current);vs(t,r),i=Ug(null,t,n,e,i,r);var a=$g();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ir(n)?(a=!0,Qc(t)):a=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Mg(t),i.updater=jp,t.stateNode=i,i._reactInternals=t,Sm(t,n,e,r),t=bm(null,t,n,!0,a,r)):(t.tag=0,gt&&a&&Rg(t),dr(null,t,i,r),t=t.child),t;case 16:n=t.elementType;e:{switch(Cc(e,t),e=t.pendingProps,i=n._init,n=i(n._payload),t.type=n,i=t.tag=fR(n),e=hn(n,e),i){case 0:t=wm(null,t,n,e,r);break e;case 1:t=ey(null,t,n,e,r);break e;case 11:t=X2(null,t,n,e,r);break e;case 14:t=Z2(null,t,n,hn(n.type,e),r);break e}throw Error(we(306,n,""))}return t;case 0:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:hn(n,i),wm(e,t,n,i,r);case 1:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:hn(n,i),ey(e,t,n,i,r);case 3:e:{if(a7(t),e===null)throw Error(we(387));n=t.pendingProps,a=t.memoizedState,i=a.element,P_(e,t),tp(t,n,null,r);var o=t.memoizedState;if(n=o.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){i=Ps(Error(we(423)),t),t=ty(e,t,n,r,i);break e}else if(n!==i){i=Ps(Error(we(424)),t),t=ty(e,t,n,r,i);break e}else for(Ar=aa(t.stateNode.containerInfo.firstChild),Lr=t,gt=!0,vn=null,r=A_(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Is(),n===i){t=yi(e,t,r);break e}dr(e,t,n,r)}t=t.child}return t;case 5:return N_(t),e===null&&gm(t),n=t.type,i=t.pendingProps,a=e!==null?e.memoizedProps:null,o=i.children,pm(n,i)?o=null:a!==null&&pm(n,a)&&(t.flags|=32),i7(e,t),dr(e,t,o,r),t.child;case 6:return e===null&&gm(t),null;case 13:return o7(e,t,r);case 4:return Ag(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Cs(t,null,n,r):dr(e,t,n,r),t.child;case 11:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:hn(n,i),X2(e,t,n,i,r);case 7:return dr(e,t,t.pendingProps,r),t.child;case 8:return dr(e,t,t.pendingProps.children,r),t.child;case 12:return dr(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,i=t.pendingProps,a=t.memoizedProps,o=i.value,pt(Zc,n._currentValue),n._currentValue=o,a!==null)if(wn(a.value,o)){if(a.children===i.children&&!Rr.current){t=yi(e,t,r);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var p=a.dependencies;if(p!==null){o=a.child;for(var u=p.firstContext;u!==null;){if(u.context===n){if(a.tag===1){u=fi(-1,r&-r),u.tag=2;var y=a.updateQueue;if(y!==null){y=y.shared;var s=y.pending;s===null?u.next=u:(u.next=s.next,s.next=u),y.pending=u}}a.lanes|=r,u=a.alternate,u!==null&&(u.lanes|=r),ym(a.return,r,t),p.lanes|=r;break}u=u.next}}else if(a.tag===10)o=a.type===t.type?null:a.child;else if(a.tag===18){if(o=a.return,o===null)throw Error(we(341));o.lanes|=r,p=o.alternate,p!==null&&(p.lanes|=r),ym(o,r,t),o=a.sibling}else o=a.child;if(o!==null)o.return=a;else for(o=a;o!==null;){if(o===t){o=null;break}if(a=o.sibling,a!==null){a.return=o.return,o=a;break}o=o.return}a=o}dr(e,t,i.children,r),t=t.child}return t;case 9:return i=t.type,n=t.pendingProps.children,vs(t,r),i=Jr(i),n=n(i),t.flags|=1,dr(e,t,n,r),t.child;case 14:return n=t.type,i=hn(n,t.pendingProps),i=hn(n.type,i),Z2(e,t,n,i,r);case 15:return r7(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,i=t.pendingProps,i=t.elementType===n?i:hn(n,i),Cc(e,t),t.tag=1,Ir(n)?(e=!0,Qc(t)):e=!1,vs(t,r),D_(t,n,i),Sm(t,n,i,r),bm(null,t,n,!0,e,r);case 19:return s7(e,t,r);case 22:return n7(e,t,r)}throw Error(we(156,t.tag))};function b7(e,t){return Y8(e,t)}function pR(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Yr(e,t,r,n){return new pR(e,t,r,n)}function zg(e){return e=e.prototype,!(!e||!e.isReactComponent)}function fR(e){if(typeof e=="function")return zg(e)?1:0;if(e!=null){if(e=e.$$typeof,e===fg)return 11;if(e===hg)return 14}return 2}function da(e,t){var r=e.alternate;return r===null?(r=Yr(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function kc(e,t,r,n,i,a){var o=2;if(n=e,typeof e=="function")zg(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case Xo:return Za(r.children,i,a,t);case pg:o=8,i|=8;break;case qh:return e=Yr(12,r,t,i|2),e.elementType=qh,e.lanes=a,e;case Wh:return e=Yr(13,r,t,i),e.elementType=Wh,e.lanes=a,e;case Hh:return e=Yr(19,r,t,i),e.elementType=Hh,e.lanes=a,e;case M8:return Wp(r,i,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case k8:o=10;break e;case D8:o=9;break e;case fg:o=11;break e;case hg:o=14;break e;case Wi:o=16,n=null;break e}throw Error(we(130,e==null?e:typeof e,""))}return t=Yr(o,r,t,i),t.elementType=e,t.type=n,t.lanes=a,t}function Za(e,t,r,n){return e=Yr(7,e,n,t),e.lanes=r,e}function Wp(e,t,r,n){return e=Yr(22,e,n,t),e.elementType=M8,e.lanes=r,e.stateNode={isHidden:!1},e}function Q1(e,t,r){return e=Yr(6,e,null,t),e.lanes=r,e}function J1(e,t,r){return t=Yr(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function hR(e,t,r,n,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=D1(0),this.expirationTimes=D1(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=D1(0),this.identifierPrefix=n,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Yg(e,t,r,n,i,a,o,p,u){return e=new hR(e,t,r,p,u),t===1?(t=1,a===!0&&(t|=8)):t=0,a=Yr(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Mg(a),e}function mR(e,t,r){var n=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:Jo,key:n==null?null:""+n,children:e,containerInfo:t,implementation:r}}function T7(e){if(!e)return ha;e=e._reactInternals;e:{if(ho(e)!==e||e.tag!==1)throw Error(we(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Ir(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(we(171))}if(e.tag===1){var r=e.type;if(Ir(r))return b_(e,r,t)}return t}function R7(e,t,r,n,i,a,o,p,u){return e=Yg(r,n,!0,e,i,a,o,p,u),e.context=T7(null),r=e.current,n=cr(),i=la(r),a=fi(n,i),a.callback=t??null,oa(r,a,i),e.current.lanes=i,Xd(e,i,n),Cr(e,n),e}function Hp(e,t,r,n){var i=t.current,a=cr(),o=la(i);return r=T7(r),t.context===null?t.context=r:t.pendingContext=r,t=fi(a,o),t.payload={element:e},n=n===void 0?null:n,n!==null&&(t.callback=n),e=oa(i,t,o),e!==null&&(Sn(e,i,o,a),Tc(e,i,o)),o}function dp(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function cy(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<t?r:t}}function Qg(e,t){cy(e,t),(e=e.alternate)&&cy(e,t)}function vR(){return null}var I7=typeof reportError=="function"?reportError:function(e){console.error(e)};function Jg(e){this._internalRoot=e}Gp.prototype.render=Jg.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(we(409));Hp(e,t,null,null)};Gp.prototype.unmount=Jg.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;ao(function(){Hp(null,e,null,null)}),t[vi]=null}};function Gp(e){this._internalRoot=e}Gp.prototype.unstable_scheduleHydration=function(e){if(e){var t=r_();e={blockedOn:null,target:e,priority:t};for(var r=0;r<Gi.length&&t!==0&&t<Gi[r].priority;r++);Gi.splice(r,0,e),r===0&&i_(e)}};function Xg(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function zp(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function py(){}function gR(e,t,r,n,i){if(i){if(typeof n=="function"){var a=n;n=function(){var y=dp(o);a.call(y)}}var o=R7(t,n,e,0,null,!1,!1,"",py);return e._reactRootContainer=o,e[vi]=o.current,kd(e.nodeType===8?e.parentNode:e),ao(),o}for(;i=e.lastChild;)e.removeChild(i);if(typeof n=="function"){var p=n;n=function(){var y=dp(u);p.call(y)}}var u=Yg(e,0,!1,null,null,!1,!1,"",py);return e._reactRootContainer=u,e[vi]=u.current,kd(e.nodeType===8?e.parentNode:e),ao(function(){Hp(t,u,r,n)}),u}function Yp(e,t,r,n,i){var a=r._reactRootContainer;if(a){var o=a;if(typeof i=="function"){var p=i;i=function(){var u=dp(o);p.call(u)}}Hp(t,o,e,i)}else o=gR(r,t,e,i,n);return dp(o)}e_=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var r=ed(t.pendingLanes);r!==0&&(gg(t,r|1),Cr(t,Ot()),!(it&6)&&(ks=Ot()+500,wa()))}break;case 13:ao(function(){var n=gi(e,1);if(n!==null){var i=cr();Sn(n,e,1,i)}}),Qg(e,1)}};yg=function(e){if(e.tag===13){var t=gi(e,134217728);if(t!==null){var r=cr();Sn(t,e,134217728,r)}Qg(e,134217728)}};t_=function(e){if(e.tag===13){var t=la(e),r=gi(e,t);if(r!==null){var n=cr();Sn(r,e,t,n)}Qg(e,t)}};r_=function(){return lt};n_=function(e,t){var r=lt;try{return lt=e,t()}finally{lt=r}};rm=function(e,t,r){switch(t){case"input":if(Yh(e,r),t=r.name,r.type==="radio"&&t!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<r.length;t++){var n=r[t];if(n!==e&&n.form===e.form){var i=Fp(n);if(!i)throw Error(we(90));N8(n),Yh(n,i)}}}break;case"textarea":x8(e,r);break;case"select":t=r.value,t!=null&&ps(e,!!r.multiple,t,!1)}};V8=Wg;q8=ao;var yR={usingClientEntryPoint:!1,Events:[eu,rs,Fp,j8,K8,Wg]},al={findFiberByHostInstance:za,bundleType:0,version:"18.2.0",rendererPackageName:"react-dom"},_R={bundleType:al.bundleType,version:al.version,rendererPackageName:al.rendererPackageName,rendererConfig:al.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:_i.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=G8(e),e===null?null:e.stateNode},findFiberByHostInstance:al.findFiberByHostInstance||vR,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0-next-9e3b772b8-20220608"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Vu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Vu.isDisabled&&Vu.supportsFiber)try{Lp=Vu.inject(_R),Gn=Vu}catch{}}$r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=yR;$r.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Xg(t))throw Error(we(200));return mR(e,t,null,r)};$r.createRoot=function(e,t){if(!Xg(e))throw Error(we(299));var r=!1,n="",i=I7;return t!=null&&(t.unstable_strictMode===!0&&(r=!0),t.identifierPrefix!==void 0&&(n=t.identifierPrefix),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Yg(e,1,!1,null,null,r,!1,n,i),e[vi]=t.current,kd(e.nodeType===8?e.parentNode:e),new Jg(t)};$r.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(we(188)):(e=Object.keys(e).join(","),Error(we(268,e)));return e=G8(t),e=e===null?null:e.stateNode,e};$r.flushSync=function(e){return ao(e)};$r.hydrate=function(e,t,r){if(!zp(t))throw Error(we(200));return Yp(null,e,t,!0,r)};$r.hydrateRoot=function(e,t,r){if(!Xg(e))throw Error(we(405));var n=r!=null&&r.hydratedSources||null,i=!1,a="",o=I7;if(r!=null&&(r.unstable_strictMode===!0&&(i=!0),r.identifierPrefix!==void 0&&(a=r.identifierPrefix),r.onRecoverableError!==void 0&&(o=r.onRecoverableError)),t=R7(t,null,e,1,r??null,i,!1,a,o),e[vi]=t.current,kd(e),n)for(e=0;e<n.length;e++)r=n[e],i=r._getVersion,i=i(r._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[r,i]:t.mutableSourceEagerHydrationData.push(r,i);return new Gp(t)};$r.render=function(e,t,r){if(!zp(t))throw Error(we(200));return Yp(null,e,t,!1,r)};$r.unmountComponentAtNode=function(e){if(!zp(e))throw Error(we(40));return e._reactRootContainer?(ao(function(){Yp(null,null,e,!1,function(){e._reactRootContainer=null,e[vi]=null})}),!0):!1};$r.unstable_batchedUpdates=Wg;$r.unstable_renderSubtreeIntoContainer=function(e,t,r,n){if(!zp(r))throw Error(we(200));if(e==null||e._reactInternals===void 0)throw Error(we(38));return Yp(e,t,r,!1,n)};$r.version="18.2.0-next-9e3b772b8-20220608";(function(e){function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}t(),e.exports=$r})(vb);var fy=jh;s2.createRoot=fy.createRoot,s2.hydrateRoot=fy.hydrateRoot;/** + * @remix-run/router v1.2.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function up(){return up=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},up.apply(this,arguments)}var ea;(function(e){e.Pop="POP",e.Push="PUSH",e.Replace="REPLACE"})(ea||(ea={}));const hy="popstate";function SR(e){e===void 0&&(e={});function t(n,i){let{pathname:a,search:o,hash:p}=n.location;return Lm("",{pathname:a,search:o,hash:p},i.state&&i.state.usr||null,i.state&&i.state.key||"default")}function r(n,i){return typeof i=="string"?i:Fd(i)}return bR(t,r,null,e)}function Ut(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function ER(){return Math.random().toString(36).substr(2,8)}function my(e){return{usr:e.state,key:e.key}}function Lm(e,t,r,n){return r===void 0&&(r=null),up({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?$s(t):t,{state:r,key:t&&t.key||n||ER()})}function Fd(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function $s(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function wR(e){let t=typeof window<"u"&&typeof window.location<"u"&&window.location.origin!=="null"?window.location.origin:window.location.href,r=typeof e=="string"?e:Fd(e);return Ut(t,"No window.location.(origin|href) available to create URL for href: "+r),new URL(r,t)}function bR(e,t,r,n){n===void 0&&(n={});let{window:i=document.defaultView,v5Compat:a=!1}=n,o=i.history,p=ea.Pop,u=null;function y(){p=ea.Pop,u&&u({action:p,location:g.location})}function s(S,v){p=ea.Push;let h=Lm(g.location,S,v);r&&r(h,S);let _=my(h),d=g.createHref(h);try{o.pushState(_,"",d)}catch{i.location.assign(d)}a&&u&&u({action:p,location:g.location})}function m(S,v){p=ea.Replace;let h=Lm(g.location,S,v);r&&r(h,S);let _=my(h),d=g.createHref(h);o.replaceState(_,"",d),a&&u&&u({action:p,location:g.location})}let g={get action(){return p},get location(){return e(i,o)},listen(S){if(u)throw new Error("A history only accepts one active listener");return i.addEventListener(hy,y),u=S,()=>{i.removeEventListener(hy,y),u=null}},createHref(S){return t(i,S)},encodeLocation(S){let v=wR(typeof S=="string"?S:Fd(S));return{pathname:v.pathname,search:v.search,hash:v.hash}},push:s,replace:m,go(S){return o.go(S)}};return g}var vy;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(vy||(vy={}));function TR(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?$s(t):t,i=P7(n.pathname||"/",r);if(i==null)return null;let a=C7(e);RR(a);let o=null;for(let p=0;o==null&&p<a.length;++p)o=NR(a[p],UR(i));return o}function C7(e,t,r,n){t===void 0&&(t=[]),r===void 0&&(r=[]),n===void 0&&(n="");let i=(a,o,p)=>{let u={relativePath:p===void 0?a.path||"":p,caseSensitive:a.caseSensitive===!0,childrenIndex:o,route:a};u.relativePath.startsWith("/")&&(Ut(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let y=ua([n,u.relativePath]),s=r.concat(u);a.children&&a.children.length>0&&(Ut(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+y+'".')),C7(a.children,t,s,y)),!(a.path==null&&!a.index)&&t.push({path:y,score:MR(y,a.index),routesMeta:s})};return e.forEach((a,o)=>{var p;if(a.path===""||!((p=a.path)!=null&&p.includes("?")))i(a,o);else for(let u of O7(a.path))i(a,o,u)}),t}function O7(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,i=r.endsWith("?"),a=r.replace(/\?$/,"");if(n.length===0)return i?[a,""]:[a];let o=O7(n.join("/")),p=[];return p.push(...o.map(u=>u===""?a:[a,u].join("/"))),i&&p.push(...o),p.map(u=>e.startsWith("/")&&u===""?"/":u)}function RR(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:AR(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const IR=/^:\w+$/,CR=3,OR=2,PR=1,kR=10,DR=-2,gy=e=>e==="*";function MR(e,t){let r=e.split("/"),n=r.length;return r.some(gy)&&(n+=DR),t&&(n+=OR),r.filter(i=>!gy(i)).reduce((i,a)=>i+(IR.test(a)?CR:a===""?PR:kR),n)}function AR(e,t){return e.length===t.length&&e.slice(0,-1).every((n,i)=>n===t[i])?e[e.length-1]-t[t.length-1]:0}function NR(e,t){let{routesMeta:r}=e,n={},i="/",a=[];for(let o=0;o<r.length;++o){let p=r[o],u=o===r.length-1,y=i==="/"?t:t.slice(i.length)||"/",s=LR({path:p.relativePath,caseSensitive:p.caseSensitive,end:u},y);if(!s)return null;Object.assign(n,s.params);let m=p.route;a.push({params:n,pathname:ua([i,s.pathname]),pathnameBase:jR(ua([i,s.pathnameBase])),route:m}),s.pathnameBase!=="/"&&(i=ua([i,s.pathnameBase]))}return a}function LR(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[r,n]=xR(e.path,e.caseSensitive,e.end),i=t.match(r);if(!i)return null;let a=i[0],o=a.replace(/(.)\/+$/,"$1"),p=i.slice(1);return{params:n.reduce((y,s,m)=>{if(s==="*"){let g=p[m]||"";o=a.slice(0,a.length-g.length).replace(/(.)\/+$/,"$1")}return y[s]=$R(p[m]||"",s),y},{}),pathname:a,pathnameBase:o,pattern:e}}function xR(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),Zg(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(o,p)=>(n.push(p),"/([^\\/]+)"));return e.endsWith("*")?(n.push("*"),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),n]}function UR(e){try{return decodeURI(e)}catch(t){return Zg(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function $R(e,t){try{return decodeURIComponent(e)}catch(r){return Zg(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),e}}function P7(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function Zg(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function FR(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:i=""}=typeof e=="string"?$s(e):e;return{pathname:r?r.startsWith("/")?r:BR(r,t):t,search:KR(n),hash:VR(i)}}function BR(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?r.length>1&&r.pop():i!=="."&&r.push(i)}),r.length>1?r.join("/"):"/"}function X1(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in <Link to="..."> and the router will parse it for you.'}function k7(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function D7(e,t,r,n){n===void 0&&(n=!1);let i;typeof e=="string"?i=$s(e):(i=up({},e),Ut(!i.pathname||!i.pathname.includes("?"),X1("?","pathname","search",i)),Ut(!i.pathname||!i.pathname.includes("#"),X1("#","pathname","hash",i)),Ut(!i.search||!i.search.includes("#"),X1("#","search","hash",i)));let a=e===""||i.pathname==="",o=a?"/":i.pathname,p;if(n||o==null)p=r;else{let m=t.length-1;if(o.startsWith("..")){let g=o.split("/");for(;g[0]==="..";)g.shift(),m-=1;i.pathname=g.join("/")}p=m>=0?t[m]:"/"}let u=FR(i,p),y=o&&o!=="/"&&o.endsWith("/"),s=(a||o===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(y||s)&&(u.pathname+="/"),u}const ua=e=>e.join("/").replace(/\/\/+/g,"/"),jR=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),KR=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,VR=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class qR{constructor(t,r,n,i){i===void 0&&(i=!1),this.status=t,this.statusText=r||"",this.internal=i,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function WR(e){return e instanceof qR}const HR=["post","put","patch","delete"];[...HR];/** + * React Router v6.6.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function xm(){return xm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xm.apply(this,arguments)}function GR(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}const zR=typeof Object.is=="function"?Object.is:GR,{useState:YR,useEffect:QR,useLayoutEffect:JR,useDebugValue:XR}=Bh;function ZR(e,t,r){const n=t(),[{inst:i},a]=YR({inst:{value:n,getSnapshot:t}});return JR(()=>{i.value=n,i.getSnapshot=t,Z1(i)&&a({inst:i})},[e,n,t]),QR(()=>(Z1(i)&&a({inst:i}),e(()=>{Z1(i)&&a({inst:i})})),[e]),XR(n),n}function Z1(e){const t=e.getSnapshot,r=e.value;try{const n=t();return!zR(r,n)}catch{return!0}}function eI(e,t,r){return t()}const tI=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",rI=!tI,nI=rI?eI:ZR;"useSyncExternalStore"in Bh&&(e=>e.useSyncExternalStore)(Bh);const iI=Oe.createContext(null),aI=Oe.createContext(null),M7=Oe.createContext(null),Qp=Oe.createContext(null),Jp=Oe.createContext(null),mo=Oe.createContext({outlet:null,matches:[]}),A7=Oe.createContext(null);function oI(e,t){let{relative:r}=t===void 0?{}:t;ru()||Ut(!1);let{basename:n,navigator:i}=Oe.useContext(Qp),{hash:a,pathname:o,search:p}=N7(e,{relative:r}),u=o;return n!=="/"&&(u=o==="/"?n:ua([n,o])),i.createHref({pathname:u,search:p,hash:a})}function ru(){return Oe.useContext(Jp)!=null}function Xp(){return ru()||Ut(!1),Oe.useContext(Jp).location}function sI(){ru()||Ut(!1);let{basename:e,navigator:t}=Oe.useContext(Qp),{matches:r}=Oe.useContext(mo),{pathname:n}=Xp(),i=JSON.stringify(k7(r).map(p=>p.pathnameBase)),a=Oe.useRef(!1);return Oe.useEffect(()=>{a.current=!0}),Oe.useCallback(function(p,u){if(u===void 0&&(u={}),!a.current)return;if(typeof p=="number"){t.go(p);return}let y=D7(p,JSON.parse(i),n,u.relative==="path");e!=="/"&&(y.pathname=y.pathname==="/"?e:ua([e,y.pathname])),(u.replace?t.replace:t.push)(y,u.state,u)},[e,t,i,n])}function XV(){let{matches:e}=Oe.useContext(mo),t=e[e.length-1];return t?t.params:{}}function N7(e,t){let{relative:r}=t===void 0?{}:t,{matches:n}=Oe.useContext(mo),{pathname:i}=Xp(),a=JSON.stringify(k7(n).map(o=>o.pathnameBase));return Oe.useMemo(()=>D7(e,JSON.parse(a),i,r==="path"),[e,a,i,r])}function lI(e,t){ru()||Ut(!1);let{navigator:r}=Oe.useContext(Qp),n=Oe.useContext(M7),{matches:i}=Oe.useContext(mo),a=i[i.length-1],o=a?a.params:{};a&&a.pathname;let p=a?a.pathnameBase:"/";a&&a.route;let u=Xp(),y;if(t){var s;let h=typeof t=="string"?$s(t):t;p==="/"||(s=h.pathname)!=null&&s.startsWith(p)||Ut(!1),y=h}else y=u;let m=y.pathname||"/",g=p==="/"?m:m.slice(p.length)||"/",S=TR(e,{pathname:g}),v=pI(S&&S.map(h=>Object.assign({},h,{params:Object.assign({},o,h.params),pathname:ua([p,r.encodeLocation?r.encodeLocation(h.pathname).pathname:h.pathname]),pathnameBase:h.pathnameBase==="/"?p:ua([p,r.encodeLocation?r.encodeLocation(h.pathnameBase).pathname:h.pathnameBase])})),i,n||void 0);return t&&v?Oe.createElement(Jp.Provider,{value:{location:xm({pathname:"/",search:"",hash:"",state:null,key:"default"},y),navigationType:ea.Pop}},v):v}function dI(){let e=vI(),t=WR(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,n="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:n},a={padding:"2px 4px",backgroundColor:n};return Oe.createElement(Oe.Fragment,null,Oe.createElement("h2",null,"Unhandled Thrown Error!"),Oe.createElement("h3",{style:{fontStyle:"italic"}},t),r?Oe.createElement("pre",{style:i},r):null,Oe.createElement("p",null,"💿 Hey developer 👋"),Oe.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",Oe.createElement("code",{style:a},"errorElement")," props on ",Oe.createElement("code",{style:a},"<Route>")))}class uI extends Oe.Component{constructor(t){super(t),this.state={location:t.location,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location?{error:t.error,location:t.location}:{error:t.error||r.error,location:r.location}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error?Oe.createElement(mo.Provider,{value:this.props.routeContext},Oe.createElement(A7.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function cI(e){let{routeContext:t,match:r,children:n}=e,i=Oe.useContext(iI);return i&&r.route.errorElement&&(i._deepestRenderedBoundaryId=r.route.id),Oe.createElement(mo.Provider,{value:t},n)}function pI(e,t,r){if(t===void 0&&(t=[]),e==null)if(r!=null&&r.errors)e=r.matches;else return null;let n=e,i=r==null?void 0:r.errors;if(i!=null){let a=n.findIndex(o=>o.route.id&&(i==null?void 0:i[o.route.id]));a>=0||Ut(!1),n=n.slice(0,Math.min(n.length,a+1))}return n.reduceRight((a,o,p)=>{let u=o.route.id?i==null?void 0:i[o.route.id]:null,y=r?o.route.errorElement||Oe.createElement(dI,null):null,s=t.concat(n.slice(0,p+1)),m=()=>Oe.createElement(cI,{match:o,routeContext:{outlet:a,matches:s}},u?y:o.route.element!==void 0?o.route.element:a);return r&&(o.route.errorElement||p===0)?Oe.createElement(uI,{location:r.location,component:y,error:u,children:m(),routeContext:{outlet:null,matches:s}}):m()},null)}var yy;(function(e){e.UseRevalidator="useRevalidator"})(yy||(yy={}));var cp;(function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"})(cp||(cp={}));function fI(e){let t=Oe.useContext(M7);return t||Ut(!1),t}function hI(e){let t=Oe.useContext(mo);return t||Ut(!1),t}function mI(e){let t=hI(),r=t.matches[t.matches.length-1];return r.route.id||Ut(!1),r.route.id}function vI(){var e;let t=Oe.useContext(A7),r=fI(cp.UseRouteError),n=mI(cp.UseRouteError);return t||((e=r.errors)==null?void 0:e[n])}function gI(e){Ut(!1)}function yI(e){let{basename:t="/",children:r=null,location:n,navigationType:i=ea.Pop,navigator:a,static:o=!1}=e;ru()&&Ut(!1);let p=t.replace(/^\/*/,"/"),u=Oe.useMemo(()=>({basename:p,navigator:a,static:o}),[p,a,o]);typeof n=="string"&&(n=$s(n));let{pathname:y="/",search:s="",hash:m="",state:g=null,key:S="default"}=n,v=Oe.useMemo(()=>{let h=P7(y,p);return h==null?null:{pathname:h,search:s,hash:m,state:g,key:S}},[p,y,s,m,g,S]);return v==null?null:Oe.createElement(Qp.Provider,{value:u},Oe.createElement(Jp.Provider,{children:r,value:{location:v,navigationType:i}}))}function ZV(e){let{children:t,location:r}=e,n=Oe.useContext(aI),i=n&&!t?n.router.routes:Um(t);return lI(i,r)}var _y;(function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"})(_y||(_y={}));new Promise(()=>{});function Um(e,t){t===void 0&&(t=[]);let r=[];return Oe.Children.forEach(e,(n,i)=>{if(!Oe.isValidElement(n))return;if(n.type===Oe.Fragment){r.push.apply(r,Um(n.props.children,t));return}n.type!==gI&&Ut(!1),!n.props.index||!n.props.children||Ut(!1);let a=[...t,i],o={id:n.props.id||a.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,hasErrorBoundary:n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle};n.props.children&&(o.children=Um(n.props.children,a)),r.push(o)}),r}/** + * React Router DOM v6.6.1 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function $m(){return $m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},$m.apply(this,arguments)}function _I(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a<n.length;a++)i=n[a],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}function SI(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function EI(e,t){return e.button===0&&(!t||t==="_self")&&!SI(e)}const wI=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"];function eq(e){let{basename:t,children:r,window:n}=e,i=Oe.useRef();i.current==null&&(i.current=SR({window:n,v5Compat:!0}));let a=i.current,[o,p]=Oe.useState({action:a.action,location:a.location});return Oe.useLayoutEffect(()=>a.listen(p),[a]),Oe.createElement(yI,{basename:t,children:r,location:o.location,navigationType:o.action,navigator:a})}const tq=Oe.forwardRef(function(t,r){let{onClick:n,relative:i,reloadDocument:a,replace:o,state:p,target:u,to:y,preventScrollReset:s}=t,m=_I(t,wI),g=oI(y,{relative:i}),S=bI(y,{replace:o,state:p,target:u,preventScrollReset:s,relative:i});function v(h){n&&n(h),h.defaultPrevented||S(h)}return Oe.createElement("a",$m({},m,{href:g,onClick:a?n:v,ref:r,target:u}))});var Sy;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(Sy||(Sy={}));var Ey;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Ey||(Ey={}));function bI(e,t){let{target:r,replace:n,state:i,preventScrollReset:a,relative:o}=t===void 0?{}:t,p=sI(),u=Xp(),y=N7(e,{relative:o});return Oe.useCallback(s=>{if(EI(s,r)){s.preventDefault();let m=n!==void 0?n:Fd(u)===Fd(y);p(e,{replace:m,state:i,preventScrollReset:a,relative:o})}},[u,p,y,n,i,r,e,a,o])}function En(e){return En=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},En(e)}function TI(e,t){if(En(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(En(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function L7(e){var t=TI(e,"string");return En(t)==="symbol"?t:String(t)}function In(e,t,r){return t=L7(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}const RI=Object.freeze(Object.defineProperty({__proto__:null,default:In},Symbol.toStringTag,{value:"Module"}));function II(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,a;for(a=0;a<n.length;a++)i=n[a],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}function CI(e,t){if(e==null)return{};var r=II(e,t),n,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)n=a[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}const OI=Object.freeze(Object.defineProperty({__proto__:null,default:CI},Symbol.toStringTag,{value:"Module"}));function PI(){if(console&&console.warn){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];typeof r[0]=="string"&&(r[0]="react-i18next:: ".concat(r[0])),(e=console).warn.apply(e,r)}}var wy={};function Fm(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];typeof t[0]=="string"&&wy[t[0]]||(typeof t[0]=="string"&&(wy[t[0]]=new Date),PI.apply(void 0,t))}function by(e,t,r){e.loadNamespaces(t,function(){if(e.isInitialized)r();else{var n=function i(){setTimeout(function(){e.off("initialized",i)},0),r()};e.on("initialized",n)}})}function kI(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},n=t.languages[0],i=t.options?t.options.fallbackLng:!1,a=t.languages[t.languages.length-1];if(n.toLowerCase()==="cimode")return!0;var o=function(u,y){var s=t.services.backendConnector.state["".concat(u,"|").concat(y)];return s===-1||s===2};return r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!o(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(n,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||o(n,e)&&(!i||o(a,e)))}function DI(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!t.languages||!t.languages.length)return Fm("i18n.languages were undefined or empty",t.languages),!0;var n=t.options.ignoreJSONStructure!==void 0;return n?t.hasLoadedNamespace(e,{precheck:function(a,o){if(r.bindI18n&&r.bindI18n.indexOf("languageChanging")>-1&&a.services.backendConnector.backend&&a.isLanguageChangingTo&&!o(a.isLanguageChangingTo,e))return!1}}):kI(e,t,r)}var MI=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,AI={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},NI=function(t){return AI[t]},LI=function(t){return t.replace(MI,NI)};function Ty(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ry(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Ty(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Ty(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Bm={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:LI};function xI(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bm=Ry(Ry({},Bm),e)}function UI(){return Bm}var x7;function $I(e){x7=e}function FI(){return x7}function nn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Iy(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,L7(n.key),n)}}function an(e,t,r){return t&&Iy(e.prototype,t),r&&Iy(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var rq={type:"3rdParty",init:function(t){xI(t.options.react),$I(t)}},BI=Oe.createContext(),jI=function(){function e(){nn(this,e),this.usedNamespaces={}}return an(e,[{key:"addUsedNamespaces",value:function(r){var n=this;r.forEach(function(i){n.usedNamespaces[i]||(n.usedNamespaces[i]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();function U7(e){if(Array.isArray(e))return e}function KI(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,i,a,o,p=[],u=!0,y=!1;try{if(a=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=a.call(r)).done)&&(p.push(n.value),p.length!==t);u=!0);}catch(s){y=!0,i=s}finally{try{if(!u&&r.return!=null&&(o=r.return(),Object(o)!==o))return}finally{if(y)throw i}}return p}}function Cy(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function $7(e,t){if(e){if(typeof e=="string")return Cy(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Cy(e,t)}}function F7(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VI(e,t){return U7(e)||KI(e,t)||$7(e,t)||F7()}function Oy(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ef(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Oy(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Oy(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var qI=function(t,r){var n=Oe.useRef();return Oe.useEffect(function(){n.current=r?n.current:t},[t,r]),n.current};function nq(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.i18n,n=Oe.useContext(BI)||{},i=n.i18n,a=n.defaultNS,o=r||i||FI();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new jI),!o){Fm("You will need to pass in an i18next instance by using initReactI18next");var p=function(A){return Array.isArray(A)?A[A.length-1]:A},u=[p,{},!1];return u.t=p,u.i18n={},u.ready=!1,u}o.options.react&&o.options.react.wait!==void 0&&Fm("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var y=ef(ef(ef({},UI()),o.options.react),t),s=y.useSuspense,m=y.keyPrefix,g=e||a||o.options&&o.options.defaultNS;g=typeof g=="string"?[g]:g||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(g);var S=(o.isInitialized||o.initializedStoreOnce)&&g.every(function(D){return DI(D,o,y)});function v(){return o.getFixedT(null,y.nsMode==="fallback"?g:g[0],m)}var h=Oe.useState(v),_=VI(h,2),d=_[0],l=_[1],c=g.join(),f=qI(c),E=Oe.useRef(!0);Oe.useEffect(function(){var D=y.bindI18n,A=y.bindI18nStore;E.current=!0,!S&&!s&&by(o,g,function(){E.current&&l(v)}),S&&f&&f!==c&&E.current&&l(v);function L(){E.current&&l(v)}return D&&o&&o.on(D,L),A&&o&&o.store.on(A,L),function(){E.current=!1,D&&o&&D.split(" ").forEach(function(F){return o.off(F,L)}),A&&o&&A.split(" ").forEach(function(F){return o.store.off(F,L)})}},[o,c]);var w=Oe.useRef(!0);Oe.useEffect(function(){E.current&&!w.current&&l(v),w.current=!1},[o,m]);var I=[d,o,S];if(I.t=d,I.i18n=o,I.ready=S,S||!S&&!s)return I;throw new Promise(function(D){by(o,g,function(){D()})})}var WI={cm:!0,mm:!0,in:!0,px:!0,pt:!0,pc:!0,em:!0,ex:!0,ch:!0,rem:!0,vw:!0,vh:!0,vmin:!0,vmax:!0,"%":!0};function HI(e){if(typeof e=="number")return{value:e,unit:"px"};var t,r=(e.match(/^[0-9.]*/)||"").toString();r.includes(".")?t=parseFloat(r):t=parseInt(r,10);var n=(e.match(/[^0-9]*$/)||"").toString();return WI[n]?{value:t,unit:n}:(console.warn("React Spinners: ".concat(e," is not a valid css value. Defaulting to ").concat(t,"px.")),{value:t,unit:"px"})}function qu(e){var t=HI(e);return"".concat(t.value).concat(t.unit)}var GI=function(e,t,r){var n="react-spinners-".concat(e,"-").concat(r);if(typeof window>"u"||!window.document)return n;var i=document.createElement("style");document.head.appendChild(i);var a=i.sheet,o=` + @keyframes `.concat(n,` { + `).concat(t,` + } + `);return a&&a.insertRule(o,0),n},pp=globalThis&&globalThis.__assign||function(){return pp=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},pp.apply(this,arguments)},zI=globalThis&&globalThis.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r},YI=GI("BounceLoader","0% {transform: scale(0)} 50% {transform: scale(1.0)} 100% {transform: scale(0)}","bounce");function iq(e){var t=e.loading,r=t===void 0?!0:t,n=e.color,i=n===void 0?"#000000":n,a=e.speedMultiplier,o=a===void 0?1:a,p=e.cssOverride,u=p===void 0?{}:p,y=e.size,s=y===void 0?60:y,m=zI(e,["loading","color","speedMultiplier","cssOverride","size"]),g=function(v){var h=v===1?"".concat(1/o,"s"):"0s";return{position:"absolute",height:qu(s),width:qu(s),backgroundColor:i,borderRadius:"100%",opacity:.6,top:0,left:0,animationFillMode:"both",animation:"".concat(YI," ").concat(2.1/o,"s ").concat(h," infinite ease-in-out")}},S=pp({display:"inherit",position:"relative",width:qu(s),height:qu(s)},u);return r?Oe.createElement("span",pp({style:S},m),Oe.createElement("span",{style:g(1)}),Oe.createElement("span",{style:g(2)})):null}var Py=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Wu=function(e){return e&&e.Math==Math&&e},Ze=Wu(typeof globalThis=="object"&&globalThis)||Wu(typeof window=="object"&&window)||Wu(typeof self=="object"&&self)||Wu(typeof Py=="object"&&Py)||function(){return this}()||Function("return this")(),Zp={},hr=function(e){try{return!!e()}catch{return!0}},QI=hr,Cn=!QI(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7}),JI=hr,e1=!JI(function(){var e=function(){}.bind();return typeof e!="function"||e.hasOwnProperty("prototype")}),XI=e1,Hu=Function.prototype.call,on=XI?Hu.bind(Hu):function(){return Hu.apply(Hu,arguments)},e0={},B7={}.propertyIsEnumerable,j7=Object.getOwnPropertyDescriptor,ZI=j7&&!B7.call({1:2},1);e0.f=ZI?function(t){var r=j7(this,t);return!!r&&r.enumerable}:B7;var t1=function(e,t){return{enumerable:!(e&1),configurable:!(e&2),writable:!(e&4),value:t}},K7=e1,V7=Function.prototype,eC=V7.bind,jm=V7.call,tC=K7&&eC.bind(jm,jm),mr=K7?function(e){return e&&tC(e)}:function(e){return e&&function(){return jm.apply(e,arguments)}},q7=mr,rC=q7({}.toString),nC=q7("".slice),t0=function(e){return nC(rC(e),8,-1)},iC=Ze,aC=mr,oC=hr,sC=t0,tf=iC.Object,lC=aC("".split),W7=oC(function(){return!tf("z").propertyIsEnumerable(0)})?function(e){return sC(e)=="String"?lC(e,""):tf(e)}:tf,dC=Ze,uC=dC.TypeError,H7=function(e){if(e==null)throw uC("Can't call method on "+e);return e},cC=W7,pC=H7,nu=function(e){return cC(pC(e))},Mt=function(e){return typeof e=="function"},fC=Mt,vo=function(e){return typeof e=="object"?e!==null:fC(e)},rf=Ze,hC=Mt,mC=function(e){return hC(e)?e:void 0},ba=function(e,t){return arguments.length<2?mC(rf[e]):rf[e]&&rf[e][t]},vC=mr,r0=vC({}.isPrototypeOf),gC=ba,go=gC("navigator","userAgent")||"",G7=Ze,nf=go,ky=G7.process,Dy=G7.Deno,My=ky&&ky.versions||Dy&&Dy.version,Ay=My&&My.v8,gn,fp;Ay&&(gn=Ay.split("."),fp=gn[0]>0&&gn[0]<4?1:+(gn[0]+gn[1]));!fp&&nf&&(gn=nf.match(/Edge\/(\d+)/),(!gn||gn[1]>=74)&&(gn=nf.match(/Chrome\/(\d+)/),gn&&(fp=+gn[1])));var n0=fp,Ny=n0,yC=hr,z7=!!Object.getOwnPropertySymbols&&!yC(function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&Ny&&Ny<41}),_C=z7,Y7=_C&&!Symbol.sham&&typeof Symbol.iterator=="symbol",SC=Ze,EC=ba,wC=Mt,bC=r0,TC=Y7,RC=SC.Object,Q7=TC?function(e){return typeof e=="symbol"}:function(e){var t=EC("Symbol");return wC(t)&&bC(t.prototype,RC(e))},IC=Ze,CC=IC.String,r1=function(e){try{return CC(e)}catch{return"Object"}},OC=Ze,PC=Mt,kC=r1,DC=OC.TypeError,Ta=function(e){if(PC(e))return e;throw DC(kC(e)+" is not a function")},MC=Ta,i0=function(e,t){var r=e[t];return r==null?void 0:MC(r)},AC=Ze,af=on,of=Mt,sf=vo,NC=AC.TypeError,LC=function(e,t){var r,n;if(t==="string"&&of(r=e.toString)&&!sf(n=af(r,e))||of(r=e.valueOf)&&!sf(n=af(r,e))||t!=="string"&&of(r=e.toString)&&!sf(n=af(r,e)))return n;throw NC("Can't convert object to primitive value")},a0={exports:{}},Ly=Ze,xC=Object.defineProperty,o0=function(e,t){try{xC(Ly,e,{value:t,configurable:!0,writable:!0})}catch{Ly[e]=t}return t},UC=Ze,$C=o0,xy="__core-js_shared__",FC=UC[xy]||$C(xy,{}),s0=FC,Uy=s0;(a0.exports=function(e,t){return Uy[e]||(Uy[e]=t!==void 0?t:{})})("versions",[]).push({version:"3.22.7",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.22.7/LICENSE",source:"https://github.com/zloirock/core-js"});var BC=Ze,jC=H7,KC=BC.Object,n1=function(e){return KC(jC(e))},VC=mr,qC=n1,WC=VC({}.hasOwnProperty),Qn=Object.hasOwn||function(t,r){return WC(qC(t),r)},HC=mr,GC=0,zC=Math.random(),YC=HC(1 .toString),J7=function(e){return"Symbol("+(e===void 0?"":e)+")_"+YC(++GC+zC,36)},QC=Ze,JC=a0.exports,$y=Qn,XC=J7,Fy=z7,X7=Y7,Eo=JC("wks"),eo=QC.Symbol,By=eo&&eo.for,ZC=X7?eo:eo&&eo.withoutSetter||XC,Or=function(e){if(!$y(Eo,e)||!(Fy||typeof Eo[e]=="string")){var t="Symbol."+e;Fy&&$y(eo,e)?Eo[e]=eo[e]:X7&&By?Eo[e]=By(t):Eo[e]=ZC(t)}return Eo[e]},eO=Ze,tO=on,jy=vo,Ky=Q7,rO=i0,nO=LC,iO=Or,aO=eO.TypeError,oO=iO("toPrimitive"),sO=function(e,t){if(!jy(e)||Ky(e))return e;var r=rO(e,oO),n;if(r){if(t===void 0&&(t="default"),n=tO(r,e,t),!jy(n)||Ky(n))return n;throw aO("Can't convert object to primitive value")}return t===void 0&&(t="number"),nO(e,t)},lO=sO,dO=Q7,l0=function(e){var t=lO(e,"string");return dO(t)?t:t+""},uO=Ze,Vy=vo,Km=uO.document,cO=Vy(Km)&&Vy(Km.createElement),i1=function(e){return cO?Km.createElement(e):{}},pO=Cn,fO=hr,hO=i1,Z7=!pO&&!fO(function(){return Object.defineProperty(hO("div"),"a",{get:function(){return 7}}).a!=7}),mO=Cn,vO=on,gO=e0,yO=t1,_O=nu,SO=l0,EO=Qn,wO=Z7,qy=Object.getOwnPropertyDescriptor;Zp.f=mO?qy:function(t,r){if(t=_O(t),r=SO(r),wO)try{return qy(t,r)}catch{}if(EO(t,r))return yO(!vO(gO.f,t,r),t[r])};var Si={},bO=Cn,TO=hr,eS=bO&&TO(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!=42}),tS=Ze,RO=vo,IO=tS.String,CO=tS.TypeError,Jn=function(e){if(RO(e))return e;throw CO(IO(e)+" is not an object")},OO=Ze,PO=Cn,kO=Z7,DO=eS,Gu=Jn,Wy=l0,MO=OO.TypeError,lf=Object.defineProperty,AO=Object.getOwnPropertyDescriptor,df="enumerable",uf="configurable",cf="writable";Si.f=PO?DO?function(t,r,n){if(Gu(t),r=Wy(r),Gu(n),typeof t=="function"&&r==="prototype"&&"value"in n&&cf in n&&!n[cf]){var i=AO(t,r);i&&i[cf]&&(t[r]=n.value,n={configurable:uf in n?n[uf]:i[uf],enumerable:df in n?n[df]:i[df],writable:!1})}return lf(t,r,n)}:lf:function(t,r,n){if(Gu(t),r=Wy(r),Gu(n),kO)try{return lf(t,r,n)}catch{}if("get"in n||"set"in n)throw MO("Accessors not supported");return"value"in n&&(t[r]=n.value),t};var NO=Cn,LO=Si,xO=t1,iu=NO?function(e,t,r){return LO.f(e,t,xO(1,r))}:function(e,t,r){return e[t]=r,e},rS={exports:{}},Vm=Cn,UO=Qn,nS=Function.prototype,$O=Vm&&Object.getOwnPropertyDescriptor,d0=UO(nS,"name"),FO=d0&&function(){}.name==="something",BO=d0&&(!Vm||Vm&&$O(nS,"name").configurable),iS={EXISTS:d0,PROPER:FO,CONFIGURABLE:BO},jO=mr,KO=Mt,qm=s0,VO=jO(Function.toString);KO(qm.inspectSource)||(qm.inspectSource=function(e){return VO(e)});var a1=qm.inspectSource,qO=Ze,WO=Mt,HO=a1,Hy=qO.WeakMap,GO=WO(Hy)&&/native code/.test(HO(Hy)),zO=a0.exports,YO=J7,Gy=zO("keys"),u0=function(e){return Gy[e]||(Gy[e]=YO(e))},c0={},QO=GO,aS=Ze,pf=mr,JO=vo,XO=iu,ff=Qn,hf=s0,ZO=u0,eP=c0,zy="Object already initialized",Wm=aS.TypeError,tP=aS.WeakMap,hp,Bd,mp,rP=function(e){return mp(e)?Bd(e):hp(e,{})},nP=function(e){return function(t){var r;if(!JO(t)||(r=Bd(t)).type!==e)throw Wm("Incompatible receiver, "+e+" required");return r}};if(QO||hf.state){var Pa=hf.state||(hf.state=new tP),iP=pf(Pa.get),Yy=pf(Pa.has),aP=pf(Pa.set);hp=function(e,t){if(Yy(Pa,e))throw new Wm(zy);return t.facade=e,aP(Pa,e,t),t},Bd=function(e){return iP(Pa,e)||{}},mp=function(e){return Yy(Pa,e)}}else{var wo=ZO("state");eP[wo]=!0,hp=function(e,t){if(ff(e,wo))throw new Wm(zy);return t.facade=e,XO(e,wo,t),t},Bd=function(e){return ff(e,wo)?e[wo]:{}},mp=function(e){return ff(e,wo)}}var p0={set:hp,get:Bd,has:mp,enforce:rP,getterFor:nP},oP=hr,sP=Mt,zu=Qn,oS=Cn,lP=iS.CONFIGURABLE,dP=a1,sS=p0,uP=sS.enforce,cP=sS.get,Dc=Object.defineProperty,pP=oS&&!oP(function(){return Dc(function(){},"length",{value:8}).length!==8}),fP=String(String).split("String"),hP=rS.exports=function(e,t,r){String(t).slice(0,7)==="Symbol("&&(t="["+String(t).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!zu(e,"name")||lP&&e.name!==t)&&Dc(e,"name",{value:t,configurable:!0}),pP&&r&&zu(r,"arity")&&e.length!==r.arity&&Dc(e,"length",{value:r.arity});try{r&&zu(r,"constructor")&&r.constructor?oS&&Dc(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch{}var n=uP(e);return zu(n,"source")||(n.source=fP.join(typeof t=="string"?t:"")),e};Function.prototype.toString=hP(function(){return sP(this)&&cP(this).source||dP(this)},"toString");var mP=Mt,vP=iu,gP=rS.exports,yP=o0,au=function(e,t,r,n){n||(n={});var i=n.enumerable,a=n.name!==void 0?n.name:t;return mP(r)&&gP(r,a,n),n.global?i?e[t]=r:yP(t,r):(n.unsafe?e[t]&&(i=!0):delete e[t],i?e[t]=r:vP(e,t,r)),e},lS={},_P=Math.ceil,SP=Math.floor,EP=Math.trunc||function(t){var r=+t;return(r>0?SP:_P)(r)},wP=EP,dS=function(e){var t=+e;return t!==t||t===0?0:wP(t)},bP=dS,TP=Math.max,RP=Math.min,uS=function(e,t){var r=bP(e);return r<0?TP(r+t,0):RP(r,t)},IP=dS,CP=Math.min,OP=function(e){return e>0?CP(IP(e),9007199254740991):0},PP=OP,o1=function(e){return PP(e.length)},kP=nu,DP=uS,MP=o1,Qy=function(e){return function(t,r,n){var i=kP(t),a=MP(i),o=DP(n,a),p;if(e&&r!=r){for(;a>o;)if(p=i[o++],p!=p)return!0}else for(;a>o;o++)if((e||o in i)&&i[o]===r)return e||o||0;return!e&&-1}},AP={includes:Qy(!0),indexOf:Qy(!1)},NP=mr,mf=Qn,LP=nu,xP=AP.indexOf,UP=c0,Jy=NP([].push),cS=function(e,t){var r=LP(e),n=0,i=[],a;for(a in r)!mf(UP,a)&&mf(r,a)&&Jy(i,a);for(;t.length>n;)mf(r,a=t[n++])&&(~xP(i,a)||Jy(i,a));return i},f0=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],$P=cS,FP=f0,BP=FP.concat("length","prototype");lS.f=Object.getOwnPropertyNames||function(t){return $P(t,BP)};var h0={};h0.f=Object.getOwnPropertySymbols;var jP=ba,KP=mr,VP=lS,qP=h0,WP=Jn,HP=KP([].concat),GP=jP("Reflect","ownKeys")||function(t){var r=VP.f(WP(t)),n=qP.f;return n?HP(r,n(t)):r},Xy=Qn,zP=GP,YP=Zp,QP=Si,JP=function(e,t,r){for(var n=zP(t),i=QP.f,a=YP.f,o=0;o<n.length;o++){var p=n[o];!Xy(e,p)&&!(r&&Xy(r,p))&&i(e,p,a(t,p))}},XP=hr,ZP=Mt,ek=/#|\.prototype\./,ou=function(e,t){var r=rk[tk(e)];return r==ik?!0:r==nk?!1:ZP(t)?XP(t):!!t},tk=ou.normalize=function(e){return String(e).replace(ek,".").toLowerCase()},rk=ou.data={},nk=ou.NATIVE="N",ik=ou.POLYFILL="P",pS=ou,vf=Ze,ak=Zp.f,ok=iu,sk=au,lk=o0,dk=JP,uk=pS,Ei=function(e,t){var r=e.target,n=e.global,i=e.stat,a,o,p,u,y,s;if(n?o=vf:i?o=vf[r]||lk(r,{}):o=(vf[r]||{}).prototype,o)for(p in t){if(y=t[p],e.dontCallGetSet?(s=ak(o,p),u=s&&s.value):u=o[p],a=uk(n?p:r+(i?".":"#")+p,e.forced),!a&&u!==void 0){if(typeof y==typeof u)continue;dk(y,u)}(e.sham||u&&u.sham)&&ok(y,"sham",!0),sk(o,p,y,e)}},ck=Or,pk=ck("toStringTag"),fS={};fS[pk]="z";var fk=String(fS)==="[object z]",hk=Ze,mk=fk,vk=Mt,Mc=t0,gk=Or,yk=gk("toStringTag"),_k=hk.Object,Sk=Mc(function(){return arguments}())=="Arguments",Ek=function(e,t){try{return e[t]}catch{}},m0=mk?Mc:function(e){var t,r,n;return e===void 0?"Undefined":e===null?"Null":typeof(r=Ek(t=_k(e),yk))=="string"?r:Sk?Mc(t):(n=Mc(t))=="Object"&&vk(t.callee)?"Arguments":n},wk=Ze,bk=m0,Tk=wk.String,Rk=function(e){if(bk(e)==="Symbol")throw TypeError("Cannot convert a Symbol value to a string");return Tk(e)},Ik=l0,Ck=Si,Ok=t1,Pk=function(e,t,r){var n=Ik(t);n in e?Ck.f(e,n,Ok(0,r)):e[n]=r},kk=Ze,Zy=uS,Dk=o1,Mk=Pk,Ak=kk.Array,Nk=Math.max,Lk=function(e,t,r){for(var n=Dk(e),i=Zy(t,n),a=Zy(r===void 0?n:r,n),o=Ak(Nk(a-i,0)),p=0;i<a;i++,p++)Mk(o,p,e[i]);return o.length=p,o},e6=Lk,xk=Math.floor,Hm=function(e,t){var r=e.length,n=xk(r/2);return r<8?Uk(e,t):$k(e,Hm(e6(e,0,n),t),Hm(e6(e,n),t),t)},Uk=function(e,t){for(var r=e.length,n=1,i,a;n<r;){for(a=n,i=e[n];a&&t(e[a-1],i)>0;)e[a]=e[--a];a!==n++&&(e[a]=i)}return e},$k=function(e,t,r,n){for(var i=t.length,a=r.length,o=0,p=0;o<i||p<a;)e[o+p]=o<i&&p<a?n(t[o],r[p])<=0?t[o++]:r[p++]:o<i?t[o++]:r[p++];return e},Fk=Hm,Bk=hr,jk=function(e,t){var r=[][e];return!!r&&Bk(function(){r.call(null,t||function(){return 1},1)})},Kk=go,t6=Kk.match(/firefox\/(\d+)/i),Vk=!!t6&&+t6[1],qk=go,Wk=/MSIE|Trident/.test(qk),Hk=go,r6=Hk.match(/AppleWebKit\/(\d+)\./),Gk=!!r6&&+r6[1],zk=Ei,hS=mr,Yk=Ta,Qk=n1,Jk=o1,n6=Rk,v0=hr,Xk=Fk,Zk=jk,i6=Vk,eD=Wk,a6=n0,o6=Gk,ta=[],s6=hS(ta.sort),tD=hS(ta.push),rD=v0(function(){ta.sort(void 0)}),nD=v0(function(){ta.sort(null)}),iD=Zk("sort"),mS=!v0(function(){if(a6)return a6<70;if(!(i6&&i6>3)){if(eD)return!0;if(o6)return o6<603;var e="",t,r,n,i;for(t=65;t<76;t++){switch(r=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(i=0;i<47;i++)ta.push({k:r+i,v:n})}for(ta.sort(function(a,o){return o.v-a.v}),i=0;i<ta.length;i++)r=ta[i].k.charAt(0),e.charAt(e.length-1)!==r&&(e+=r);return e!=="DGBEFHACIJK"}}),aD=rD||!nD||!iD||!mS,oD=function(e){return function(t,r){return r===void 0?-1:t===void 0?1:e!==void 0?+e(t,r)||0:n6(t)>n6(r)?1:-1}};zk({target:"Array",proto:!0,forced:aD},{sort:function(t){t!==void 0&&Yk(t);var r=Qk(this);if(mS)return t===void 0?s6(r):s6(r,t);var n=[],i=Jk(r),a,o;for(o=0;o<i;o++)o in r&&tD(n,r[o]);for(Xk(n,oD(t)),a=n.length,o=0;o<a;)r[o]=n[o++];for(;o<i;)delete r[o++];return r}});var vS={},sD=cS,lD=f0,gS=Object.keys||function(t){return sD(t,lD)},dD=Cn,uD=eS,cD=Si,pD=Jn,fD=nu,hD=gS;vS.f=dD&&!uD?Object.defineProperties:function(t,r){pD(t);for(var n=fD(r),i=hD(r),a=i.length,o=0,p;a>o;)cD.f(t,p=i[o++],n[p]);return t};var mD=ba,yS=mD("document","documentElement"),vD=Jn,gD=vS,l6=f0,yD=c0,_D=yS,SD=i1,ED=u0,d6=">",u6="<",Gm="prototype",zm="script",_S=ED("IE_PROTO"),gf=function(){},SS=function(e){return u6+zm+d6+e+u6+"/"+zm+d6},c6=function(e){e.write(SS("")),e.close();var t=e.parentWindow.Object;return e=null,t},wD=function(){var e=SD("iframe"),t="java"+zm+":",r;return e.style.display="none",_D.appendChild(e),e.src=String(t),r=e.contentWindow.document,r.open(),r.write(SS("document.F=Object")),r.close(),r.F},Yu,Ac=function(){try{Yu=new ActiveXObject("htmlfile")}catch{}Ac=typeof document<"u"?document.domain&&Yu?c6(Yu):wD():c6(Yu);for(var e=l6.length;e--;)delete Ac[Gm][l6[e]];return Ac()};yD[_S]=!0;var ES=Object.create||function(t,r){var n;return t!==null?(gf[Gm]=vD(t),n=new gf,gf[Gm]=null,n[_S]=t):n=Ac(),r===void 0?n:gD.f(n,r)},bD=Or,TD=ES,RD=Si.f,Ym=bD("unscopables"),Qm=Array.prototype;Qm[Ym]==null&&RD(Qm,Ym,{configurable:!0,value:TD(null)});var ID=function(e){Qm[Ym][e]=!0},su={},CD=hr,OD=!CD(function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}),PD=Ze,kD=Qn,DD=Mt,MD=n1,AD=u0,ND=OD,p6=AD("IE_PROTO"),Jm=PD.Object,LD=Jm.prototype,wS=ND?Jm.getPrototypeOf:function(e){var t=MD(e);if(kD(t,p6))return t[p6];var r=t.constructor;return DD(r)&&t instanceof r?r.prototype:t instanceof Jm?LD:null},xD=hr,UD=Mt,f6=wS,$D=au,FD=Or,Xm=FD("iterator"),bS=!1,oo,yf,_f;[].keys&&(_f=[].keys(),"next"in _f?(yf=f6(f6(_f)),yf!==Object.prototype&&(oo=yf)):bS=!0);var BD=oo==null||xD(function(){var e={};return oo[Xm].call(e)!==e});BD&&(oo={});UD(oo[Xm])||$D(oo,Xm,function(){return this});var TS={IteratorPrototype:oo,BUGGY_SAFARI_ITERATORS:bS},jD=Si.f,KD=Qn,VD=Or,h6=VD("toStringTag"),g0=function(e,t,r){e&&!r&&(e=e.prototype),e&&!KD(e,h6)&&jD(e,h6,{configurable:!0,value:t})},qD=TS.IteratorPrototype,WD=ES,HD=t1,GD=g0,zD=su,YD=function(){return this},QD=function(e,t,r,n){var i=t+" Iterator";return e.prototype=WD(qD,{next:HD(+!n,r)}),GD(e,i,!1),zD[i]=YD,e},RS=Ze,JD=Mt,XD=RS.String,ZD=RS.TypeError,eM=function(e){if(typeof e=="object"||JD(e))return e;throw ZD("Can't set "+XD(e)+" as a prototype")},tM=mr,rM=Jn,nM=eM,IS=Object.setPrototypeOf||("__proto__"in{}?function(){var e=!1,t={},r;try{r=tM(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set),r(t,[]),e=t instanceof Array}catch{}return function(i,a){return rM(i),nM(a),e?r(i,a):i.__proto__=a,i}}():void 0),iM=Ei,aM=on,CS=iS,oM=Mt,sM=QD,m6=wS,v6=IS,lM=g0,dM=iu,Sf=au,uM=Or,cM=su,OS=TS,pM=CS.PROPER,fM=CS.CONFIGURABLE,g6=OS.IteratorPrototype,Qu=OS.BUGGY_SAFARI_ITERATORS,ol=uM("iterator"),y6="keys",sl="values",_6="entries",hM=function(){return this},mM=function(e,t,r,n,i,a,o){sM(r,t,n);var p=function(d){if(d===i&&g)return g;if(!Qu&&d in s)return s[d];switch(d){case y6:return function(){return new r(this,d)};case sl:return function(){return new r(this,d)};case _6:return function(){return new r(this,d)}}return function(){return new r(this)}},u=t+" Iterator",y=!1,s=e.prototype,m=s[ol]||s["@@iterator"]||i&&s[i],g=!Qu&&m||p(i),S=t=="Array"&&s.entries||m,v,h,_;if(S&&(v=m6(S.call(new e)),v!==Object.prototype&&v.next&&(m6(v)!==g6&&(v6?v6(v,g6):oM(v[ol])||Sf(v,ol,hM)),lM(v,u,!0))),pM&&i==sl&&m&&m.name!==sl&&(fM?dM(s,"name",sl):(y=!0,g=function(){return aM(m,this)})),i)if(h={values:p(sl),keys:a?g:p(y6),entries:p(_6)},o)for(_ in h)(Qu||y||!(_ in s))&&Sf(s,_,h[_]);else iM({target:t,proto:!0,forced:Qu||y},h);return s[ol]!==g&&Sf(s,ol,g,{name:i}),cM[t]=g,h},vM=nu,y0=ID,S6=su,PS=p0,gM=Si.f,yM=mM,_M=Cn,kS="Array Iterator",SM=PS.set,EM=PS.getterFor(kS),wM=yM(Array,"Array",function(e,t){SM(this,{type:kS,target:vM(e),index:0,kind:t})},function(){var e=EM(this),t=e.target,r=e.kind,n=e.index++;return!t||n>=t.length?(e.target=void 0,{value:void 0,done:!0}):r=="keys"?{value:n,done:!1}:r=="values"?{value:t[n],done:!1}:{value:[n,t[n]],done:!1}},"values"),E6=S6.Arguments=S6.Array;y0("keys");y0("values");y0("entries");if(_M&&E6.name!=="values")try{gM(E6,"name",{value:"values"})}catch{}var bM={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},TM=i1,Ef=TM("span").classList,w6=Ef&&Ef.constructor&&Ef.constructor.prototype,RM=w6===Object.prototype?void 0:w6,b6=Ze,DS=bM,IM=RM,rd=wM,wf=iu,MS=Or,bf=MS("iterator"),T6=MS("toStringTag"),Tf=rd.values,AS=function(e,t){if(e){if(e[bf]!==Tf)try{wf(e,bf,Tf)}catch{e[bf]=Tf}if(e[T6]||wf(e,T6,t),DS[t]){for(var r in rd)if(e[r]!==rd[r])try{wf(e,r,rd[r])}catch{e[r]=rd[r]}}}};for(var Rf in DS)AS(b6[Rf]&&b6[Rf].prototype,Rf);AS(IM,"DOMTokenList");var R6=Cn,CM=mr,OM=on,PM=hr,If=gS,kM=h0,DM=e0,MM=n1,AM=W7,bo=Object.assign,I6=Object.defineProperty,NM=CM([].concat),LM=!bo||PM(function(){if(R6&&bo({b:1},bo(I6({},"a",{enumerable:!0,get:function(){I6(this,"b",{value:3,enumerable:!1})}}),{b:2})).b!==1)return!0;var e={},t={},r=Symbol(),n="abcdefghijklmnopqrst";return e[r]=7,n.split("").forEach(function(i){t[i]=i}),bo({},e)[r]!=7||If(bo({},t)).join("")!=n})?function(t,r){for(var n=MM(t),i=arguments.length,a=1,o=kM.f,p=DM.f;i>a;)for(var u=AM(arguments[a++]),y=o?NM(If(u),o(u)):If(u),s=y.length,m=0,g;s>m;)g=y[m++],(!R6||OM(p,u,g))&&(n[g]=u[g]);return n}:bo,xM=Ei,C6=LM;xM({target:"Object",stat:!0,arity:2,forced:Object.assign!==C6},{assign:C6});function _0(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]]);return r}var UM=t0,$M=Ze,S0=UM($M.process)=="process",FM=ba,BM=Si,jM=Or,KM=Cn,O6=jM("species"),VM=function(e){var t=FM(e),r=BM.f;KM&&t&&!t[O6]&&r(t,O6,{configurable:!0,get:function(){return this}})},qM=Ze,WM=r0,HM=qM.TypeError,GM=function(e,t){if(WM(t,e))return e;throw HM("Incorrect invocation")},zM=mr,YM=hr,NS=Mt,QM=m0,JM=ba,XM=a1,LS=function(){},ZM=[],xS=JM("Reflect","construct"),E0=/^\s*(?:class|function)\b/,eA=zM(E0.exec),tA=!E0.exec(LS),ll=function(t){if(!NS(t))return!1;try{return xS(LS,ZM,t),!0}catch{return!1}},US=function(t){if(!NS(t))return!1;switch(QM(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return tA||!!eA(E0,XM(t))}catch{return!0}};US.sham=!0;var rA=!xS||YM(function(){var e;return ll(ll.call)||!ll(Object)||!ll(function(){e=!0})||e})?US:ll,nA=Ze,iA=rA,aA=r1,oA=nA.TypeError,sA=function(e){if(iA(e))return e;throw oA(aA(e)+" is not a constructor")},P6=Jn,lA=sA,dA=Or,uA=dA("species"),cA=function(e,t){var r=P6(e).constructor,n;return r===void 0||(n=P6(r)[uA])==null?t:lA(n)},pA=e1,$S=Function.prototype,k6=$S.apply,D6=$S.call,fA=typeof Reflect=="object"&&Reflect.apply||(pA?D6.bind(k6):function(){return D6.apply(k6,arguments)}),M6=mr,hA=Ta,mA=e1,vA=M6(M6.bind),w0=function(e,t){return hA(e),t===void 0?e:mA?vA(e,t):function(){return e.apply(t,arguments)}},gA=mr,yA=gA([].slice),_A=Ze,SA=_A.TypeError,EA=function(e,t){if(e<t)throw SA("Not enough arguments");return e},wA=go,FS=/(?:ipad|iphone|ipod).*applewebkit/i.test(wA),Nr=Ze,bA=fA,TA=w0,A6=Mt,RA=Qn,IA=hr,N6=yS,CA=yA,L6=i1,OA=EA,PA=FS,kA=S0,Zm=Nr.setImmediate,ev=Nr.clearImmediate,DA=Nr.process,Cf=Nr.Dispatch,MA=Nr.Function,x6=Nr.MessageChannel,AA=Nr.String,Of=0,md={},U6="onreadystatechange",jd,ka,Pf,kf;try{jd=Nr.location}catch{}var b0=function(e){if(RA(md,e)){var t=md[e];delete md[e],t()}},Df=function(e){return function(){b0(e)}},$6=function(e){b0(e.data)},F6=function(e){Nr.postMessage(AA(e),jd.protocol+"//"+jd.host)};(!Zm||!ev)&&(Zm=function(t){OA(arguments.length,1);var r=A6(t)?t:MA(t),n=CA(arguments,1);return md[++Of]=function(){bA(r,void 0,n)},ka(Of),Of},ev=function(t){delete md[t]},kA?ka=function(e){DA.nextTick(Df(e))}:Cf&&Cf.now?ka=function(e){Cf.now(Df(e))}:x6&&!PA?(Pf=new x6,kf=Pf.port2,Pf.port1.onmessage=$6,ka=TA(kf.postMessage,kf)):Nr.addEventListener&&A6(Nr.postMessage)&&!Nr.importScripts&&jd&&jd.protocol!=="file:"&&!IA(F6)?(ka=F6,Nr.addEventListener("message",$6,!1)):U6 in L6("script")?ka=function(e){N6.appendChild(L6("script"))[U6]=function(){N6.removeChild(this),b0(e)}}:ka=function(e){setTimeout(Df(e),0)});var BS={set:Zm,clear:ev},NA=go,LA=Ze,xA=/ipad|iphone|ipod/i.test(NA)&&LA.Pebble!==void 0,UA=go,$A=/web0s(?!.*chrome)/i.test(UA),so=Ze,B6=w0,FA=Zp.f,Mf=BS.set,BA=FS,jA=xA,KA=$A,Af=S0,j6=so.MutationObserver||so.WebKitMutationObserver,K6=so.document,V6=so.process,Ju=so.Promise,q6=FA(so,"queueMicrotask"),jS=q6&&q6.value,dl,qa,vd,Go,Nf,Lf,Xu,W6;jS||(dl=function(){var e,t;for(Af&&(e=V6.domain)&&e.exit();qa;){t=qa.fn,qa=qa.next;try{t()}catch(r){throw qa?Go():vd=void 0,r}}vd=void 0,e&&e.enter()},!BA&&!Af&&!KA&&j6&&K6?(Nf=!0,Lf=K6.createTextNode(""),new j6(dl).observe(Lf,{characterData:!0}),Go=function(){Lf.data=Nf=!Nf}):!jA&&Ju&&Ju.resolve?(Xu=Ju.resolve(void 0),Xu.constructor=Ju,W6=B6(Xu.then,Xu),Go=function(){W6(dl)}):Af?Go=function(){V6.nextTick(dl)}:(Mf=B6(Mf,so),Go=function(){Mf(dl)}));var VA=jS||function(e){var t={fn:e,next:void 0};vd&&(vd.next=t),qa||(qa=t,Go()),vd=t},qA=Ze,WA=function(e,t){var r=qA.console;r&&r.error&&(arguments.length==1?r.error(e):r.error(e,t))},T0=function(e){try{return{error:!1,value:e()}}catch(t){return{error:!0,value:t}}},KS=function(){this.head=null,this.tail=null};KS.prototype={add:function(e){var t={item:e,next:null};this.head?this.tail.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return this.head=e.next,this.tail===e&&(this.tail=null),e.item}};var HA=KS,GA=Ze,s1=GA.Promise,zA=typeof window=="object"&&typeof Deno!="object",YA=Ze,gd=s1,QA=Mt,JA=pS,XA=a1,ZA=Or,eN=zA,H6=n0;gd&&gd.prototype;var tN=ZA("species"),tv=!1,VS=QA(YA.PromiseRejectionEvent),rN=JA("Promise",function(){var e=XA(gd),t=e!==String(gd);if(!t&&H6===66)return!0;if(H6>=51&&/native code/.test(e))return!1;var r=new gd(function(a){a(1)}),n=function(a){a(function(){},function(){})},i=r.constructor={};return i[tN]=n,tv=r.then(function(){})instanceof n,tv?!t&&eN&&!VS:!0}),lu={CONSTRUCTOR:rN,REJECTION_EVENT:VS,SUBCLASSING:tv},Fs={},G6=Ta,nN=function(e){var t,r;this.promise=new e(function(n,i){if(t!==void 0||r!==void 0)throw TypeError("Bad Promise constructor");t=n,r=i}),this.resolve=G6(t),this.reject=G6(r)};Fs.f=function(e){return new nN(e)};var iN=Ei,vp=S0,ma=Ze,Ds=on,z6=au,Y6=IS,aN=g0,oN=VM,sN=Ta,Nc=Mt,lN=vo,dN=GM,uN=cA,qS=BS.set,R0=VA,cN=WA,pN=T0,fN=HA,WS=p0,gp=s1,I0=lu,HS=Fs,l1="Promise",GS=I0.CONSTRUCTOR,hN=I0.REJECTION_EVENT,mN=I0.SUBCLASSING,xf=WS.getterFor(l1),vN=WS.set,zo=gp&&gp.prototype,Wa=gp,Zu=zo,zS=ma.TypeError,rv=ma.document,C0=ma.process,nv=HS.f,gN=nv,yN=!!(rv&&rv.createEvent&&ma.dispatchEvent),YS="unhandledrejection",_N="rejectionhandled",Q6=0,QS=1,SN=2,O0=1,JS=2,ec,J6,EN,X6,XS=function(e){var t;return lN(e)&&Nc(t=e.then)?t:!1},ZS=function(e,t){var r=t.value,n=t.state==QS,i=n?e.ok:e.fail,a=e.resolve,o=e.reject,p=e.domain,u,y,s;try{i?(n||(t.rejection===JS&&bN(t),t.rejection=O0),i===!0?u=r:(p&&p.enter(),u=i(r),p&&(p.exit(),s=!0)),u===e.promise?o(zS("Promise-chain cycle")):(y=XS(u))?Ds(y,u,a,o):a(u)):o(r)}catch(m){p&&!s&&p.exit(),o(m)}},eE=function(e,t){e.notified||(e.notified=!0,R0(function(){for(var r=e.reactions,n;n=r.get();)ZS(n,e);e.notified=!1,t&&!e.rejection&&wN(e)}))},tE=function(e,t,r){var n,i;yN?(n=rv.createEvent("Event"),n.promise=t,n.reason=r,n.initEvent(e,!1,!0),ma.dispatchEvent(n)):n={promise:t,reason:r},!hN&&(i=ma["on"+e])?i(n):e===YS&&cN("Unhandled promise rejection",r)},wN=function(e){Ds(qS,ma,function(){var t=e.facade,r=e.value,n=Z6(e),i;if(n&&(i=pN(function(){vp?C0.emit("unhandledRejection",r,t):tE(YS,t,r)}),e.rejection=vp||Z6(e)?JS:O0,i.error))throw i.value})},Z6=function(e){return e.rejection!==O0&&!e.parent},bN=function(e){Ds(qS,ma,function(){var t=e.facade;vp?C0.emit("rejectionHandled",t):tE(_N,t,e.value)})},ds=function(e,t,r){return function(n){e(t,n,r)}},ys=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=SN,eE(e,!0))},iv=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw zS("Promise can't be resolved itself");var n=XS(t);n?R0(function(){var i={done:!1};try{Ds(n,t,ds(iv,i,e),ds(ys,i,e))}catch(a){ys(i,a,e)}}):(e.value=t,e.state=QS,eE(e,!1))}catch(i){ys({done:!1},i,e)}}};if(GS&&(Wa=function(t){dN(this,Zu),sN(t),Ds(ec,this);var r=xf(this);try{t(ds(iv,r),ds(ys,r))}catch(n){ys(r,n)}},Zu=Wa.prototype,ec=function(t){vN(this,{type:l1,done:!1,notified:!1,parent:!1,reactions:new fN,rejection:!1,state:Q6,value:void 0})},ec.prototype=z6(Zu,"then",function(t,r){var n=xf(this),i=nv(uN(this,Wa));return n.parent=!0,i.ok=Nc(t)?t:!0,i.fail=Nc(r)&&r,i.domain=vp?C0.domain:void 0,n.state==Q6?n.reactions.add(i):R0(function(){ZS(i,n)}),i.promise}),J6=function(){var e=new ec,t=xf(e);this.promise=e,this.resolve=ds(iv,t),this.reject=ds(ys,t)},HS.f=nv=function(e){return e===Wa||e===EN?new J6(e):gN(e)},Nc(gp)&&zo!==Object.prototype)){X6=zo.then,mN||z6(zo,"then",function(t,r){var n=this;return new Wa(function(i,a){Ds(X6,n,i,a)}).then(t,r)},{unsafe:!0});try{delete zo.constructor}catch{}Y6&&Y6(zo,Zu)}iN({global:!0,constructor:!0,wrap:!0,forced:GS},{Promise:Wa});aN(Wa,l1,!1);oN(l1);var TN=Or,RN=su,IN=TN("iterator"),CN=Array.prototype,ON=function(e){return e!==void 0&&(RN.Array===e||CN[IN]===e)},PN=m0,e4=i0,kN=su,DN=Or,MN=DN("iterator"),rE=function(e){if(e!=null)return e4(e,MN)||e4(e,"@@iterator")||kN[PN(e)]},AN=Ze,NN=on,LN=Ta,xN=Jn,UN=r1,$N=rE,FN=AN.TypeError,BN=function(e,t){var r=arguments.length<2?$N(e):t;if(LN(r))return xN(NN(r,e));throw FN(UN(e)+" is not iterable")},jN=on,t4=Jn,KN=i0,VN=function(e,t,r){var n,i;t4(e);try{if(n=KN(e,"return"),!n){if(t==="throw")throw r;return r}n=jN(n,e)}catch(a){i=!0,n=a}if(t==="throw")throw r;if(i)throw n;return t4(n),r},qN=Ze,WN=w0,HN=on,GN=Jn,zN=r1,YN=ON,QN=o1,r4=r0,JN=BN,XN=rE,n4=VN,ZN=qN.TypeError,Lc=function(e,t){this.stopped=e,this.result=t},i4=Lc.prototype,nE=function(e,t,r){var n=r&&r.that,i=!!(r&&r.AS_ENTRIES),a=!!(r&&r.IS_ITERATOR),o=!!(r&&r.INTERRUPTED),p=WN(t,n),u,y,s,m,g,S,v,h=function(d){return u&&n4(u,"normal",d),new Lc(!0,d)},_=function(d){return i?(GN(d),o?p(d[0],d[1],h):p(d[0],d[1])):o?p(d,h):p(d)};if(a)u=e;else{if(y=XN(e),!y)throw ZN(zN(e)+" is not iterable");if(YN(y)){for(s=0,m=QN(e);m>s;s++)if(g=_(e[s]),g&&r4(i4,g))return g;return new Lc(!1)}u=JN(e,y)}for(S=u.next;!(v=HN(S,u)).done;){try{g=_(v.value)}catch(d){n4(u,"throw",d)}if(typeof g=="object"&&g&&r4(i4,g))return g}return new Lc(!1)},eL=Or,iE=eL("iterator"),aE=!1;try{var tL=0,a4={next:function(){return{done:!!tL++}},return:function(){aE=!0}};a4[iE]=function(){return this},Array.from(a4,function(){throw 2})}catch{}var rL=function(e,t){if(!t&&!aE)return!1;var r=!1;try{var n={};n[iE]=function(){return{next:function(){return{done:r=!0}}}},e(n)}catch{}return r},nL=s1,iL=rL,aL=lu.CONSTRUCTOR,oE=aL||!iL(function(e){nL.all(e).then(void 0,function(){})}),oL=Ei,sL=on,lL=Ta,dL=Fs,uL=T0,cL=nE,pL=oE;oL({target:"Promise",stat:!0,forced:pL},{all:function(t){var r=this,n=dL.f(r),i=n.resolve,a=n.reject,o=uL(function(){var p=lL(r.resolve),u=[],y=0,s=1;cL(t,function(m){var g=y++,S=!1;s++,sL(p,r,m).then(function(v){S||(S=!0,u[g]=v,--s||i(u))},a)}),--s||i(u)});return o.error&&a(o.value),n.promise}});var fL=Ei,hL=lu.CONSTRUCTOR,av=s1,mL=ba,vL=Mt,gL=au,o4=av&&av.prototype;fL({target:"Promise",proto:!0,forced:hL,real:!0},{catch:function(e){return this.then(void 0,e)}});if(vL(av)){var s4=mL("Promise").prototype.catch;o4.catch!==s4&&gL(o4,"catch",s4,{unsafe:!0})}var yL=Ei,_L=on,SL=Ta,EL=Fs,wL=T0,bL=nE,TL=oE;yL({target:"Promise",stat:!0,forced:TL},{race:function(t){var r=this,n=EL.f(r),i=n.reject,a=wL(function(){var o=SL(r.resolve);bL(t,function(p){_L(o,r,p).then(n.resolve,i)})});return a.error&&i(a.value),n.promise}});var RL=Ei,IL=on,CL=Fs,OL=lu.CONSTRUCTOR;RL({target:"Promise",stat:!0,forced:OL},{reject:function(t){var r=CL.f(this);return IL(r.reject,void 0,t),r.promise}});var PL=Jn,kL=vo,DL=Fs,ML=function(e,t){if(PL(e),kL(t)&&t.constructor===e)return t;var r=DL.f(e),n=r.resolve;return n(t),r.promise},AL=Ei,NL=ba,LL=lu.CONSTRUCTOR,xL=ML;NL("Promise");AL({target:"Promise",stat:!0,forced:LL},{resolve:function(t){return xL(this,t)}});function UL(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}const sE=UL(),Uf={};function $L(e="$lodash$"){Uf[e]||(Uf[e]=0);const t=++Uf[e];return e==="$lodash$"?`${t}`:`${e}${t}`}function FL(e,t){let r;return(...n)=>(clearTimeout(r),new Promise(i=>{r=setTimeout(()=>i(e(...n)),t)}))}function BL({debounceMs:e}){const[t,r]=Oe.useState(void 0);return Oe.useEffect(()=>{if(sE){const n=()=>{r(window.innerWidth)},i=FL(n,e);return window.addEventListener("resize",i),n(),()=>window.removeEventListener("resize",i)}return()=>{}},[e]),t}const jL=e=>{var{children:t,columns:r,gap:n}=e,i=_0(e,["children","columns","gap"]);return bs.jsx("div",Object.assign({style:{display:"grid",gridTemplateColumns:`repeat(${r}, 1fr)`,columnGap:n,alignItems:"start"}},i,{children:t}))},KL=e=>{var{children:t,gap:r}=e,n=_0(e,["children","gap"]);return bs.jsx("div",Object.assign({style:{display:"grid",gridTemplateColumns:"100%",rowGap:r}},n,{children:t}))},VL=e=>e[0],qL=e=>e[e.length-1],WL=e=>e.sort((t,r)=>t.size-r.size),HL=(e,t)=>e.filter(r=>r.size<=t),GL=(e,t)=>{const r=WL(e),n=HL(r,t),{columns:i}=n.length<1?VL(r):qL(n);return Array.from({length:i},a=>[])},zL=sE?Oe.useLayoutEffect:Oe.useEffect,YL=[{size:640,columns:1},{size:768,columns:2},{size:1024,columns:3},{size:1280,columns:4}],aq=e=>{var{children:t,gap:r="10px",debounce:n=200,breakpoints:i=YL}=e,a=_0(e,["children","gap","debounce","breakpoints"]);const o=BL({debounceMs:n}),[p,u]=Oe.useState([]);return zL(()=>{const y=GL(i,o||0);Oe.Children.forEach(t,(s,m)=>{const g=$L("plock-item-");if(Oe.isValidElement(s)){const S=Oe.cloneElement(s,Object.assign(Object.assign({},s.props),{key:g}));y[m%y.length].push(S)}}),u(y)},[t,i,o]),bs.jsx(jL,Object.assign({columns:p.length,gap:r},a,{children:p.map((y,s)=>bs.jsx(KL,Object.assign({gap:r,"data-testid":"masonry-column"},{children:y}),s))}))};var QL={},lE={},Bs={},Ae={},JL={get exports(){return Ae},set exports(e){Ae=e}};(function(e){function t(r){return r&&r.__esModule?r:{default:r}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(JL);const Ue=Ns(RI);var ul={},yp={},XL={get exports(){return yp},set exports(e){yp=e}},l4;function ZL(){return l4||(l4=1,function(e){(function(t,r){e.exports?e.exports=r():t.log=r()})($e,function(){var t=function(){},r="undefined",n=typeof window!==r&&typeof window.navigator!==r&&/Trident\/|MSIE /.test(window.navigator.userAgent),i=["trace","debug","info","warn","error"];function a(h,_){var d=h[_];if(typeof d.bind=="function")return d.bind(h);try{return Function.prototype.bind.call(d,h)}catch{return function(){return Function.prototype.apply.apply(d,[h,arguments])}}}function o(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function p(h){return h==="debug"&&(h="log"),typeof console===r?!1:h==="trace"&&n?o:console[h]!==void 0?a(console,h):console.log!==void 0?a(console,"log"):t}function u(h,_){for(var d=0;d<i.length;d++){var l=i[d];this[l]=d<h?t:this.methodFactory(l,h,_)}this.log=this.debug}function y(h,_,d){return function(){typeof console!==r&&(u.call(this,_,d),this[h].apply(this,arguments))}}function s(h,_,d){return p(h)||y.apply(this,arguments)}function m(h,_,d){var l=this,c;_=_??"WARN";var f="loglevel";typeof h=="string"?f+=":"+h:typeof h=="symbol"&&(f=void 0);function E(A){var L=(i[A]||"silent").toUpperCase();if(!(typeof window===r||!f)){try{window.localStorage[f]=L;return}catch{}try{window.document.cookie=encodeURIComponent(f)+"="+L+";"}catch{}}}function w(){var A;if(!(typeof window===r||!f)){try{A=window.localStorage[f]}catch{}if(typeof A===r)try{var L=window.document.cookie,F=L.indexOf(encodeURIComponent(f)+"=");F!==-1&&(A=/^([^;]+)/.exec(L.slice(F))[1])}catch{}return l.levels[A]===void 0&&(A=void 0),A}}function I(){if(!(typeof window===r||!f)){try{window.localStorage.removeItem(f);return}catch{}try{window.document.cookie=encodeURIComponent(f)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}l.name=h,l.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},l.methodFactory=d||s,l.getLevel=function(){return c},l.setLevel=function(A,L){if(typeof A=="string"&&l.levels[A.toUpperCase()]!==void 0&&(A=l.levels[A.toUpperCase()]),typeof A=="number"&&A>=0&&A<=l.levels.SILENT){if(c=A,L!==!1&&E(A),u.call(l,A,h),typeof console===r&&A<l.levels.SILENT)return"No console available for logging"}else throw"log.setLevel() called with invalid level: "+A},l.setDefaultLevel=function(A){_=A,w()||l.setLevel(A,!1)},l.resetLevel=function(){l.setLevel(_,!1),I()},l.enableAll=function(A){l.setLevel(l.levels.TRACE,A)},l.disableAll=function(A){l.setLevel(l.levels.SILENT,A)};var D=w();D==null&&(D=_),l.setLevel(D,!1)}var g=new m,S={};g.getLogger=function(_){if(typeof _!="symbol"&&typeof _!="string"||_==="")throw new TypeError("You must supply a name when creating a logger.");var d=S[_];return d||(d=S[_]=new m(_,g.getLevel(),g.methodFactory)),d};var v=typeof window!==r?window.log:void 0;return g.noConflict=function(){return typeof window!==r&&window.log===g&&(window.log=v),g},g.getLoggers=function(){return S},g.default=g,g})}(XL)),yp}var d4;function Ge(){if(d4)return ul;d4=1;var e=Ae;Object.defineProperty(ul,"__esModule",{value:!0}),ul.logger=void 0;var t=e(ZL());const r="matrix";t.default.methodFactory=function(o,p,u){return function(...y){return this.prefix&&y.unshift(this.prefix),o==="error"||o==="warn"||o==="trace"||o==="info"?console[o](...y):console.log(...y)}};const n=t.default.getLogger(r);ul.logger=n,n.setLevel(t.default.levels.DEBUG,!1);function i(o){o.withPrefix=function(p){const u=this.prefix||"";return a(u+p)}}i(n);function a(o){const p=t.default.getLogger(`${r}-${o}`);return p.prefix!==o&&(i(p),p.prefix=o,p.setLevel(t.default.levels.DEBUG,!1)),p}return ul}var Je={};const ex="l",tx="rn",rx={0:"O",1:"l","֭":"֖","֮":"֘","֨":"֙","֤":"֚","᪴":"ۛ","⃛":"ۛ","ؙ":"̓","ࣳ":"̓","̓":"̓","̕":"̓","ُ":"̓","ٝ":"̔","֜":"́","֝":"́","ؘ":"́","݇":"́","́":"́","॔":"́","َ":"́","̀":"̀","॓":"̀","̌":"̆","꙼":"̆","٘":"̆","ٚ":"̆","ͮ":"̆","ۨ":"̆̇","̐":"̆̇","ँ":"̆̇","ঁ":"̆̇","ઁ":"̆̇","ଁ":"̆̇","ఀ":"̆̇","ಁ":"̆̇","ഁ":"̆̇","𑒿":"̆̇","᳐":"̂","̑":"̂","ٛ":"̂","߮":"̂","꛰":"̂","֯":"̊","۟":"̊","៓":"̊","゚":"̊","ْ":"̊","ஂ":"̊","ံ":"̊","ំ":"̊","𑌀":"̊","ํ":"̊","ໍ":"̊","ͦ":"̊","ⷪ":"̊","࣫":"̈","߳":"̈","ً":"̋","ࣰ":"̋","͂":"̃","ٓ":"̃","ׄ":"̇","۬":"̇","݀":"̇","࣪":"̇","݁":"̇","͘":"̇","ֹ":"̇","ֺ":"̇","ׂ":"̇","ׁ":"̇","߭":"̇","ं":"̇","ਂ":"̇","ં":"̇","்":"̇","̷":"̸","᪷":"̨","̢":"̨","ͅ":"̨","᳒":"̄","̅":"̄","ٙ":"̄","߫":"̄","꛱":"̄","᳚":"̎","ٗ":"̒","͗":"͐","ࣿ":"͐","ࣸ":"͐","ऀ":"͒","᳭":"̖","᳜":"̩","ٖ":"̩","᳕":"̫","͇":"̳","ࣹ":"͔","ࣺ":"͕","゛":"゙","゜":"゚","̶":"̵","〬":"̉","ׅ":"̣","࣭":"̣","᳝":"̣","ִ":"̣","ٜ":"̣","़":"̣","়":"̣","਼":"̣","઼":"̣","଼":"̣","𑇊":"̣","𑓃":"̣","𐨺":"̣","࣮":"̤","᳞":"̤","༷":"̥","〭":"̥","̧":"̦","̡":"̦","̹":"̦","᳙":"̭","᳘":"̮","॒":"̱","̠":"̱","ࣱ":"ٌ","ࣨ":"ٌ","ࣥ":"ٌ",ﱞ:"ﹲّ","ࣲ":"ٍ",ﱟ:"ﹴّ",ﳲ:"ﹷّ",ﱠ:"ﹶّ",ﳳ:"ﹹّ",ﱡ:"ﹸّ","ؚ":"ِ","̗":"ِ",ﳴ:"ﹻّ",ﱢ:"ﹺّ",ﱣ:"ﹼٰ","ٟ":"ٕ","̍":"ٰ","݂":"ܼ","ਃ":"ঃ","ః":"ঃ","ಃ":"ঃ","ഃ":"ঃ","ඃ":"ঃ","း":"ঃ","𑓁":"ঃ","់":"่","່":"่","້":"้","໊":"๊","໋":"๋","꙯":"⃩","\u2028":" ","\u2029":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" "," ":" ","ߺ":"_","﹍":"_","﹎":"_","﹏":"_","‐":"-","‑":"-","‒":"-","–":"-","﹘":"-","۔":"-","⁃":"-","˗":"-","−":"-","➖":"-","Ⲻ":"-","⨩":"-̓","⸚":"-̈","﬩":"-̇","∸":"-̇","⨪":"-̣","꓾":"-.","~":"〜","؍":",","٫":",","‚":",","¸":",","ꓹ":",","⸲":"،","٬":"،",";":";","⸵":"؛","ः":":","ઃ":":",":":":","։":":","܃":":","܄":":","᛬":":","︰":":","᠃":":","᠉":":","⁚":":","׃":":","˸":":","꞉":":","∶":":",ː:":","ꓽ":":","⩴":"::=","⧴":":→","!":"!",ǃ:"!","ⵑ":"!","‼":"!!","⁉":"!?",ʔ:"?","Ɂ":"?","ॽ":"?",Ꭾ:"?","ꛫ":"?","⁈":"?!","⁇":"??","⸮":"؟","𝅭":".","․":".","܁":".","܂":".","꘎":".","𐩐":".","٠":".","۰":".","ꓸ":".","ꓻ":".,","‥":"..","ꓺ":"..","…":"...","꛴":"꛳꛳","・":"·","・":"·","᛫":"·","·":"·","⸱":"·","𐄁":"·","•":"·","‧":"·","∙":"·","⋅":"·","ꞏ":"·",ᐧ:"·","⋯":"···","ⵈ":"···",ᑄ:"·<","⋗":"·>",ᐷ:"·>",ᑀ:"·>",ᔯ:"·4",ᑾ:"·b",ᒀ:"·ḃ",ᑺ:"·d",ᒘ:"·J",ᒶ:"·L",ᑶ:"·P",ᑗ:"·U",ᐺ:"·V",ᐼ:"·Ʌ",ᒮ:"·Γ",ᐎ:"·Δ",ᑙ:"·Ո",ᐌ:"·ᐁ",ᐐ:"·ᐄ",ᐒ:"·ᐅ",ᐔ:"·ᐆ",ᐗ:"·ᐊ",ᐙ:"·ᐋ",ᐾ:"·ᐲ",ᑂ:"·ᐴ",ᑆ:"·ᐹ",ᑛ:"·ᑏ",ᑔ:"·ᑐ",ᑝ:"·ᑐ",ᑟ:"·ᑑ",ᑡ:"·ᑕ",ᑣ:"·ᑖ",ᑴ:"·ᑫ",ᑸ:"·ᑮ",ᑼ:"·ᑰ",ᒒ:"·ᒉ",ᒔ:"·ᒋ",ᒖ:"·ᒌ",ᒚ:"·ᒎ",ᒜ:"·ᒐ",ᒞ:"·ᒑ",ᒬ:"·ᒣ",ᒰ:"·ᒦ",ᒲ:"·ᒧ",ᒴ:"·ᒨ",ᒸ:"·ᒫ",ᓉ:"·ᓀ","ᣆ":"·ᓂ","ᣈ":"·ᓃ","ᣊ":"·ᓄ","ᣌ":"·ᓅ",ᓋ:"·ᓇ",ᓍ:"·ᓈ",ᓜ:"·ᓓ",ᓞ:"·ᓕ",ᓠ:"·ᓖ",ᓢ:"·ᓗ",ᓤ:"·ᓘ",ᓦ:"·ᓚ",ᓨ:"·ᓛ",ᓶ:"·ᓭ",ᓸ:"·ᓯ",ᓺ:"·ᓰ",ᓼ:"·ᓱ",ᓾ:"·ᓲ",ᔀ:"·ᓴ",ᔂ:"·ᓵ",ᔗ:"·ᔐ",ᔙ:"·ᔑ",ᔛ:"·ᔒ",ᔝ:"·ᔓ",ᔟ:"·ᔔ",ᔡ:"·ᔕ",ᔣ:"·ᔖ",ᔱ:"·ᔨ",ᔳ:"·ᔩ",ᔵ:"·ᔪ",ᔷ:"·ᔫ",ᔹ:"·ᔭ",ᔻ:"·ᔮ","ᣎ":"·ᕃ","ᣏ":"·ᕆ","ᣐ":"·ᕇ","ᣑ":"·ᕈ","ᣒ":"·ᕉ","ᣓ":"·ᕋ",ᕎ:"·ᕌ",ᕛ:"·ᕚ",ᕨ:"·ᕧ","ᢳ":"·ᢱ","ᢶ":"·ᢴ","ᢹ":"·ᢸ","ᣂ":"·ᣀ","꠰":"।","॥":"।।","᰼":"᰻᰻","။":"၊၊","᪩":"᪨᪨","᪫":"᪪᪨","᭟":"᭞᭞","𐩗":"𐩖𐩖","𑑌":"𑑋𑑋","𑙂":"𑙁𑙁","𑱂":"𑱁𑱁","᱿":"᱾᱾","՝":"'","'":"'","‘":"'","’":"'","‛":"'","′":"'","‵":"'","՚":"'","׳":"'","`":"'","`":"'","`":"'","´":"'","΄":"'","´":"'","᾽":"'","᾿":"'","῾":"'","ʹ":"'","ʹ":"'","ˈ":"'","ˊ":"'","ˋ":"'","˴":"'",ʻ:"'",ʽ:"'",ʼ:"'",ʾ:"'","ꞌ":"'",י:"'","ߴ":"'","ߵ":"'",ᑊ:"'",ᛌ:"'","𖽑":"'","𖽒":"'","᳓":"''",'"':"''",""":"''","“":"''","”":"''","‟":"''","″":"''","‶":"''","〃":"''","״":"''","˝":"''","ʺ":"''","˶":"''",ˮ:"''",ײ:"''","‴":"'''","‷":"'''","⁗":"''''",Ɓ:"'B",Ɗ:"'D",ʼn:"'n",Ƥ:"'P",Ƭ:"'T",Ƴ:"'Y","[":"(","❨":"(","❲":"(","〔":"(","﴾":"(","⸨":"((","㈠":"(ー)","⑵":"(2)","⒇":"(2O)","⑶":"(3)","⑷":"(4)","⑸":"(5)","⑹":"(6)","⑺":"(7)","⑻":"(8)","⑼":"(9)","⒜":"(a)","🄐":"(A)","⒝":"(b)","🄑":"(B)","⒞":"(c)","🄒":"(C)","⒟":"(d)","🄓":"(D)","⒠":"(e)","🄔":"(E)","⒡":"(f)","🄕":"(F)","⒢":"(g)","🄖":"(G)","⒣":"(h)","🄗":"(H)","⒤":"(i)","⒥":"(j)","🄙":"(J)","⒦":"(k)","🄚":"(K)","⑴":"(l)","🄘":"(l)","⒧":"(l)","🄛":"(L)","⑿":"(l2)","⒀":"(l3)","⒁":"(l4)","⒂":"(l5)","⒃":"(l6)","⒄":"(l7)","⒅":"(l8)","⒆":"(l9)","⑾":"(ll)","⑽":"(lO)","🄜":"(M)","⒩":"(n)","🄝":"(N)","⒪":"(o)","🄞":"(O)","⒫":"(p)","🄟":"(P)","⒬":"(q)","🄠":"(Q)","⒭":"(r)","🄡":"(R)","⒨":"(rn)","⒮":"(s)","🄢":"(S)","🄪":"(S)","⒯":"(t)","🄣":"(T)","⒰":"(u)","🄤":"(U)","⒱":"(v)","🄥":"(V)","⒲":"(w)","🄦":"(W)","⒳":"(x)","🄧":"(X)","⒴":"(y)","🄨":"(Y)","⒵":"(z)","🄩":"(Z)","㈀":"(ᄀ)","㈎":"(가)","㈁":"(ᄂ)","㈏":"(나)","㈂":"(ᄃ)","㈐":"(다)","㈃":"(ᄅ)","㈑":"(라)","㈄":"(ᄆ)","㈒":"(마)","㈅":"(ᄇ)","㈓":"(바)","㈆":"(ᄉ)","㈔":"(사)","㈇":"(ᄋ)","㈕":"(아)","㈝":"(오전)","㈞":"(오후)","㈈":"(ᄌ)","㈖":"(자)","㈜":"(주)","㈉":"(ᄎ)","㈗":"(차)","㈊":"(ᄏ)","㈘":"(카)","㈋":"(ᄐ)","㈙":"(타)","㈌":"(ᄑ)","㈚":"(파)","㈍":"(ᄒ)","㈛":"(하)","㈦":"(七)","㈢":"(三)","🉁":"(三)","㈨":"(九)","㈡":"(二)","🉂":"(二)","㈤":"(五)","㈹":"(代)","㈽":"(企)","㉁":"(休)","㈧":"(八)","㈥":"(六)","㈸":"(労)","🉇":"(勝)","㈩":"(十)","㈿":"(協)","㈴":"(名)","㈺":"(呼)","㈣":"(四)","㈯":"(土)","㈻":"(学)","🉃":"(安)","🉅":"(打)","🉈":"(敗)","㈰":"(日)","㈪":"(月)","㈲":"(有)","㈭":"(木)","🉀":"(本)","㈱":"(株)","㈬":"(水)","㈫":"(火)","🉄":"(点)","㈵":"(特)","🉆":"(盗)","㈼":"(監)","㈳":"(社)","㈷":"(祝)","㉀":"(祭)","㉂":"(自)","㉃":"(至)","㈶":"(財)","㈾":"(資)","㈮":"(金)","]":")","❩":")","❳":")","〕":")","﴿":")","⸩":"))","❴":"{","𝄔":"{","❵":"}","〚":"⟦","〛":"⟧","⟨":"❬","〈":"❬","〈":"❬","㇛":"❬",く:"❬","𡿨":"❬","⟩":"❭","〉":"❭","〉":"❭","^":"︿","⸿":"¶","⁎":"*","٭":"*","∗":"*","𐌟":"*","᜵":"/","⁁":"/","∕":"/","⁄":"/","╱":"/","⟋":"/","⧸":"/","𝈺":"/","㇓":"/",〳:"/","Ⳇ":"/",ノ:"/",丿:"/","⼃":"/","⧶":"/̄","⫽":"//","⫻":"///","\":"\\","﹨":"\\","∖":"\\","⟍":"\\","⧵":"\\","⧹":"\\","𝈏":"\\","𝈻":"\\","㇔":"\\",丶:"\\","⼂":"\\","⳹":"\\\\","⑊":"\\\\","⟈":"\\ᑕ","ꝸ":"&","૰":"॰","𑂻":"॰","𑇇":"॰","⚬":"॰","𑇛":"꣼","៙":"๏","៕":"๚","៚":"๛","༌":"་","༎":"།།","˄":"^","ˆ":"^","꙾":"ˇ","˘":"ˇ","‾":"ˉ","﹉":"ˉ","﹊":"ˉ","﹋":"ˉ","﹌":"ˉ","¯":"ˉ"," ̄":"ˉ","▔":"ˉ",ъ:"ˉb","ꙑ":"ˉbi","͵":"ˏ","˻":"˪","꜖":"˪","꜔":"˫","。":"˳","⸰":"°","˚":"°","∘":"°","○":"°","◦":"°","⍜":"°̲","⍤":"°̈","℃":"°C","℉":"°F","௵":"௳","༛":"༚༚","༟":"༚༝","࿎":"༝༚","༞":"༝༝","Ⓒ":"©","Ⓡ":"®","Ⓟ":"℗","𝈛":"⅄","⯬":"↞","⯭":"↟","⯮":"↠","⯯":"↡","↵":"↲","⥥":"⇃⇂","⥯":"⇃ᛚ","𝛛":"∂","𝜕":"∂","𝝏":"∂","𝞉":"∂","𝟃":"∂","𞣌":"∂","𞣍":"∂̵",ð:"∂̵","⌀":"∅","𝛁":"∇","𝛻":"∇","𝜵":"∇","𝝯":"∇","𝞩":"∇","𑢨":"∇","⍢":"∇̈","⍫":"∇̴","█":"∎","■":"∎","⨿":"∐","᛭":"+","➕":"+","𐊛":"+","⨣":"+̂","⨢":"+̊","⨤":"+̃","∔":"+̇","⨥":"+̣","⨦":"+̰","⨧":"+₂","➗":"÷","‹":"<","❮":"<","˂":"<","𝈶":"<",ᐸ:"<",ᚲ:"<","⋖":"<·","Ⲵ":"<·",ᑅ:"<·","≪":"<<","⋘":"<<<","᐀":"=","⹀":"=","゠":"=","꓿":"=","≚":"=̆","≙":"=̂","≗":"=̊","≐":"=̇","≑":"=̣̇","⩮":"=⃰","⩵":"==","⩶":"===","≞":"=ͫ","›":">","❯":">","˃":">","𝈷":">",ᐳ:">","𖼿":">",ᑁ:">·","⪥":"><","≫":">>","⨠":">>","⋙":">>>","⁓":"~","˜":"~","῀":"~","∼":"~","⍨":"~̈","⸞":"~̇","⩪":"~̇","⸟":"~̣","𞣈":"∠","⋀":"∧","∯":"∮∮","∰":"∮∮∮","⸫":"∴","⸪":"∵","⸬":"∷","𑇞":"≈","♎":"≏","🝞":"≏","≣":"≡","⨃":"⊍","⨄":"⊎","𝈸":"⊏","𝈹":"⊐","⨅":"⊓","⨆":"⊔","⨂":"⊗","⍟":"⊛","🝱":"⊠","🝕":"⊡","◁":"⊲","▷":"⊳","⍣":"⋆̈","︴":"⌇","◠":"⌒","⨽":"⌙","⌥":"⌤","⧇":"⌻","◎":"⌾","⦾":"⌾","⧅":"⍂","⦰":"⍉","⏃":"⍋","⏂":"⍎","⏁":"⍕","⏆":"⍭","☸":"⎈","︵":"⏜","︶":"⏝","︷":"⏞","︸":"⏟","︹":"⏠","︺":"⏡","▱":"⏥","⏼":"⏻","︱":"│","|":"│","┃":"│","┏":"┌","┣":"├","▐":"▌","▗":"▖","▝":"▘","☐":"□","■":"▪","▸":"▶","►":"▶","⳩":"☧","🜊":"☩","🌒":"☽","🌙":"☽","⏾":"☾","🌘":"☾","⧙":"⦚","🜺":"⧟","⨾":"⨟","𐆠":"⳨","♩":"𝅘𝅥","♪":"𝅘𝅥𝅮","⓪":"🄍","↺":"🄎","˙":"ॱ","ൎ":"ॱ","-":"ー","—":"ー","―":"ー","─":"ー","━":"ー","㇐":"ー","ꟷ":"ー",ᅳ:"ー",ㅡ:"ー",一:"ー","⼀":"ー",ᆖ:"ーー","ힹ":"ーᅡ","ힺ":"ーᅥ","ힻ":"ーᅥ丨","ힼ":"ーᅩ",ᆕ:"ーᅮ",ᅴ:"ー丨",ㅢ:"ー丨",ᆗ:"ー丨ᅮ","🄏":"$⃠","₤":"£","〒":"₸","〶":"₸","᭜":"᭐","꧆":"꧐","𑓑":"১","೧":"౧","ၥ":"၁","①":"➀","⑩":"➉","⏨":"₁₀","𝟐":"2","𝟚":"2","𝟤":"2","𝟮":"2","𝟸":"2","🯲":"2","Ꝛ":"2",Ƨ:"2",Ϩ:"2","Ꙅ":"2",ᒿ:"2","ꛯ":"2","ꧏ":"٢","۲":"٢","૨":"२","𑓒":"২","೨":"౨","②":"➁",ƻ:"2̵","🄃":"2,","⒉":"2.","㏵":"22日","㍮":"22点","㏶":"23日","㍯":"23点","㏷":"24日","㍰":"24点","㏸":"25日","㏹":"26日","㏺":"27日","㏻":"28日","㏼":"29日","㏴":"2l日","㍭":"2l点","⒛":"2O.","㏳":"2O日","㍬":"2O点","෩":"෨ා","෯":"෨ී","㏡":"2日","㋁":"2月","㍚":"2点","𝈆":"3","𝟑":"3","𝟛":"3","𝟥":"3","𝟯":"3","𝟹":"3","🯳":"3","Ɜ":"3",Ȝ:"3",Ʒ:"3","Ꝫ":"3","Ⳍ":"3",З:"3",Ӡ:"3","𖼻":"3","𑣊":"3","۳":"٣","𞣉":"٣","૩":"३","③":"➂",Ҙ:"3̦","🄄":"3,","⒊":"3.","㏾":"3l日","㏽":"3O日","㏢":"3日","㋂":"3月","㍛":"3点","𝟒":"4","𝟜":"4","𝟦":"4","𝟰":"4","𝟺":"4","🯴":"4",Ꮞ:"4","𑢯":"4","۴":"٤","૪":"४","④":"➃","🄅":"4,","⒋":"4.",ᔰ:"4·","㏣":"4日","㋃":"4月","㍜":"4点","𝟓":"5","𝟝":"5","𝟧":"5","𝟱":"5","𝟻":"5","🯵":"5",Ƽ:"5","𑢻":"5","⑤":"➄","🄆":"5,","⒌":"5.","㏤":"5日","㋄":"5月","㍝":"5点","𝟔":"6","𝟞":"6","𝟨":"6","𝟲":"6","𝟼":"6","🯶":"6","Ⳓ":"6",б:"6",Ꮾ:"6","𑣕":"6","۶":"٦","𑓖":"৬","⑥":"➅","🄇":"6,","⒍":"6.","㏥":"6日","㋅":"6月","㍞":"6点","𝈒":"7","𝟕":"7","𝟟":"7","𝟩":"7","𝟳":"7","𝟽":"7","🯷":"7","𐓒":"7","𑣆":"7","⑦":"➆","🄈":"7,","⒎":"7.","㏦":"7日","㋆":"7月","㍟":"7点","ଃ":"8","৪":"8","੪":"8","𞣋":"8","𝟖":"8","𝟠":"8","𝟪":"8","𝟴":"8","𝟾":"8","🯸":"8",ȣ:"8",Ȣ:"8","𐌚":"8","૮":"८","⑧":"➇","🄉":"8,","⒏":"8.","㏧":"8日","㋇":"8月","㍠":"8点","੧":"9","୨":"9","৭":"9","൭":"9","𝟗":"9","𝟡":"9","𝟫":"9","𝟵":"9","𝟿":"9","🯹":"9","Ꝯ":"9","Ⳋ":"9","𑣌":"9","𑢬":"9","𑣖":"9","१":"٩","𑣤":"٩","۹":"٩","೯":"౯","⑨":"➈","🄊":"9,","⒐":"9.","㏨":"9日","㋈":"9月","㍡":"9点","⍺":"a",a:"a","𝐚":"a","𝑎":"a","𝒂":"a","𝒶":"a","𝓪":"a","𝔞":"a","𝕒":"a","𝖆":"a","𝖺":"a","𝗮":"a","𝘢":"a","𝙖":"a","𝚊":"a",ɑ:"a",α:"a","𝛂":"a","𝛼":"a","𝜶":"a","𝝰":"a","𝞪":"a",а:"a","ⷶ":"ͣ",A:"A","𝐀":"A","𝐴":"A","𝑨":"A","𝒜":"A","𝓐":"A","𝔄":"A","𝔸":"A","𝕬":"A","𝖠":"A","𝗔":"A","𝘈":"A","𝘼":"A","𝙰":"A",Α:"A","𝚨":"A","𝛢":"A","𝜜":"A","𝝖":"A","𝞐":"A",А:"A",Ꭺ:"A",ᗅ:"A","ꓮ":"A","𖽀":"A","𐊠":"A","⍶":"a̲",ǎ:"ă",Ǎ:"Ă",ȧ:"å",Ȧ:"Å",ẚ:"ả","℀":"a/c","℁":"a/s","ꜳ":"aa","Ꜳ":"AA",æ:"ae",ӕ:"ae",Æ:"AE",Ӕ:"AE","ꜵ":"ao","Ꜵ":"AO","🜇":"AR","ꜷ":"au","Ꜷ":"AU","ꜹ":"av","ꜻ":"av","Ꜹ":"AV","Ꜻ":"AV","ꜽ":"ay","Ꜽ":"AY","ꭺ":"ᴀ","∀":"Ɐ","𝈗":"Ɐ",ᗄ:"Ɐ","ꓯ":"Ɐ","𐐟":"Ɒ","𝐛":"b","𝑏":"b","𝒃":"b","𝒷":"b","𝓫":"b","𝔟":"b","𝕓":"b","𝖇":"b","𝖻":"b","𝗯":"b","𝘣":"b","𝙗":"b","𝚋":"b",Ƅ:"b",Ь:"b",Ꮟ:"b",ᑲ:"b",ᖯ:"b",B:"B",ℬ:"B","𝐁":"B","𝐵":"B","𝑩":"B","𝓑":"B","𝔅":"B","𝔹":"B","𝕭":"B","𝖡":"B","𝗕":"B","𝘉":"B","𝘽":"B","𝙱":"B","Ꞵ":"B",Β:"B","𝚩":"B","𝛣":"B","𝜝":"B","𝝗":"B","𝞑":"B",В:"B",Ᏼ:"B",ᗷ:"B","ꓐ":"B","𐊂":"B","𐊡":"B","𐌁":"B",ɓ:"b̔",ᑳ:"ḃ",ƃ:"b̄",Ƃ:"b̄",Б:"b̄",ƀ:"b̵",ҍ:"b̵",Ҍ:"b̵",ѣ:"b̵",Ѣ:"b̵",ᑿ:"b·",ᒁ:"ḃ·",ᒈ:"b'",Ы:"bl",в:"ʙ","ᏼ":"ʙ",c:"c","ⅽ":"c","𝐜":"c","𝑐":"c","𝒄":"c","𝒸":"c","𝓬":"c","𝔠":"c","𝕔":"c","𝖈":"c","𝖼":"c","𝗰":"c","𝘤":"c","𝙘":"c","𝚌":"c","ᴄ":"c",ϲ:"c","ⲥ":"c",с:"c","ꮯ":"c","𐐽":"c","ⷭ":"ͨ","🝌":"C","𑣲":"C","𑣩":"C",C:"C","Ⅽ":"C",ℂ:"C",ℭ:"C","𝐂":"C","𝐶":"C","𝑪":"C","𝒞":"C","𝓒":"C","𝕮":"C","𝖢":"C","𝗖":"C","𝘊":"C","𝘾":"C","𝙲":"C","Ϲ":"C","Ⲥ":"C",С:"C",Ꮯ:"C","ꓚ":"C","𐊢":"C","𐌂":"C","𐐕":"C","𐔜":"C","¢":"c̸","ȼ":"c̸","₡":"C⃫","🅮":"C⃠",ç:"c̦",ҫ:"c̦",Ç:"C̦",Ҫ:"C̦",Ƈ:"C'","℅":"c/o","℆":"c/u","🅭":"㏄ ⃝","⋴":"ꞓ",ɛ:"ꞓ",ε:"ꞓ","ϵ":"ꞓ","𝛆":"ꞓ","𝛜":"ꞓ","𝜀":"ꞓ","𝜖":"ꞓ","𝜺":"ꞓ","𝝐":"ꞓ","𝝴":"ꞓ","𝞊":"ꞓ","𝞮":"ꞓ","𝟄":"ꞓ","ⲉ":"ꞓ",є:"ꞓ","ԑ":"ꞓ","ꮛ":"ꞓ","𑣎":"ꞓ","𐐩":"ꞓ","€":"Ꞓ","Ⲉ":"Ꞓ",Є:"Ꞓ","⍷":"ꞓ̲","ͽ":"ꜿ","Ͽ":"Ꜿ","ⅾ":"d","ⅆ":"d","𝐝":"d","𝑑":"d","𝒅":"d","𝒹":"d","𝓭":"d","𝔡":"d","𝕕":"d","𝖉":"d","𝖽":"d","𝗱":"d","𝘥":"d","𝙙":"d","𝚍":"d","ԁ":"d",Ꮷ:"d",ᑯ:"d","ꓒ":"d","Ⅾ":"D","ⅅ":"D","𝐃":"D","𝐷":"D","𝑫":"D","𝒟":"D","𝓓":"D","𝔇":"D","𝔻":"D","𝕯":"D","𝖣":"D","𝗗":"D","𝘋":"D","𝘿":"D","𝙳":"D",Ꭰ:"D",ᗞ:"D",ᗪ:"D","ꓓ":"D",ɗ:"d̔",ɖ:"d̨",ƌ:"d̄",đ:"d̵",Đ:"D̵",Ð:"D̵",Ɖ:"D̵","₫":"ḏ̵","ꝺ":"Ꝺ",ᑻ:"d·",ᒇ:"d'",ʤ:"dȝ",dz:"dz",ʣ:"dz",Dz:"Dz",DZ:"DZ",dž:"dž",Dž:"Dž",DŽ:"DŽ",ʥ:"dʑ","ꭰ":"ᴅ","⸹":"ẟ",δ:"ẟ","𝛅":"ẟ","𝛿":"ẟ","𝜹":"ẟ","𝝳":"ẟ","𝞭":"ẟ",ծ:"ẟ",ᕷ:"ẟ","℮":"e",e:"e",ℯ:"e","ⅇ":"e","𝐞":"e","𝑒":"e","𝒆":"e","𝓮":"e","𝔢":"e","𝕖":"e","𝖊":"e","𝖾":"e","𝗲":"e","𝘦":"e","𝙚":"e","𝚎":"e","ꬲ":"e",е:"e",ҽ:"e","ⷷ":"ͤ","⋿":"E",E:"E",ℰ:"E","𝐄":"E","𝐸":"E","𝑬":"E","𝓔":"E","𝔈":"E","𝔼":"E","𝕰":"E","𝖤":"E","𝗘":"E","𝘌":"E","𝙀":"E","𝙴":"E",Ε:"E","𝚬":"E","𝛦":"E","𝜠":"E","𝝚":"E","𝞔":"E",Е:"E","ⴹ":"E",Ꭼ:"E","ꓰ":"E","𑢦":"E","𑢮":"E","𐊆":"E",ě:"ĕ",Ě:"Ĕ","ɇ":"e̸","Ɇ":"E̸",ҿ:"ę","ꭼ":"ᴇ",ə:"ǝ",ә:"ǝ","∃":"Ǝ","ⴺ":"Ǝ","ꓱ":"Ǝ",ɚ:"ǝ˞","ᴔ":"ǝo","ꭁ":"ǝo̸","ꭂ":"ǝo̵",Ә:"Ə","𝈡":"Ɛ",ℇ:"Ɛ","Ԑ":"Ɛ",Ꮛ:"Ɛ","𖼭":"Ɛ","𐐁":"Ɛ","ᶟ":"ᵋ","ᴈ":"ɜ",з:"ɜ",ҙ:"ɜ̦","𐑂":"ɞ","ꞝ":"ʚ","𐐪":"ʚ","𝐟":"f","𝑓":"f","𝒇":"f","𝒻":"f","𝓯":"f","𝔣":"f","𝕗":"f","𝖋":"f","𝖿":"f","𝗳":"f","𝘧":"f","𝙛":"f","𝚏":"f","ꬵ":"f","ꞙ":"f",ſ:"f","ẝ":"f",ք:"f","𝈓":"F",ℱ:"F","𝐅":"F","𝐹":"F","𝑭":"F","𝓕":"F","𝔉":"F","𝔽":"F","𝕱":"F","𝖥":"F","𝗙":"F","𝘍":"F","𝙁":"F","𝙵":"F","Ꞙ":"F",Ϝ:"F","𝟊":"F",ᖴ:"F","ꓝ":"F","𑣂":"F","𑢢":"F","𐊇":"F","𐊥":"F","𐔥":"F",ƒ:"f̦",Ƒ:"F̦","ᵮ":"f̴","℻":"FAX",ff:"ff",ffi:"ffi",ffl:"ffl",fi:"fi",fl:"fl",ʩ:"fŋ",ᖵ:"Ⅎ","ꓞ":"Ⅎ","𝈰":"ꟻ",ᖷ:"ꟻ",g:"g",ℊ:"g","𝐠":"g","𝑔":"g","𝒈":"g","𝓰":"g","𝔤":"g","𝕘":"g","𝖌":"g","𝗀":"g","𝗴":"g","𝘨":"g","𝙜":"g","𝚐":"g",ɡ:"g","ᶃ":"g",ƍ:"g",ց:"g","𝐆":"G","𝐺":"G","𝑮":"G","𝒢":"G","𝓖":"G","𝔊":"G","𝔾":"G","𝕲":"G","𝖦":"G","𝗚":"G","𝘎":"G","𝙂":"G","𝙶":"G","Ԍ":"G",Ꮐ:"G",Ᏻ:"G","ꓖ":"G","ᶢ":"ᵍ",ɠ:"g̔",ǧ:"ğ",Ǧ:"Ğ",ǵ:"ģ",ǥ:"g̵",Ǥ:"G̵",Ɠ:"G'","ԍ":"ɢ","ꮐ":"ɢ","ᏻ":"ɢ",h:"h",ℎ:"h","𝐡":"h","𝒉":"h","𝒽":"h","𝓱":"h","𝔥":"h","𝕙":"h","𝖍":"h","𝗁":"h","𝗵":"h","𝘩":"h","𝙝":"h","𝚑":"h",һ:"h",հ:"h",Ꮒ:"h",H:"H",ℋ:"H",ℌ:"H",ℍ:"H","𝐇":"H","𝐻":"H","𝑯":"H","𝓗":"H","𝕳":"H","𝖧":"H","𝗛":"H","𝘏":"H","𝙃":"H","𝙷":"H",Η:"H","𝚮":"H","𝛨":"H","𝜢":"H","𝝜":"H","𝞖":"H","Ⲏ":"H",Н:"H",Ꮋ:"H",ᕼ:"H","ꓧ":"H","𐋏":"H","ᵸ":"ᴴ",ɦ:"h̔","ꚕ":"h̔",Ᏺ:"h̔","Ⱨ":"H̩",Ң:"H̩",ħ:"h̵",ℏ:"h̵",ћ:"h̵",Ħ:"H̵","Ӊ":"H̦",Ӈ:"H̦",н:"ʜ","ꮋ":"ʜ",ң:"ʜ̩","ӊ":"ʜ̦",ӈ:"ʜ̦","Ԋ":"Ƕ","ꮀ":"ⱶ","Ͱ":"Ⱶ",Ꭸ:"Ⱶ",Ꮀ:"Ⱶ","ꚱ":"Ⱶ","ꞕ":"ꜧ","˛":"i","⍳":"i",i:"i","ⅰ":"i",ℹ:"i","ⅈ":"i","𝐢":"i","𝑖":"i","𝒊":"i","𝒾":"i","𝓲":"i","𝔦":"i","𝕚":"i","𝖎":"i","𝗂":"i","𝗶":"i","𝘪":"i","𝙞":"i","𝚒":"i",ı:"i","𝚤":"i",ɪ:"i",ɩ:"i",ι:"i",ι:"i",ͺ:"i","𝛊":"i","𝜄":"i","𝜾":"i","𝝸":"i","𝞲":"i",і:"i","ꙇ":"i","ӏ":"i","ꭵ":"i",Ꭵ:"i","𑣃":"i","ⓛ":"Ⓘ","⍸":"i̲",ǐ:"ĭ",Ǐ:"Ĭ",ɨ:"i̵","ᵻ":"i̵","ᵼ":"i̵","ⅱ":"ii","ⅲ":"iii",ij:"ij","ⅳ":"iv","ⅸ":"ix",j:"j","ⅉ":"j","𝐣":"j","𝑗":"j","𝒋":"j","𝒿":"j","𝓳":"j","𝔧":"j","𝕛":"j","𝖏":"j","𝗃":"j","𝗷":"j","𝘫":"j","𝙟":"j","𝚓":"j",ϳ:"j",ј:"j",J:"J","𝐉":"J","𝐽":"J","𝑱":"J","𝒥":"J","𝓙":"J","𝔍":"J","𝕁":"J","𝕵":"J","𝖩":"J","𝗝":"J","𝘑":"J","𝙅":"J","𝙹":"J","Ʝ":"J","Ϳ":"J",Ј:"J",Ꭻ:"J",ᒍ:"J","ꓙ":"J","ɉ":"j̵","Ɉ":"J̵",ᒙ:"J·","𝚥":"ȷ",յ:"ȷ","ꭻ":"ᴊ","𝐤":"k","𝑘":"k","𝒌":"k","𝓀":"k","𝓴":"k","𝔨":"k","𝕜":"k","𝖐":"k","𝗄":"k","𝗸":"k","𝘬":"k","𝙠":"k","𝚔":"k",K:"K",K:"K","𝐊":"K","𝐾":"K","𝑲":"K","𝒦":"K","𝓚":"K","𝔎":"K","𝕂":"K","𝕶":"K","𝖪":"K","𝗞":"K","𝘒":"K","𝙆":"K","𝙺":"K",Κ:"K","𝚱":"K","𝛫":"K","𝜥":"K","𝝟":"K","𝞙":"K","Ⲕ":"K",К:"K",Ꮶ:"K",ᛕ:"K","ꓗ":"K","𐔘":"K",ƙ:"k̔","Ⱪ":"K̩",Қ:"K̩","₭":"K̵","Ꝁ":"K̵",Ҟ:"K̵",Ƙ:"K'","׀":"l","|":"l","∣":"l","⏽":"l","│":"l","١":"l","۱":"l","𐌠":"l","𞣇":"l","𝟏":"l","𝟙":"l","𝟣":"l","𝟭":"l","𝟷":"l","🯱":"l",I:ex,I:"l","Ⅰ":"l",ℐ:"l",ℑ:"l","𝐈":"l","𝐼":"l","𝑰":"l","𝓘":"l","𝕀":"l","𝕴":"l","𝖨":"l","𝗜":"l","𝘐":"l","𝙄":"l","𝙸":"l",Ɩ:"l",l:"l","ⅼ":"l",ℓ:"l","𝐥":"l","𝑙":"l","𝒍":"l","𝓁":"l","𝓵":"l","𝔩":"l","𝕝":"l","𝖑":"l","𝗅":"l","𝗹":"l","𝘭":"l","𝙡":"l","𝚕":"l",ǀ:"l",Ι:"l","𝚰":"l","𝛪":"l","𝜤":"l","𝝞":"l","𝞘":"l","Ⲓ":"l",І:"l",Ӏ:"l",ו:"l",ן:"l",ا:"l","𞸀":"l","𞺀":"l",ﺎ:"l",ﺍ:"l","ߊ":"l","ⵏ":"l",ᛁ:"l","ꓲ":"l","𖼨":"l","𐊊":"l","𐌉":"l","𝈪":"L","Ⅼ":"L",ℒ:"L","𝐋":"L","𝐿":"L","𝑳":"L","𝓛":"L","𝔏":"L","𝕃":"L","𝕷":"L","𝖫":"L","𝗟":"L","𝘓":"L","𝙇":"L","𝙻":"L","Ⳑ":"L",Ꮮ:"L",ᒪ:"L","ꓡ":"L","𖼖":"L","𑢣":"L","𑢲":"L","𐐛":"L","𐔦":"L",ﴼ:"l̋",ﴽ:"l̋",ł:"l̸",Ł:"L̸",ɭ:"l̨",Ɨ:"l̵",ƚ:"l̵",ɫ:"l̴",إ:"lٕ",ﺈ:"lٕ",ﺇ:"lٕ",ٳ:"lٕ",ŀ:"l·",Ŀ:"l·",ᒷ:"l·","🄂":"l,","⒈":"l.",ױ:"l'","⒓":"l2.","㏫":"l2日","㋋":"l2月","㍤":"l2点","⒔":"l3.","㏬":"l3日","㍥":"l3点","⒕":"l4.","㏭":"l4日","㍦":"l4点","⒖":"l5.","㏮":"l5日","㍧":"l5点","⒗":"l6.","㏯":"l6日","㍨":"l6点","⒘":"l7.","㏰":"l7日","㍩":"l7点","⒙":"l8.","㏱":"l8日","㍪":"l8点","⒚":"l9.","㏲":"l9日","㍫":"l9点",lj:"lj",IJ:"lJ",Lj:"Lj",LJ:"LJ","‖":"ll","∥":"ll","Ⅱ":"ll",ǁ:"ll",װ:"ll","𐆙":"l̵l̵","⒒":"ll.","Ⅲ":"lll","𐆘":"l̵l̵S̵","㏪":"ll日","㋊":"ll月","㍣":"ll点",Ю:"lO","⒑":"lO.","㏩":"lO日","㋉":"lO月","㍢":"lO点",ʪ:"ls","₶":"lt","Ⅳ":"lV","Ⅸ":"lX",ɮ:"lȝ",ʫ:"lz",أ:"lٴ",ﺄ:"lٴ",ﺃ:"lٴ",ٲ:"lٴ",ٵ:"lٴ",ﷳ:"lكبر",ﷲ:"lللّٰo","㏠":"l日","㋀":"l月","㍙":"l点","ⳑ":"ʟ","ꮮ":"ʟ","𐑃":"ʟ",M:"M","Ⅿ":"M",ℳ:"M","𝐌":"M","𝑀":"M","𝑴":"M","𝓜":"M","𝔐":"M","𝕄":"M","𝕸":"M","𝖬":"M","𝗠":"M","𝘔":"M","𝙈":"M","𝙼":"M",Μ:"M","𝚳":"M","𝛭":"M","𝜧":"M","𝝡":"M","𝞛":"M","Ϻ":"M","Ⲙ":"M",М:"M",Ꮇ:"M",ᗰ:"M",ᛖ:"M","ꓟ":"M","𐊰":"M","𐌑":"M","Ӎ":"M̦","🝫":"MB","ⷨ":"ᷟ","𝐧":"n","𝑛":"n","𝒏":"n","𝓃":"n","𝓷":"n","𝔫":"n","𝕟":"n","𝖓":"n","𝗇":"n","𝗻":"n","𝘯":"n","𝙣":"n","𝚗":"n",ո:"n",ռ:"n",N:"N",ℕ:"N","𝐍":"N","𝑁":"N","𝑵":"N","𝒩":"N","𝓝":"N","𝔑":"N","𝕹":"N","𝖭":"N","𝗡":"N","𝘕":"N","𝙉":"N","𝙽":"N",Ν:"N","𝚴":"N","𝛮":"N","𝜨":"N","𝝢":"N","𝞜":"N","Ⲛ":"N","ꓠ":"N","𐔓":"N","𐆎":"N̊",ɳ:"n̨",ƞ:"n̩",η:"n̩","𝛈":"n̩","𝜂":"n̩","𝜼":"n̩","𝝶":"n̩","𝞰":"n̩",Ɲ:"N̦","ᵰ":"n̴",nj:"nj",Nj:"Nj",NJ:"NJ","№":"No","ͷ":"ᴎ",и:"ᴎ","𐑍":"ᴎ",ņ:"ɲ","ం":"o","ಂ":"o","ം":"o","ං":"o","०":"o","੦":"o","૦":"o","௦":"o","౦":"o","೦":"o","൦":"o","๐":"o","໐":"o","၀":"o","٥":"o","۵":"o",o:"o",ℴ:"o","𝐨":"o","𝑜":"o","𝒐":"o","𝓸":"o","𝔬":"o","𝕠":"o","𝖔":"o","𝗈":"o","𝗼":"o","𝘰":"o","𝙤":"o","𝚘":"o","ᴏ":"o","ᴑ":"o","ꬽ":"o",ο:"o","𝛐":"o","𝜊":"o","𝝄":"o","𝝾":"o","𝞸":"o",σ:"o","𝛔":"o","𝜎":"o","𝝈":"o","𝞂":"o","𝞼":"o","ⲟ":"o",о:"o","ჿ":"o",օ:"o",ס:"o",ه:"o","𞸤":"o","𞹤":"o","𞺄":"o",ﻫ:"o",ﻬ:"o",ﻪ:"o",ﻩ:"o",ھ:"o",ﮬ:"o",ﮭ:"o",ﮫ:"o",ﮪ:"o",ہ:"o",ﮨ:"o",ﮩ:"o",ﮧ:"o",ﮦ:"o",ە:"o",ഠ:"o",ဝ:"o","𐓪":"o","𑣈":"o","𑣗":"o","𐐬":"o","߀":"O","০":"O","୦":"O","〇":"O","𑓐":"O","𑣠":"O","𝟎":"O","𝟘":"O","𝟢":"O","𝟬":"O","𝟶":"O","🯰":"O",O:"O","𝐎":"O","𝑂":"O","𝑶":"O","𝒪":"O","𝓞":"O","𝔒":"O","𝕆":"O","𝕺":"O","𝖮":"O","𝗢":"O","𝘖":"O","𝙊":"O","𝙾":"O",Ο:"O","𝚶":"O","𝛰":"O","𝜪":"O","𝝤":"O","𝞞":"O","Ⲟ":"O",О:"O",Օ:"O","ⵔ":"O",ዐ:"O",ଠ:"O","𐓂":"O","ꓳ":"O","𑢵":"O","𐊒":"O","𐊫":"O","𐐄":"O","𐔖":"O","⁰":"º","ᵒ":"º",ǒ:"ŏ",Ǒ:"Ŏ","ۿ":"ô",Ő:"Ö",ø:"o̸","ꬾ":"o̸",Ø:"O̸","ⵁ":"O̸",Ǿ:"Ó̸",ɵ:"o̵","ꝋ":"o̵",ө:"o̵",ѳ:"o̵","ꮎ":"o̵","ꮻ":"o̵","⊖":"O̵","⊝":"O̵","⍬":"O̵","𝈚":"O̵","🜔":"O̵",Ɵ:"O̵","Ꝋ":"O̵",θ:"O̵",ϑ:"O̵","𝛉":"O̵","𝛝":"O̵","𝜃":"O̵","𝜗":"O̵","𝜽":"O̵","𝝑":"O̵","𝝷":"O̵","𝞋":"O̵","𝞱":"O̵","𝟅":"O̵",Θ:"O̵","ϴ":"O̵","𝚯":"O̵","𝚹":"O̵","𝛩":"O̵","𝛳":"O̵","𝜣":"O̵","𝜭":"O̵","𝝝":"O̵","𝝧":"O̵","𝞗":"O̵","𝞡":"O̵",Ө:"O̵",Ѳ:"O̵","ⴱ":"O̵",Ꮎ:"O̵",Ꮻ:"O̵","ꭴ":"ơ",ﳙ:"oٰ","🄁":"O,","🄀":"O.",ơ:"o'",Ơ:"O'",Ꭴ:"O'","%":"º/₀","٪":"º/₀","⁒":"º/₀","‰":"º/₀₀","؉":"º/₀₀","‱":"º/₀₀₀","؊":"º/₀₀₀",œ:"oe",Œ:"OE",ɶ:"oᴇ","∞":"oo","ꝏ":"oo","ꚙ":"oo","Ꝏ":"OO","Ꚙ":"OO",ﳗ:"oج",ﱑ:"oج",ﳘ:"oم",ﱒ:"oم",ﶓ:"oمج",ﶔ:"oمم",ﱓ:"oى",ﱔ:"oى","ൟ":"oരo",တ:"oာ","㍘":"O点","ↄ":"ɔ","ᴐ":"ɔ","ͻ":"ɔ","𐑋":"ɔ","Ↄ":"Ɔ","Ͻ":"Ɔ","ꓛ":"Ɔ","𐐣":"Ɔ","ꬿ":"ɔ̸","ꭢ":"ɔe","𐐿":"ɷ","⍴":"p",p:"p","𝐩":"p","𝑝":"p","𝒑":"p","𝓅":"p","𝓹":"p","𝔭":"p","𝕡":"p","𝖕":"p","𝗉":"p","𝗽":"p","𝘱":"p","𝙥":"p","𝚙":"p",ρ:"p",ϱ:"p","𝛒":"p","𝛠":"p","𝜌":"p","𝜚":"p","𝝆":"p","𝝔":"p","𝞀":"p","𝞎":"p","𝞺":"p","𝟈":"p","ⲣ":"p",р:"p",P:"P",ℙ:"P","𝐏":"P","𝑃":"P","𝑷":"P","𝒫":"P","𝓟":"P","𝔓":"P","𝕻":"P","𝖯":"P","𝗣":"P","𝘗":"P","𝙋":"P","𝙿":"P",Ρ:"P","𝚸":"P","𝛲":"P","𝜬":"P","𝝦":"P","𝞠":"P","Ⲣ":"P",Р:"P",Ꮲ:"P",ᑭ:"P","ꓑ":"P","𐊕":"P",ƥ:"p̔","ᵽ":"p̵",ᑷ:"p·",ᒆ:"P'","ᴩ":"ᴘ","ꮲ":"ᴘ",φ:"ɸ",ϕ:"ɸ","𝛗":"ɸ","𝛟":"ɸ","𝜑":"ɸ","𝜙":"ɸ","𝝋":"ɸ","𝝓":"ɸ","𝞅":"ɸ","𝞍":"ɸ","𝞿":"ɸ","𝟇":"ɸ","ⲫ":"ɸ",ф:"ɸ","𝐪":"q","𝑞":"q","𝒒":"q","𝓆":"q","𝓺":"q","𝔮":"q","𝕢":"q","𝖖":"q","𝗊":"q","𝗾":"q","𝘲":"q","𝙦":"q","𝚚":"q","ԛ":"q",գ:"q",զ:"q",ℚ:"Q","𝐐":"Q","𝑄":"Q","𝑸":"Q","𝒬":"Q","𝓠":"Q","𝔔":"Q","𝕼":"Q","𝖰":"Q","𝗤":"Q","𝘘":"Q","𝙌":"Q","𝚀":"Q","ⵕ":"Q",ʠ:"q̔","🜀":"QE","ᶐ":"ɋ","ᴋ":"ĸ",κ:"ĸ",ϰ:"ĸ","𝛋":"ĸ","𝛞":"ĸ","𝜅":"ĸ","𝜘":"ĸ","𝜿":"ĸ","𝝒":"ĸ","𝝹":"ĸ","𝞌":"ĸ","𝞳":"ĸ","𝟆":"ĸ","ⲕ":"ĸ",к:"ĸ","ꮶ":"ĸ",қ:"ĸ̩",ҟ:"ĸ̵","𝐫":"r","𝑟":"r","𝒓":"r","𝓇":"r","𝓻":"r","𝔯":"r","𝕣":"r","𝖗":"r","𝗋":"r","𝗿":"r","𝘳":"r","𝙧":"r","𝚛":"r","ꭇ":"r","ꭈ":"r","ᴦ":"r","ⲅ":"r",г:"r","ꮁ":"r","𝈖":"R",ℛ:"R",ℜ:"R",ℝ:"R","𝐑":"R","𝑅":"R","𝑹":"R","𝓡":"R","𝕽":"R","𝖱":"R","𝗥":"R","𝘙":"R","𝙍":"R","𝚁":"R",Ʀ:"R",Ꭱ:"R",Ꮢ:"R","𐒴":"R",ᖇ:"R","ꓣ":"R","𖼵":"R",ɽ:"r̨",ɼ:"r̩","ɍ":"r̵",ғ:"r̵","ᵲ":"r̴",ґ:"r'","𑣣":"rn",m:tx,"ⅿ":"rn","𝐦":"rn","𝑚":"rn","𝒎":"rn","𝓂":"rn","𝓶":"rn","𝔪":"rn","𝕞":"rn","𝖒":"rn","𝗆":"rn","𝗺":"rn","𝘮":"rn","𝙢":"rn","𝚖":"rn","𑜀":"rn","₥":"rn̸",ɱ:"rn̦","ᵯ":"rn̴","₨":"Rs","ꭱ":"ʀ","ꮢ":"ʀ",я:"ᴙ","ᵳ":"ɾ̴","℩":"ɿ",s:"s","𝐬":"s","𝑠":"s","𝒔":"s","𝓈":"s","𝓼":"s","𝔰":"s","𝕤":"s","𝖘":"s","𝗌":"s","𝘀":"s","𝘴":"s","𝙨":"s","𝚜":"s","ꜱ":"s",ƽ:"s",ѕ:"s","ꮪ":"s","𑣁":"s","𐑈":"s",S:"S","𝐒":"S","𝑆":"S","𝑺":"S","𝒮":"S","𝓢":"S","𝔖":"S","𝕊":"S","𝕾":"S","𝖲":"S","𝗦":"S","𝘚":"S","𝙎":"S","𝚂":"S",Ѕ:"S",Տ:"S",Ꮥ:"S",Ꮪ:"S","ꓢ":"S","𖼺":"S","𐊖":"S","𐐠":"S",ʂ:"s̨","ᵴ":"s̴","ꞵ":"ß",β:"ß",ϐ:"ß","𝛃":"ß","𝛽":"ß","𝜷":"ß","𝝱":"ß","𝞫":"ß",Ᏸ:"ß","🝜":"sss",st:"st","∫":"ʃ","ꭍ":"ʃ","∑":"Ʃ","⅀":"Ʃ",Σ:"Ʃ","𝚺":"Ʃ","𝛴":"Ʃ","𝜮":"Ʃ","𝝨":"Ʃ","𝞢":"Ʃ","ⵉ":"Ʃ","∬":"ʃʃ","∭":"ʃʃʃ","⨌":"ʃʃʃʃ","𝐭":"t","𝑡":"t","𝒕":"t","𝓉":"t","𝓽":"t","𝔱":"t","𝕥":"t","𝖙":"t","𝗍":"t","𝘁":"t","𝘵":"t","𝙩":"t","𝚝":"t","⊤":"T","⟙":"T","🝨":"T",T:"T","𝐓":"T","𝑇":"T","𝑻":"T","𝒯":"T","𝓣":"T","𝔗":"T","𝕋":"T","𝕿":"T","𝖳":"T","𝗧":"T","𝘛":"T","𝙏":"T","𝚃":"T",Τ:"T","𝚻":"T","𝛵":"T","𝜯":"T","𝝩":"T","𝞣":"T","Ⲧ":"T",Т:"T",Ꭲ:"T","ꓔ":"T","𖼊":"T","𑢼":"T","𐊗":"T","𐊱":"T","𐌕":"T",ƭ:"t̔","⍡":"T̈","Ⱦ":"T̸",Ț:"Ţ",Ʈ:"T̨",Ҭ:"T̩","₮":"T⃫",ŧ:"t̵",Ŧ:"T̵","ᵵ":"t̴",Ⴀ:"Ꞇ","Ꜩ":"T3",ʨ:"tɕ","℡":"TEL","ꝷ":"tf",ʦ:"ts",ʧ:"tʃ","ꜩ":"tȝ",τ:"ᴛ","𝛕":"ᴛ","𝜏":"ᴛ","𝝉":"ᴛ","𝞃":"ᴛ","𝞽":"ᴛ",т:"ᴛ","ꭲ":"ᴛ",ҭ:"ᴛ̩",ţ:"ƫ",ț:"ƫ",Ꮏ:"ƫ","𝐮":"u","𝑢":"u","𝒖":"u","𝓊":"u","𝓾":"u","𝔲":"u","𝕦":"u","𝖚":"u","𝗎":"u","𝘂":"u","𝘶":"u","𝙪":"u","𝚞":"u","ꞟ":"u","ᴜ":"u","ꭎ":"u","ꭒ":"u",ʋ:"u",υ:"u","𝛖":"u","𝜐":"u","𝝊":"u","𝞄":"u","𝞾":"u",ս:"u","𐓶":"u","𑣘":"u","∪":"U","⋃":"U","𝐔":"U","𝑈":"U","𝑼":"U","𝒰":"U","𝓤":"U","𝔘":"U","𝕌":"U","𝖀":"U","𝖴":"U","𝗨":"U","𝘜":"U","𝙐":"U","𝚄":"U",Ս:"U",ሀ:"U","𐓎":"U",ᑌ:"U","ꓴ":"U","𖽂":"U","𑢸":"U",ǔ:"ŭ",Ǔ:"Ŭ","ᵾ":"u̵","ꮜ":"u̵","Ʉ":"U̵",Ꮜ:"U̵",ᑘ:"U·",ᑧ:"U'","ᵫ":"ue","ꭣ":"uo",ṃ:"ꭑ",պ:"ɰ",ሣ:"ɰ","℧":"Ʊ",ᘮ:"Ʊ",ᘴ:"Ʊ","ᵿ":"ʊ̵","∨":"v","⋁":"v",v:"v","ⅴ":"v","𝐯":"v","𝑣":"v","𝒗":"v","𝓋":"v","𝓿":"v","𝔳":"v","𝕧":"v","𝖛":"v","𝗏":"v","𝘃":"v","𝘷":"v","𝙫":"v","𝚟":"v","ᴠ":"v",ν:"v","𝛎":"v","𝜈":"v","𝝂":"v","𝝼":"v","𝞶":"v",ѵ:"v",ט:"v","𑜆":"v","ꮩ":"v","𑣀":"v","𝈍":"V","٧":"V","۷":"V","Ⅴ":"V","𝐕":"V","𝑉":"V","𝑽":"V","𝒱":"V","𝓥":"V","𝔙":"V","𝕍":"V","𝖁":"V","𝖵":"V","𝗩":"V","𝘝":"V","𝙑":"V","𝚅":"V",Ѵ:"V","ⴸ":"V",Ꮩ:"V",ᐯ:"V","ꛟ":"V","ꓦ":"V","𖼈":"V","𑢠":"V","𐔝":"V","𐆗":"V̵",ᐻ:"V·","🝬":"VB","ⅵ":"vi","ⅶ":"vii","ⅷ":"viii","Ⅵ":"Vl","Ⅶ":"Vll","Ⅷ":"Vlll","🜈":"Vᷤ","ᴧ":"ʌ","𐓘":"ʌ","٨":"Ʌ","۸":"Ʌ",Λ:"Ʌ","𝚲":"Ʌ","𝛬":"Ʌ","𝜦":"Ʌ","𝝠":"Ʌ","𝞚":"Ʌ",Л:"Ʌ","ⴷ":"Ʌ","𐒰":"Ʌ",ᐱ:"Ʌ","ꛎ":"Ʌ","ꓥ":"Ʌ","𖼽":"Ʌ","𐊍":"Ʌ","Ӆ":"Ʌ̦",ᐽ:"Ʌ·",ɯ:"w","𝐰":"w","𝑤":"w","𝒘":"w","𝓌":"w","𝔀":"w","𝔴":"w","𝕨":"w","𝖜":"w","𝗐":"w","𝘄":"w","𝘸":"w","𝙬":"w","𝚠":"w","ᴡ":"w",ѡ:"w","ԝ":"w",ա:"w","𑜊":"w","𑜎":"w","𑜏":"w","ꮃ":"w","𑣯":"W","𑣦":"W","𝐖":"W","𝑊":"W","𝑾":"W","𝒲":"W","𝓦":"W","𝔚":"W","𝕎":"W","𝖂":"W","𝖶":"W","𝗪":"W","𝘞":"W","𝙒":"W","𝚆":"W","Ԝ":"W",Ꮃ:"W",Ꮤ:"W","ꓪ":"W",ѽ:"w҆҇","𑓅":"ẇ","₩":"W̵","ꝡ":"w̦","ᴍ":"ʍ",м:"ʍ","ꮇ":"ʍ","ӎ":"ʍ̦","᙮":"x","×":"x","⤫":"x","⤬":"x","⨯":"x",x:"x","ⅹ":"x","𝐱":"x","𝑥":"x","𝒙":"x","𝓍":"x","𝔁":"x","𝔵":"x","𝕩":"x","𝖝":"x","𝗑":"x","𝘅":"x","𝘹":"x","𝙭":"x","𝚡":"x",х:"x",ᕁ:"x",ᕽ:"x","ⷯ":"ͯ","᙭":"X","╳":"X","𐌢":"X","𑣬":"X",X:"X","Ⅹ":"X","𝐗":"X","𝑋":"X","𝑿":"X","𝒳":"X","𝓧":"X","𝔛":"X","𝕏":"X","𝖃":"X","𝖷":"X","𝗫":"X","𝘟":"X","𝙓":"X","𝚇":"X","Ꭓ":"X",Χ:"X","𝚾":"X","𝛸":"X","𝜲":"X","𝝬":"X","𝞦":"X","Ⲭ":"X",Х:"X","ⵝ":"X",ᚷ:"X","ꓫ":"X","𐊐":"X","𐊴":"X","𐌗":"X","𐔧":"X","⨰":"ẋ",Ҳ:"X̩","𐆖":"X̵","ⅺ":"xi","ⅻ":"xii","Ⅺ":"Xl","Ⅻ":"Xll",ɣ:"y","ᶌ":"y",y:"y","𝐲":"y","𝑦":"y","𝒚":"y","𝓎":"y","𝔂":"y","𝔶":"y","𝕪":"y","𝖞":"y","𝗒":"y","𝘆":"y","𝘺":"y","𝙮":"y","𝚢":"y",ʏ:"y","ỿ":"y","ꭚ":"y",γ:"y","ℽ":"y","𝛄":"y","𝛾":"y","𝜸":"y","𝝲":"y","𝞬":"y",у:"y",ү:"y",ყ:"y","𑣜":"y",Y:"Y","𝐘":"Y","𝑌":"Y","𝒀":"Y","𝒴":"Y","𝓨":"Y","𝔜":"Y","𝕐":"Y","𝖄":"Y","𝖸":"Y","𝗬":"Y","𝘠":"Y","𝙔":"Y","𝚈":"Y",Υ:"Y",ϒ:"Y","𝚼":"Y","𝛶":"Y","𝜰":"Y","𝝪":"Y","𝞤":"Y","Ⲩ":"Y",У:"Y",Ү:"Y",Ꭹ:"Y",Ꮍ:"Y","ꓬ":"Y","𖽃":"Y","𑢤":"Y","𐊲":"Y",ƴ:"y̔","ɏ":"y̵",ұ:"y̵","¥":"Y̵","Ɏ":"Y̵",Ұ:"Y̵",ʒ:"ȝ","ꝫ":"ȝ","ⳍ":"ȝ",ӡ:"ȝ",ჳ:"ȝ","𝐳":"z","𝑧":"z","𝒛":"z","𝓏":"z","𝔃":"z","𝔷":"z","𝕫":"z","𝖟":"z","𝗓":"z","𝘇":"z","𝘻":"z","𝙯":"z","𝚣":"z","ᴢ":"z","ꮓ":"z","𑣄":"z","𐋵":"Z","𑣥":"Z",Z:"Z",ℤ:"Z",ℨ:"Z","𝐙":"Z","𝑍":"Z","𝒁":"Z","𝒵":"Z","𝓩":"Z","𝖅":"Z","𝖹":"Z","𝗭":"Z","𝘡":"Z","𝙕":"Z","𝚉":"Z",Ζ:"Z","𝚭":"Z","𝛧":"Z","𝜡":"Z","𝝛":"Z","𝞕":"Z",Ꮓ:"Z","ꓜ":"Z","𑢩":"Z",ʐ:"z̨",ƶ:"z̵",Ƶ:"Z̵",ȥ:"z̦",Ȥ:"Z̦","ᵶ":"z̴",ƿ:"þ","ϸ":"þ","Ϸ":"Þ","𐓄":"Þ","⁹":"ꝰ","ᴤ":"ƨ",ϩ:"ƨ","ꙅ":"ƨ",ь:"ƅ","ꮟ":"ƅ",ы:"ƅi","ꭾ":"ɂ",ˤ:"ˁ","ꛍ":"ʡ","⊙":"ʘ","☉":"ʘ","⨀":"ʘ","Ꙩ":"ʘ","ⵙ":"ʘ","𐓃":"ʘ","ℾ":"Γ","𝚪":"Γ","𝛤":"Γ","𝜞":"Γ","𝝘":"Γ","𝞒":"Γ","Ⲅ":"Γ",Г:"Γ",Ꮁ:"Γ",ᒥ:"Γ","𖼇":"Γ",Ғ:"Γ̵",ᒯ:"Γ·",Ґ:"Γ'","∆":"Δ","△":"Δ","🜂":"Δ","𝚫":"Δ","𝛥":"Δ","𝜟":"Δ","𝝙":"Δ","𝞓":"Δ","Ⲇ":"Δ","ⵠ":"Δ",ᐃ:"Δ","𖼚":"Δ","𐊅":"Δ","𐊣":"Δ","⍙":"Δ̲",ᐏ:"Δ·",ᐬ:"Δᐠ","𝟋":"ϝ","𝛇":"ζ","𝜁":"ζ","𝜻":"ζ","𝝵":"ζ","𝞯":"ζ","ⳤ":"ϗ","𝛌":"λ","𝜆":"λ","𝝀":"λ","𝝺":"λ","𝞴":"λ","Ⲗ":"λ","𐓛":"λ",µ:"μ","𝛍":"μ","𝜇":"μ","𝝁":"μ","𝝻":"μ","𝞵":"μ","𝛏":"ξ","𝜉":"ξ","𝝃":"ξ","𝝽":"ξ","𝞷":"ξ","𝚵":"Ξ","𝛯":"Ξ","𝜩":"Ξ","𝝣":"Ξ","𝞝":"Ξ",ϖ:"π","ℼ":"π","𝛑":"π","𝛡":"π","𝜋":"π","𝜛":"π","𝝅":"π","𝝕":"π","𝝿":"π","𝞏":"π","𝞹":"π","𝟉":"π","ᴨ":"π",п:"π","∏":"Π","ℿ":"Π","𝚷":"Π","𝛱":"Π","𝜫":"Π","𝝥":"Π","𝞟":"Π","Ⲡ":"Π",П:"Π","ꛛ":"Π","𐊭":"Ϙ","𐌒":"Ϙ",ϛ:"ς","𝛓":"ς","𝜍":"ς","𝝇":"ς","𝞁":"ς","𝞻":"ς","𝚽":"Φ","𝛷":"Φ","𝜱":"Φ","𝝫":"Φ","𝞥":"Φ","Ⲫ":"Φ",Ф:"Φ",Փ:"Φ",ቀ:"Φ","ᛰ":"Φ","𐊳":"Φ","ꭓ":"χ","ꭕ":"χ","𝛘":"χ","𝜒":"χ","𝝌":"χ","𝞆":"χ","𝟀":"χ","ⲭ":"χ","𝛙":"ψ","𝜓":"ψ","𝝍":"ψ","𝞇":"ψ","𝟁":"ψ",ѱ:"ψ","𐓹":"ψ","𝚿":"Ψ","𝛹":"Ψ","𝜳":"Ψ","𝝭":"Ψ","𝞧":"Ψ","Ⲯ":"Ψ",Ѱ:"Ψ","𐓑":"Ψ",ᛘ:"Ψ","𐊵":"Ψ","⍵":"ω","ꞷ":"ω","𝛚":"ω","𝜔":"ω","𝝎":"ω","𝞈":"ω","𝟂":"ω","ⲱ":"ω","ꙍ":"ω",Ω:"Ω","𝛀":"Ω","𝛺":"Ω","𝜴":"Ω","𝝮":"Ω","𝞨":"Ω",ᘯ:"Ω",ᘵ:"Ω","𐊶":"Ω","⍹":"ω̲",ώ:"ῴ","☰":"Ⲷ","Ⳝ":"Ϭ",җ:"ж̩",Җ:"Ж̩","𝈋":"И","Ͷ":"И","ꚡ":"И","𐐥":"И",Й:"Ѝ","Ҋ":"Ѝ̦",ѝ:"й","ҋ":"й̦","𐒼":"Ӄ","ᴫ":"л","ӆ":"л̦","ꭠ":"љ","𐓫":"ꙩ","ᷮ":"ⷬ","𐓍":"Ћ","𝈂":"Ӿ","𝈢":"Ѡ",Ꮗ:"Ѡ",ᗯ:"Ѡ",Ѽ:"Ѡ҆҇","ᣭ":"Ѡ·","Ꞷ":"Ꙍ",ӌ:"ҷ",Ӌ:"Ҷ",Ҿ:"Ҽ̨","ⲽ":"ш","Ⲽ":"Ш","Ꙑ":"Ъl","℈":"Э","🜁":"Ꙙ","𖼜":"Ꙙ","ꦒ":"ⰿ",և:"եւ",ኔ:"ձ",ﬔ:"մե",ﬕ:"մի",ﬗ:"մխ",ﬓ:"մն","∩":"Ո","⋂":"Ո","𝉅":"Ո",በ:"Ո",ᑎ:"Ո","ꓵ":"Ո",ᑚ:"Ո·",ᑨ:"Ո'",ﬖ:"վն","₽":"Ք","˓":"ՙ",ʿ:"ՙ",ℵ:"א",ﬡ:"א",אָ:"אַ",אּ:"אַ",ﭏ:"אל",ℶ:"ב",ℷ:"ג",ℸ:"ד",ﬢ:"ד",ﬣ:"ה",יּ:"יִ",ﬤ:"כ",ﬥ:"ל",ﬦ:"ם",ﬠ:"ע",ﬧ:"ר",שׂ:"שׁ",שּ:"שׁ",שּׂ:"שּׁ",ﬨ:"ת",ﺀ:"ء","۽":"ء͈",ﺂ:"آ",ﺁ:"آ",ﭑ:"ٱ",ﭐ:"ٱ","𞸁":"ب","𞸡":"ب","𞹡":"ب","𞺁":"ب","𞺡":"ب",ﺑ:"ب",ﺒ:"ب",ﺐ:"ب",ﺏ:"ب","ݑ":"بۛ","ࢶ":"بۢ","ࢡ":"بٔ",ﲠ:"بo",ﳢ:"بo",ﲜ:"بج",ﰅ:"بج",ﲝ:"بح",ﰆ:"بح",ﷂ:"بحى",ﲞ:"بخ",ﰇ:"بخ",ﳒ:"بخ",ﱋ:"بخ",ﶞ:"بخى",ﱪ:"بر",ﱫ:"بز",ﲟ:"بم",ﳡ:"بم",ﱬ:"بم",ﰈ:"بم",ﱭ:"بن",ﱮ:"بى",ﰉ:"بى",ﱯ:"بى",ﰊ:"بى",ﭔ:"ٻ",ﭕ:"ٻ",ﭓ:"ٻ",ﭒ:"ٻ",ې:"ٻ",ﯦ:"ٻ",ﯧ:"ٻ",ﯥ:"ٻ",ﯤ:"ٻ",ﭜ:"ڀ",ﭝ:"ڀ",ﭛ:"ڀ",ﭚ:"ڀ","ࢩ":"ݔ","ݧ":"ݔ","⍥":"ة",ö:"ة",ﺔ:"ة",ﺓ:"ة",ۃ:"ة","𞸕":"ت","𞸵":"ت","𞹵":"ت","𞺕":"ت","𞺵":"ت",ﺗ:"ت",ﺘ:"ت",ﺖ:"ت",ﺕ:"ت",ﲥ:"تo",ﳤ:"تo",ﲡ:"تج",ﰋ:"تج",ﵐ:"تجم",ﶠ:"تجى",ﶟ:"تجى",ﲢ:"تح",ﰌ:"تح",ﵒ:"تحج",ﵑ:"تحج",ﵓ:"تحم",ﲣ:"تخ",ﰍ:"تخ",ﵔ:"تخم",ﶢ:"تخى",ﶡ:"تخى",ﱰ:"تر",ﱱ:"تز",ﲤ:"تم",ﳣ:"تم",ﱲ:"تم",ﰎ:"تم",ﵕ:"تمج",ﵖ:"تمح",ﵗ:"تمخ",ﶤ:"تمى",ﶣ:"تمى",ﱳ:"تن",ﱴ:"تى",ﰏ:"تى",ﱵ:"تى",ﰐ:"تى",ﭠ:"ٺ",ﭡ:"ٺ",ﭟ:"ٺ",ﭞ:"ٺ",ﭤ:"ٿ",ﭥ:"ٿ",ﭣ:"ٿ",ﭢ:"ٿ","𞸂":"ج","𞸢":"ج","𞹂":"ج","𞹢":"ج","𞺂":"ج","𞺢":"ج",ﺟ:"ج",ﺠ:"ج",ﺞ:"ج",ﺝ:"ج",ﲧ:"جح",ﰕ:"جح",ﶦ:"جحى",ﶾ:"جحى",ﷻ:"جل جلlلo",ﲨ:"جم",ﰖ:"جم",ﵙ:"جمح",ﵘ:"جمح",ﶧ:"جمى",ﶥ:"جمى",ﴝ:"جى",ﴁ:"جى",ﴞ:"جى",ﴂ:"جى",ﭸ:"ڃ",ﭹ:"ڃ",ﭷ:"ڃ",ﭶ:"ڃ",ﭴ:"ڄ",ﭵ:"ڄ",ﭳ:"ڄ",ﭲ:"ڄ",ﭼ:"چ",ﭽ:"چ",ﭻ:"چ",ﭺ:"چ",ﮀ:"ڇ",ﮁ:"ڇ",ﭿ:"ڇ",ﭾ:"ڇ","𞸇":"ح","𞸧":"ح","𞹇":"ح","𞹧":"ح","𞺇":"ح","𞺧":"ح",ﺣ:"ح",ﺤ:"ح",ﺢ:"ح",ﺡ:"ح",څ:"حۛ",ځ:"حٔ","ݲ":"حٔ",ﲩ:"حج",ﰗ:"حج",ﶿ:"حجى",ﲪ:"حم",ﰘ:"حم",ﵛ:"حمى",ﵚ:"حمى",ﴛ:"حى",ﳿ:"حى",ﴜ:"حى",ﴀ:"حى","𞸗":"خ","𞸷":"خ","𞹗":"خ","𞹷":"خ","𞺗":"خ","𞺷":"خ",ﺧ:"خ",ﺨ:"خ",ﺦ:"خ",ﺥ:"خ",ﲫ:"خج",ﰙ:"خج",ﰚ:"خح",ﲬ:"خم",ﰛ:"خم",ﴟ:"خى",ﴃ:"خى",ﴠ:"خى",ﴄ:"خى","𐋡":"د","𞸃":"د","𞺃":"د","𞺣":"د",ﺪ:"د",ﺩ:"د",ڈ:"دؕ",ﮉ:"دؕ",ﮈ:"دؕ",ڎ:"دۛ",ﮇ:"دۛ",ﮆ:"دۛ","ۮ":"د̂","ࢮ":"د̤̣","𞸘":"ذ","𞺘":"ذ","𞺸":"ذ",ﺬ:"ذ",ﺫ:"ذ",ﱛ:"ذٰ",ڋ:"ڊؕ",ﮅ:"ڌ",ﮄ:"ڌ",ﮃ:"ڍ",ﮂ:"ڍ","𞸓":"ر","𞺓":"ر","𞺳":"ر",ﺮ:"ر",ﺭ:"ر",ڑ:"رؕ",ﮍ:"رؕ",ﮌ:"رؕ",ژ:"رۛ",ﮋ:"رۛ",ﮊ:"رۛ",ڒ:"ر̆","ࢹ":"ر̆̇","ۯ":"ر̂","ݬ":"رٔ",ﱜ:"رٰ",ﷶ:"رسول","﷼":"رىlل","𞸆":"ز","𞺆":"ز","𞺦":"ز",ﺰ:"ز",ﺯ:"ز","ࢲ":"ز̂","ݱ":"ڗؕ","𞸎":"س","𞸮":"س","𞹎":"س","𞹮":"س","𞺎":"س","𞺮":"س",ﺳ:"س",ﺴ:"س",ﺲ:"س",ﺱ:"س",ش:"سۛ","𞸔":"سۛ","𞸴":"سۛ","𞹔":"سۛ","𞹴":"سۛ","𞺔":"سۛ","𞺴":"سۛ",ﺷ:"سۛ",ﺸ:"سۛ",ﺶ:"سۛ",ﺵ:"سۛ","ݾ":"س̂",ﴱ:"سo",ﳨ:"سo",ﴲ:"سۛo",ﳪ:"سۛo",ﲭ:"سج",ﴴ:"سج",ﰜ:"سج",ﴭ:"سۛج",ﴷ:"سۛج",ﴥ:"سۛج",ﴉ:"سۛج",ﵝ:"سجح",ﵞ:"سجى",ﵩ:"سۛجى",ﲮ:"سح",ﴵ:"سح",ﰝ:"سح",ﴮ:"سۛح",ﴸ:"سۛح",ﴦ:"سۛح",ﴊ:"سۛح",ﵜ:"سحج",ﵨ:"سۛحم",ﵧ:"سۛحم",ﶪ:"سۛحى",ﲯ:"سخ",ﴶ:"سخ",ﰞ:"سخ",ﴯ:"سۛخ",ﴹ:"سۛخ",ﴧ:"سۛخ",ﴋ:"سۛخ",ﶨ:"سخى",ﷆ:"سخى",ﴪ:"سر",ﴎ:"سر",ﴩ:"سۛر",ﴍ:"سۛر",ﲰ:"سم",ﳧ:"سم",ﰟ:"سم",ﴰ:"سۛم",ﳩ:"سۛم",ﴨ:"سۛم",ﴌ:"سۛم",ﵡ:"سمج",ﵠ:"سمح",ﵟ:"سمح",ﵫ:"سۛمخ",ﵪ:"سۛمخ",ﵣ:"سمم",ﵢ:"سمم",ﵭ:"سۛمم",ﵬ:"سۛمم",ﴗ:"سى",ﳻ:"سى",ﴘ:"سى",ﳼ:"سى",ﴙ:"سۛى",ﳽ:"سۛى",ﴚ:"سۛى",ﳾ:"سۛى","𐋲":"ص","𞸑":"ص","𞸱":"ص","𞹑":"ص","𞹱":"ص","𞺑":"ص","𞺱":"ص",ﺻ:"ص",ﺼ:"ص",ﺺ:"ص",ﺹ:"ص",ڞ:"صۛ","ࢯ":"ص̤̣",ﲱ:"صح",ﰠ:"صح",ﵥ:"صحح",ﵤ:"صحح",ﶩ:"صحى",ﲲ:"صخ",ﴫ:"صر",ﴏ:"صر",ﷵ:"صلعم",ﷹ:"صلى",ﷰ:"صلى",ﷺ:"صلى lللo علىo وسلم",ﲳ:"صم",ﰡ:"صم",ﷅ:"صمم",ﵦ:"صمم",ﴡ:"صى",ﴅ:"صى",ﴢ:"صى",ﴆ:"صى","𞸙":"ض","𞸹":"ض","𞹙":"ض","𞹹":"ض","𞺙":"ض","𞺹":"ض",ﺿ:"ض",ﻀ:"ض",ﺾ:"ض",ﺽ:"ض",ﲴ:"ضج",ﰢ:"ضج",ﲵ:"ضح",ﰣ:"ضح",ﵮ:"ضحى",ﶫ:"ضحى",ﲶ:"ضخ",ﰤ:"ضخ",ﵰ:"ضخم",ﵯ:"ضخم",ﴬ:"ضر",ﴐ:"ضر",ﲷ:"ضم",ﰥ:"ضم",ﴣ:"ضى",ﴇ:"ضى",ﴤ:"ضى",ﴈ:"ضى","𐋨":"ط","𞸈":"ط","𞹨":"ط","𞺈":"ط","𞺨":"ط",ﻃ:"ط",ﻄ:"ط",ﻂ:"ط",ﻁ:"ط",ڟ:"طۛ",ﲸ:"طح",ﰦ:"طح",ﴳ:"طم",ﴺ:"طم",ﰧ:"طم",ﵲ:"طمح",ﵱ:"طمح",ﵳ:"طمم",ﵴ:"طمى",ﴑ:"طى",ﳵ:"طى",ﴒ:"طى",ﳶ:"طى","𞸚":"ظ","𞹺":"ظ","𞺚":"ظ","𞺺":"ظ",ﻇ:"ظ",ﻈ:"ظ",ﻆ:"ظ",ﻅ:"ظ",ﲹ:"ظم",ﴻ:"ظم",ﰨ:"ظم","؏":"ع","𞸏":"ع","𞸯":"ع","𞹏":"ع","𞹯":"ع","𞺏":"ع","𞺯":"ع",ﻋ:"ع",ﻌ:"ع",ﻊ:"ع",ﻉ:"ع",ﲺ:"عج",ﰩ:"عج",ﷄ:"عجم",ﵵ:"عجم",ﷷ:"علىo",ﲻ:"عم",ﰪ:"عم",ﵷ:"عمم",ﵶ:"عمم",ﵸ:"عمى",ﶶ:"عمى",ﴓ:"عى",ﳷ:"عى",ﴔ:"عى",ﳸ:"عى","𞸛":"غ","𞸻":"غ","𞹛":"غ","𞹻":"غ","𞺛":"غ","𞺻":"غ",ﻏ:"غ",ﻐ:"غ",ﻎ:"غ",ﻍ:"غ",ﲼ:"غج",ﰫ:"غج",ﲽ:"غم",ﰬ:"غم",ﵹ:"غمم",ﵻ:"غمى",ﵺ:"غمى",ﴕ:"غى",ﳹ:"غى",ﴖ:"غى",ﳺ:"غى","𞸐":"ف","𞸰":"ف","𞹰":"ف","𞺐":"ف","𞺰":"ف",ﻓ:"ف",ﻔ:"ف",ﻒ:"ف",ﻑ:"ف",ڧ:"ف",ﲾ:"فج",ﰭ:"فج",ﲿ:"فح",ﰮ:"فح",ﳀ:"فخ",ﰯ:"فخ",ﵽ:"فخم",ﵼ:"فخم",ﳁ:"فم",ﰰ:"فم",ﷁ:"فمى",ﱼ:"فى",ﰱ:"فى",ﱽ:"فى",ﰲ:"فى","𞸞":"ڡ","𞹾":"ڡ","ࢻ":"ڡ","ٯ":"ڡ","𞸟":"ڡ","𞹟":"ڡ","ࢼ":"ڡ",ڤ:"ڡۛ",ﭬ:"ڡۛ",ﭭ:"ڡۛ",ﭫ:"ڡۛ",ﭪ:"ڡۛ",ڨ:"ڡۛ","ࢤ":"ڢۛ",ﭰ:"ڦ",ﭱ:"ڦ",ﭯ:"ڦ",ﭮ:"ڦ","𞸒":"ق","𞸲":"ق","𞹒":"ق","𞹲":"ق","𞺒":"ق","𞺲":"ق",ﻗ:"ق",ﻘ:"ق",ﻖ:"ق",ﻕ:"ق",ﳂ:"قح",ﰳ:"قح",ﷱ:"قلى",ﳃ:"قم",ﰴ:"قم",ﶴ:"قمح",ﵾ:"قمح",ﵿ:"قمم",ﶲ:"قمى",ﱾ:"قى",ﰵ:"قى",ﱿ:"قى",ﰶ:"قى","𞸊":"ك","𞸪":"ك","𞹪":"ك",ﻛ:"ك",ﻜ:"ك",ﻚ:"ك",ﻙ:"ك",ک:"ك",ﮐ:"ك",ﮑ:"ك",ﮏ:"ك",ﮎ:"ك",ڪ:"ك",ڭ:"كۛ",ﯕ:"كۛ",ﯖ:"كۛ",ﯔ:"كۛ",ﯓ:"كۛ","ݣ":"كۛ",ﲀ:"كl",ﰷ:"كl",ﳄ:"كج",ﰸ:"كج",ﳅ:"كح",ﰹ:"كح",ﳆ:"كخ",ﰺ:"كخ",ﳇ:"كل",ﳫ:"كل",ﲁ:"كل",ﰻ:"كل",ﳈ:"كم",ﳬ:"كم",ﲂ:"كم",ﰼ:"كم",ﷃ:"كمم",ﶻ:"كمم",ﶷ:"كمى",ﲃ:"كى",ﰽ:"كى",ﲄ:"كى",ﰾ:"كى","ݢ":"ڬ",ﮔ:"گ",ﮕ:"گ",ﮓ:"گ",ﮒ:"گ","ࢰ":"گ",ڴ:"گۛ",ﮜ:"ڱ",ﮝ:"ڱ",ﮛ:"ڱ",ﮚ:"ڱ",ﮘ:"ڳ",ﮙ:"ڳ",ﮗ:"ڳ",ﮖ:"ڳ","𞸋":"ل","𞸫":"ل","𞹋":"ل","𞺋":"ل","𞺫":"ل",ﻟ:"ل",ﻠ:"ل",ﻞ:"ل",ﻝ:"ل",ڷ:"لۛ",ڵ:"ل̆",ﻼ:"لl",ﻻ:"لl",ﻺ:"لlٕ",ﻹ:"لlٕ",ﻸ:"لlٴ",ﻷ:"لlٴ",ﳍ:"لo",ﻶ:"لآ",ﻵ:"لآ",ﳉ:"لج",ﰿ:"لج",ﶃ:"لجج",ﶄ:"لجج",ﶺ:"لجم",ﶼ:"لجم",ﶬ:"لجى",ﳊ:"لح",ﱀ:"لح",ﶵ:"لحم",ﶀ:"لحم",ﶂ:"لحى",ﶁ:"لحى",ﳋ:"لخ",ﱁ:"لخ",ﶆ:"لخم",ﶅ:"لخم",ﳌ:"لم",ﳭ:"لم",ﲅ:"لم",ﱂ:"لم",ﶈ:"لمح",ﶇ:"لمح",ﶭ:"لمى",ﲆ:"لى",ﱃ:"لى",ﲇ:"لى",ﱄ:"لى","𞸌":"م","𞸬":"م","𞹬":"م","𞺌":"م","𞺬":"م",ﻣ:"م",ﻤ:"م",ﻢ:"م",ﻡ:"م","ࢧ":"مۛ","۾":"م͈",ﲈ:"مl",ﳎ:"مج",ﱅ:"مج",ﶌ:"مجح",ﶒ:"مجخ",ﶍ:"مجم",ﷀ:"مجى",ﳏ:"مح",ﱆ:"مح",ﶉ:"محج",ﶊ:"محم",ﷴ:"محمد",ﶋ:"محى",ﳐ:"مخ",ﱇ:"مخ",ﶎ:"مخج",ﶏ:"مخم",ﶹ:"مخى",ﳑ:"مم",ﲉ:"مم",ﱈ:"مم",ﶱ:"ممى",ﱉ:"مى",ﱊ:"مى","𞸍":"ن","𞸭":"ن","𞹍":"ن","𞹭":"ن","𞺍":"ن","𞺭":"ن",ﻧ:"ن",ﻨ:"ن",ﻦ:"ن",ﻥ:"ن","ݨ":"نؕ","ݩ":"ن̆",ﳖ:"نo",ﳯ:"نo",ﶸ:"نجح",ﶽ:"نجح",ﶘ:"نجم",ﶗ:"نجم",ﶙ:"نجى",ﷇ:"نجى",ﳓ:"نح",ﱌ:"نح",ﶕ:"نحم",ﶖ:"نحى",ﶳ:"نحى",ﳔ:"نخ",ﱍ:"نخ",ﲊ:"نر",ﲋ:"نز",ﳕ:"نم",ﳮ:"نم",ﲌ:"نم",ﱎ:"نم",ﶛ:"نمى",ﶚ:"نمى",ﲍ:"نن",ﲎ:"نى",ﱏ:"نى",ﲏ:"نى",ﱐ:"نى",ۂ:"ۀ",ﮥ:"ۀ",ﮤ:"ۀ","𐋤":"و","𞸅":"و","𞺅":"و","𞺥":"و",ﻮ:"و",ﻭ:"و","ࢱ":"و",ۋ:"وۛ",ﯟ:"وۛ",ﯞ:"وۛ",ۇ:"و̓",ﯘ:"و̓",ﯗ:"و̓",ۆ:"و̆",ﯚ:"و̆",ﯙ:"و̆",ۉ:"و̂",ﯣ:"و̂",ﯢ:"و̂",ۈ:"وٰ",ﯜ:"وٰ",ﯛ:"وٰ",ؤ:"وٴ",ﺆ:"وٴ",ﺅ:"وٴ",ٶ:"وٴ",ٷ:"و̓ٴ",ﯝ:"و̓ٴ",ﷸ:"وسلم",ﯡ:"ۅ",ﯠ:"ۅ","ٮ":"ى","𞸜":"ى","𞹼":"ى",ں:"ى","𞸝":"ى","𞹝":"ى",ﮟ:"ى",ﮞ:"ى","ࢽ":"ى",ﯨ:"ى",ﯩ:"ى",ﻰ:"ى",ﻯ:"ى",ي:"ى","𞸉":"ى","𞸩":"ى","𞹉":"ى","𞹩":"ى","𞺉":"ى","𞺩":"ى",ﻳ:"ى",ﻴ:"ى",ﻲ:"ى",ﻱ:"ى",ی:"ى",ﯾ:"ى",ﯿ:"ى",ﯽ:"ى",ﯼ:"ى",ے:"ى",ﮯ:"ى",ﮮ:"ى",ٹ:"ىؕ",ﭨ:"ىؕ",ﭩ:"ىؕ",ﭧ:"ىؕ",ﭦ:"ىؕ",ڻ:"ىؕ",ﮢ:"ىؕ",ﮣ:"ىؕ",ﮡ:"ىؕ",ﮠ:"ىؕ",پ:"ىۛ",ﭘ:"ىۛ",ﭙ:"ىۛ",ﭗ:"ىۛ",ﭖ:"ىۛ",ث:"ىۛ","𞸖":"ىۛ","𞸶":"ىۛ","𞹶":"ىۛ","𞺖":"ىۛ","𞺶":"ىۛ",ﺛ:"ىۛ",ﺜ:"ىۛ",ﺚ:"ىۛ",ﺙ:"ىۛ",ڽ:"ىۛ",ۑ:"ىۛ","ؿ":"ىۛ","ࢷ":"ىۛۢ","ݖ":"ى̆",ێ:"ى̆","ࢺ":"ى̆̇","ؽ":"ى̂","ࢨ":"ىٔ",ﲐ:"ىٰ",ﱝ:"ىٰ",ﳞ:"ىo",ﳱ:"ىo",ﳦ:"ىۛo",ئ:"ىٴ",ﺋ:"ىٴ",ﺌ:"ىٴ",ﺊ:"ىٴ",ﺉ:"ىٴ",ٸ:"ىٴ",ﯫ:"ىٴl",ﯪ:"ىٴl",ﲛ:"ىٴo",ﳠ:"ىٴo",ﯭ:"ىٴo",ﯬ:"ىٴo",ﯸ:"ىٴٻ",ﯷ:"ىٴٻ",ﯶ:"ىٴٻ",ﲗ:"ىٴج",ﰀ:"ىٴج",ﲘ:"ىٴح",ﰁ:"ىٴح",ﲙ:"ىٴخ",ﱤ:"ىٴر",ﱥ:"ىٴز",ﲚ:"ىٴم",ﳟ:"ىٴم",ﱦ:"ىٴم",ﰂ:"ىٴم",ﱧ:"ىٴن",ﯯ:"ىٴو",ﯮ:"ىٴو",ﯱ:"ىٴو̓",ﯰ:"ىٴو̓",ﯳ:"ىٴو̆",ﯲ:"ىٴو̆",ﯵ:"ىٴوٰ",ﯴ:"ىٴوٰ",ﯻ:"ىٴى",ﯺ:"ىٴى",ﱨ:"ىٴى",ﯹ:"ىٴى",ﰃ:"ىٴى",ﱩ:"ىٴى",ﰄ:"ىٴى",ﳚ:"ىج",ﱕ:"ىج",ﰑ:"ىۛج",ﶯ:"ىجى",ﳛ:"ىح",ﱖ:"ىح",ﶮ:"ىحى",ﳜ:"ىخ",ﱗ:"ىخ",ﲑ:"ىر",ﱶ:"ىۛر",ﲒ:"ىز",ﱷ:"ىۛز",ﳝ:"ىم",ﳰ:"ىم",ﲓ:"ىم",ﱘ:"ىم",ﲦ:"ىۛم",ﳥ:"ىۛم",ﱸ:"ىۛم",ﰒ:"ىۛم",ﶝ:"ىمم",ﶜ:"ىمم",ﶰ:"ىمى",ﲔ:"ىن",ﱹ:"ىۛن",ﲕ:"ىى",ﱙ:"ىى",ﲖ:"ىى",ﱚ:"ىى",ﱺ:"ىۛى",ﰓ:"ىۛى",ﱻ:"ىۛى",ﰔ:"ىۛى",ﮱ:"ۓ",ﮰ:"ۓ","𐊸":"ⵀ","⁞":"ⵂ","⸽":"ⵂ","⦙":"ⵂ","︙":"ⵗ","⁝":"ⵗ","⋮":"ⵗ",Մ:"ሆ",Ռ:"ቡ",Ի:"ኮ",Պ:"ጣ",आ:"अा",ऒ:"अाॆ",ओ:"अाे",औ:"अाै","ऄ":"अॆ",ऑ:"अॉ",ऍ:"एॅ",ऎ:"एॆ",ऐ:"एे",ई:"र्इ",ઽ:"ऽ","𑇜":"ꣻ","𑇋":"ऺ","ુ":"ु","ૂ":"ू","ੋ":"ॆ","੍":"्","્":"्",আ:"অা",ৠ:"ঋৃ",ৡ:"ঋৃ","𑒒":"ঘ","𑒔":"চ","𑒖":"জ","𑒘":"ঞ","𑒙":"ট","𑒛":"ড","𑒪":"ণ","𑒞":"ত","𑒟":"থ","𑒠":"দ","𑒡":"ধ","𑒢":"ন","𑒣":"প","𑒩":"ব","𑒧":"ম","𑒨":"য","𑒫":"র","𑒝":"ল","𑒭":"ষ","𑒮":"স","𑓄":"ঽ","𑒰":"া","𑒱":"ি","𑒹":"ে","𑒼":"ো","𑒾":"ৌ","𑓂":"্","𑒽":"ৗ",ਉ:"ੳੁ",ਊ:"ੳੂ",ਆ:"ਅਾ",ਐ:"ਅੈ",ਔ:"ਅੌ",ਇ:"ੲਿ",ਈ:"ੲੀ",ਏ:"ੲੇ",આ:"અા",ઑ:"અાૅ",ઓ:"અાે",ઔ:"અાૈ",ઍ:"અૅ",એ:"અે",ઐ:"અૈ",ଆ:"ଅା","௮":"அ",ர:"ஈ","ா":"ஈ","௫":"ஈு","௨":"உ",ഉ:"உ",ஊ:"உள",ഊ:"உൗ","௭":"எ","௷":"எவ",ஜ:"ஐ",ജ:"ஐ","௧":"க","௪":"ச","௬":"சு","௲":"சூ","ഺ":"டி",ണ:"ண","௺":"நீ","௴":"மீ","௰":"ய",ഴ:"ழ","ௗ":"ள","ை":"ன",ശ:"ஶ","௸":"ஷ","ി":"ி","ീ":"ி","ொ":"ெஈ","ௌ":"ெள","ோ":"ேஈ",ಅ:"అ",ಆ:"ఆ",ಇ:"ఇ",ౠ:"ఋా",ౡ:"ఌా",ಒ:"ఒ",ఔ:"ఒౌ",ಔ:"ఒౌ",ఓ:"ఒౕ",ಓ:"ఒౕ",ಜ:"జ",ಞ:"ఞ",ఢ:"డ̣",ಣ:"ణ",థ:"ధּ",భ:"బ̣",ಯ:"య",ఠ:"రּ",ಱ:"ఱ",ಲ:"ల",ష:"వ̣",హ:"వా",మ:"వు","ూ":"ుా","ౄ":"ృా",ೡ:"ಌಾ",ഈ:"ഇൗ",ഐ:"എെ",ഓ:"ഒാ",ഔ:"ഒൗ",ൡ:"ഞ","൫":"ദ്ര","൹":"നു",ഌ:"നു",ങ:"നു","൯":"ന്","ൻ":"ന്","൬":"ന്ന","൚":"ന്മ",റ:"ര","൪":"ര്","ർ":"ര്","൮":"വ്ര","൶":"ഹ്മ","ൂ":"ു","ൃ":"ു","ൈ":"െെ","෪":"ජ","෫":"ද","𑐓":"𑐴𑑂𑐒","𑐙":"𑐴𑑂𑐘","𑐤":"𑐴𑑂𑐣","𑐪":"𑐴𑑂𑐩","𑐭":"𑐴𑑂𑐬","𑐯":"𑐴𑑂𑐮","𑗘":"𑖂","𑗙":"𑖂","𑗚":"𑖃","𑗛":"𑖄","𑗜":"𑖲","𑗝":"𑖳",ฃ:"ข",ด:"ค",ต:"ค",ม:"ฆ",ຈ:"จ",ซ:"ช",ฏ:"ฎ",ท:"ฑ",ບ:"บ",ປ:"ป",ຝ:"ฝ",ພ:"พ",ຟ:"ฟ",ฦ:"ภ",ຍ:"ย","។":"ฯ",ๅ:"า",ำ:"̊า","ិ":"ิ","ី":"ี","ឹ":"ึ","ឺ":"ื","ຸ":"ุ","ູ":"ู",แ:"เเ",ໜ:"ຫນ",ໝ:"ຫມ",ຳ:"̊າ","༂":"འུྂཿ","༃":"འུྂ༔",ཪ:"ར",ༀ:"ཨོཾ","ཷ":"ྲཱྀ","ཹ":"ླཱྀ","𑲲":"𑲪","ႁ":"ဂှ",က:"ဂာ","ၰ":"ဃှ","ၦ":"ပှ",ဟ:"ပာ","ၯ":"ပာှ","ၾ":"ၽှ",ဩ:"သြ",ဪ:"သြော်","႞":"ႃ̊",ឣ:"អ","᧐":"ᦞ","᧑":"ᦱ","᪀":"ᩅ","᪐":"ᩅ","꩓":"ꨁ","꩖":"ꨣ","᭒":"ᬍ","᭓":"ᬑ","᭘":"ᬨ","ꦣ":"ꦝ",ᢖ:"ᡜ",ᡕ:"ᠵ",ῶ:"Ꮿ",ᐍ:"ᐁ·",ᐫ:"ᐁᐠ",ᐑ:"ᐄ·",ᐓ:"ᐅ·",ᐭ:"ᐅᐠ",ᐕ:"ᐆ·",ᐘ:"ᐊ·",ᐮ:"ᐊᐠ",ᐚ:"ᐋ·","ᣝ":"ᐞᣟ",ᓑ:"ᐡ",ᕀ:"ᐩ",ᐿ:"ᐲ·",ᑃ:"ᐴ·","⍩":"ᐵ",ᑇ:"ᐹ·",ᑜ:"ᑏ·","⸧":"ᑐ","⊃":"ᑐ",ᑞ:"ᑐ·",ᑩ:"ᑐ'","⟉":"ᑐ/","⫗":"ᑐᑕ",ᑠ:"ᑑ·","⸦":"ᑕ","⊂":"ᑕ",ᑢ:"ᑕ·",ᑪ:"ᑕ'",ᑤ:"ᑖ·",ᑵ:"ᑫ·",ᒅ:"ᑫ'",ᑹ:"ᑮ·",ᑽ:"ᑰ·",ᘃ:"ᒉ",ᒓ:"ᒉ·",ᒕ:"ᒋ·",ᒗ:"ᒌ·",ᒛ:"ᒎ·",ᘂ:"ᒐ",ᒝ:"ᒐ·",ᒟ:"ᒑ·",ᒭ:"ᒣ·",ᒱ:"ᒦ·",ᒳ:"ᒧ·",ᒵ:"ᒨ·",ᒹ:"ᒫ·",ᓊ:"ᓀ·","ᣇ":"ᓂ·","ᣉ":"ᓃ·","ᣋ":"ᓄ·","ᣍ":"ᓅ·",ᓌ:"ᓇ·",ᓎ:"ᓈ·",ᘄ:"ᓓ",ᓝ:"ᓓ·",ᓟ:"ᓕ·",ᓡ:"ᓖ·",ᓣ:"ᓗ·",ᓥ:"ᓘ·",ᘇ:"ᓚ",ᓧ:"ᓚ·",ᓩ:"ᓛ·",ᓷ:"ᓭ·",ᓹ:"ᓯ·",ᓻ:"ᓰ·",ᓽ:"ᓱ·",ᓿ:"ᓲ·",ᔁ:"ᓴ·",ᔃ:"ᓵ·",ᔌ:"ᔋ<",ᔎ:"ᔋb",ᔍ:"ᔋᑕ",ᔏ:"ᔋᒐ",ᔘ:"ᔐ·",ᔚ:"ᔑ·",ᔜ:"ᔒ·",ᔞ:"ᔓ·",ᔠ:"ᔔ·",ᔢ:"ᔕ·",ᔤ:"ᔖ·",ᔲ:"ᔨ·",ᔴ:"ᔩ·",ᔶ:"ᔪ·",ᔸ:"ᔫ·",ᔺ:"ᔭ·",ᔼ:"ᔮ·",ᘢ:"ᕃ","ᣠ":"ᕃ·",ᘣ:"ᕆ",ᘤ:"ᕊ",ᕏ:"ᕌ·",ᖃ:"ᕐb",ᖄ:"ᕐḃ",ᖁ:"ᕐd",ᕿ:"ᕐP",ᙯ:"ᕐᑫ",ᕾ:"ᕐᑬ",ᖀ:"ᕐᑮ",ᖂ:"ᕐᑰ",ᖅ:"ᕐᒃ",ᕜ:"ᕚ·","ᣣ":"ᕞ·","ᣤ":"ᕦ·",ᕩ:"ᕧ·","ᣥ":"ᕫ·","ᣨ":"ᖆ·",ᖑ:"ᖕJ",ᙰ:"ᖕᒉ",ᖎ:"ᖕᒊ",ᖏ:"ᖕᒋ",ᖐ:"ᖕᒌ",ᖒ:"ᖕᒎ",ᖓ:"ᖕᒐ",ᖔ:"ᖕᒑ",ᙳ:"ᖖJ",ᙱ:"ᖖᒋ",ᙲ:"ᖖᒌ",ᙴ:"ᖖᒎ",ᙵ:"ᖖᒐ",ᙶ:"ᖖᒑ","ᣪ":"ᖗ·","ᙷ":"ᖧ·","ᙸ":"ᖨ·","ᙹ":"ᖩ·","ᙺ":"ᖪ·","ᙻ":"ᖫ·","ᙼ":"ᖬ·","ᙽ":"ᖭ·","⪫":"ᗒ","⪪":"ᗕ","ꓷ":"ᗡ","ᣰ":"ᗴ·","ᣲ":"ᘛ·","ᶻ":"ᙆ","ꓭ":"ᙠ","ᶺ":"ᣔ","ᴾ":"ᣖ","ᣜ":"ᣟᐞ",ˡ:"ᣳ",ʳ:"ᣴ",ˢ:"ᣵ","ᣛ":"ᣵ","ꚰ":"ᚹ",ᛡ:"ᚼ","⍿":"ᚽ",ᛂ:"ᚽ","𝈿":"ᛋ","↑":"ᛏ","↿":"ᛐ","⥮":"ᛐ⇂","⥣":"ᛐᛚ","ⵣ":"ᛯ","↾":"ᛚ","⨡":"ᛚ","⋄":"ᛜ","◇":"ᛜ","◊":"ᛜ","♢":"ᛜ","🝔":"ᛜ","𑢷":"ᛜ","𐊔":"ᛜ","⍚":"ᛜ̲","⋈":"ᛞ","⨝":"ᛞ","𐓐":"ᛦ","↕":"ᛨ","𐳼":"𐲂","𐳺":"𐲥",ㄱ:"ᄀ",ᆨ:"ᄀ",ᄁ:"ᄀᄀ",ㄲ:"ᄀᄀ",ᆩ:"ᄀᄀ","ᇺ":"ᄀᄂ","ᅚ":"ᄀᄃ",ᇃ:"ᄀᄅ","ᇻ":"ᄀᄇ",ᆪ:"ᄀᄉ",ㄳ:"ᄀᄉ",ᇄ:"ᄀᄉᄀ","ᇼ":"ᄀᄎ","ᇽ":"ᄀᄏ","ᇾ":"ᄀᄒ",ㄴ:"ᄂ",ᆫ:"ᄂ",ᄓ:"ᄂᄀ",ᇅ:"ᄂᄀ",ᄔ:"ᄂᄂ",ㅥ:"ᄂᄂ","ᇿ":"ᄂᄂ",ᄕ:"ᄂᄃ",ㅦ:"ᄂᄃ",ᇆ:"ᄂᄃ","ퟋ":"ᄂᄅ",ᄖ:"ᄂᄇ","ᅛ":"ᄂᄉ",ᇇ:"ᄂᄉ",ㅧ:"ᄂᄉ","ᅜ":"ᄂᄌ",ᆬ:"ᄂᄌ",ㄵ:"ᄂᄌ","ퟌ":"ᄂᄎ",ᇉ:"ᄂᄐ","ᅝ":"ᄂᄒ",ᆭ:"ᄂᄒ",ㄶ:"ᄂᄒ",ᇈ:"ᄂᅀ",ㅨ:"ᄂᅀ",ㄷ:"ᄃ",ᆮ:"ᄃ",ᄗ:"ᄃᄀ",ᇊ:"ᄃᄀ",ᄄ:"ᄃᄃ",ㄸ:"ᄃᄃ","ퟍ":"ᄃᄃ","ퟎ":"ᄃᄃᄇ","ᅞ":"ᄃᄅ",ᇋ:"ᄃᄅ","ꥠ":"ᄃᄆ","ꥡ":"ᄃᄇ","ퟏ":"ᄃᄇ","ꥢ":"ᄃᄉ","ퟐ":"ᄃᄉ","ퟑ":"ᄃᄉᄀ","ꥣ":"ᄃᄌ","ퟒ":"ᄃᄌ","ퟓ":"ᄃᄎ","ퟔ":"ᄃᄐ",ㄹ:"ᄅ",ᆯ:"ᄅ","ꥤ":"ᄅᄀ",ᆰ:"ᄅᄀ",ㄺ:"ᄅᄀ","ꥥ":"ᄅᄀᄀ","ퟕ":"ᄅᄀᄀ",ᇌ:"ᄅᄀᄉ",ㅩ:"ᄅᄀᄉ","ퟖ":"ᄅᄀᄒ",ᄘ:"ᄅᄂ",ᇍ:"ᄅᄂ","ꥦ":"ᄅᄃ",ᇎ:"ᄅᄃ",ㅪ:"ᄅᄃ","ꥧ":"ᄅᄃᄃ",ᇏ:"ᄅᄃᄒ",ᄙ:"ᄅᄅ",ᇐ:"ᄅᄅ","ퟗ":"ᄅᄅᄏ","ꥨ":"ᄅᄆ",ᆱ:"ᄅᄆ",ㄻ:"ᄅᄆ",ᇑ:"ᄅᄆᄀ",ᇒ:"ᄅᄆᄉ","ퟘ":"ᄅᄆᄒ","ꥩ":"ᄅᄇ",ᆲ:"ᄅᄇ",ㄼ:"ᄅᄇ","ퟙ":"ᄅᄇᄃ","ꥪ":"ᄅᄇᄇ",ᇓ:"ᄅᄇᄉ",ㅫ:"ᄅᄇᄉ","ꥫ":"ᄅᄇᄋ",ᇕ:"ᄅᄇᄋ","ퟚ":"ᄅᄇᄑ",ᇔ:"ᄅᄇᄒ","ꥬ":"ᄅᄉ",ᆳ:"ᄅᄉ",ㄽ:"ᄅᄉ",ᇖ:"ᄅᄉᄉ",ᄛ:"ᄅᄋ","ퟝ":"ᄅᄋ","ꥭ":"ᄅᄌ","ꥮ":"ᄅᄏ",ᇘ:"ᄅᄏ",ᆴ:"ᄅᄐ",ㄾ:"ᄅᄐ",ᆵ:"ᄅᄑ",ㄿ:"ᄅᄑ",ᄚ:"ᄅᄒ",ㅀ:"ᄅᄒ",ᄻ:"ᄅᄒ",ᆶ:"ᄅᄒ","ퟲ":"ᄅᄒ",ᇗ:"ᄅᅀ",ㅬ:"ᄅᅀ","ퟛ":"ᄅᅌ",ᇙ:"ᄅᅙ",ㅭ:"ᄅᅙ","ퟜ":"ᄅᅙᄒ",ㅁ:"ᄆ",ᆷ:"ᄆ","ꥯ":"ᄆᄀ",ᇚ:"ᄆᄀ","ퟞ":"ᄆᄂ","ퟟ":"ᄆᄂᄂ","ꥰ":"ᄆᄃ",ᇛ:"ᄆᄅ","ퟠ":"ᄆᄆ",ᄜ:"ᄆᄇ",ㅮ:"ᄆᄇ",ᇜ:"ᄆᄇ","ퟡ":"ᄆᄇᄉ","ꥱ":"ᄆᄉ",ᇝ:"ᄆᄉ",ㅯ:"ᄆᄉ",ᇞ:"ᄆᄉᄉ",ᄝ:"ᄆᄋ",ㅱ:"ᄆᄋ",ᇢ:"ᄆᄋ","ퟢ":"ᄆᄌ",ᇠ:"ᄆᄎ",ᇡ:"ᄆᄒ",ᇟ:"ᄆᅀ",ㅰ:"ᄆᅀ",ㅂ:"ᄇ",ᆸ:"ᄇ",ᄞ:"ᄇᄀ",ㅲ:"ᄇᄀ",ᄟ:"ᄇᄂ",ᄠ:"ᄇᄃ",ㅳ:"ᄇᄃ","ퟣ":"ᄇᄃ",ᇣ:"ᄇᄅ","ퟤ":"ᄇᄅᄑ","ퟥ":"ᄇᄆ",ᄈ:"ᄇᄇ",ㅃ:"ᄇᄇ","ퟦ":"ᄇᄇ",ᄬ:"ᄇᄇᄋ",ㅹ:"ᄇᄇᄋ",ᄡ:"ᄇᄉ",ㅄ:"ᄇᄉ",ᆹ:"ᄇᄉ",ᄢ:"ᄇᄉᄀ",ㅴ:"ᄇᄉᄀ",ᄣ:"ᄇᄉᄃ",ㅵ:"ᄇᄉᄃ","ퟧ":"ᄇᄉᄃ",ᄤ:"ᄇᄉᄇ",ᄥ:"ᄇᄉᄉ",ᄦ:"ᄇᄉᄌ","ꥲ":"ᄇᄉᄐ",ᄫ:"ᄇᄋ",ㅸ:"ᄇᄋ",ᇦ:"ᄇᄋ",ᄧ:"ᄇᄌ",ㅶ:"ᄇᄌ","ퟨ":"ᄇᄌ",ᄨ:"ᄇᄎ","ퟩ":"ᄇᄎ","ꥳ":"ᄇᄏ",ᄩ:"ᄇᄐ",ㅷ:"ᄇᄐ",ᄪ:"ᄇᄑ",ᇤ:"ᄇᄑ","ꥴ":"ᄇᄒ",ᇥ:"ᄇᄒ",ㅅ:"ᄉ",ᆺ:"ᄉ",ᄭ:"ᄉᄀ",ㅺ:"ᄉᄀ",ᇧ:"ᄉᄀ",ᄮ:"ᄉᄂ",ㅻ:"ᄉᄂ",ᄯ:"ᄉᄃ",ㅼ:"ᄉᄃ",ᇨ:"ᄉᄃ",ᄰ:"ᄉᄅ",ᇩ:"ᄉᄅ",ᄱ:"ᄉᄆ","ퟪ":"ᄉᄆ",ᄲ:"ᄉᄇ",ㅽ:"ᄉᄇ",ᇪ:"ᄉᄇ",ᄳ:"ᄉᄇᄀ","ퟫ":"ᄉᄇᄋ",ᄊ:"ᄉᄉ",ㅆ:"ᄉᄉ",ᆻ:"ᄉᄉ","ퟬ":"ᄉᄉᄀ","ퟭ":"ᄉᄉᄃ","ꥵ":"ᄉᄉᄇ",ᄴ:"ᄉᄉᄉ",ᄵ:"ᄉᄋ",ᄶ:"ᄉᄌ",ㅾ:"ᄉᄌ","ퟯ":"ᄉᄌ",ᄷ:"ᄉᄎ","ퟰ":"ᄉᄎ",ᄸ:"ᄉᄏ",ᄹ:"ᄉᄐ","ퟱ":"ᄉᄐ",ᄺ:"ᄉᄑ","ퟮ":"ᄉᅀ",ㅇ:"ᄋ",ᆼ:"ᄋ",ᅁ:"ᄋᄀ",ᇬ:"ᄋᄀ",ᇭ:"ᄋᄀᄀ",ᅂ:"ᄋᄃ","ꥶ":"ᄋᄅ",ᅃ:"ᄋᄆ",ᅄ:"ᄋᄇ",ᅅ:"ᄋᄉ",ᇱ:"ᄋᄉ",ㆂ:"ᄋᄉ",ᅇ:"ᄋᄋ",ㆀ:"ᄋᄋ",ᇮ:"ᄋᄋ",ᅈ:"ᄋᄌ",ᅉ:"ᄋᄎ",ᇯ:"ᄋᄏ",ᅊ:"ᄋᄐ",ᅋ:"ᄋᄑ","ꥷ":"ᄋᄒ",ᅆ:"ᄋᅀ",ᇲ:"ᄋᅀ",ㆃ:"ᄋᅀ",ㅈ:"ᄌ",ᆽ:"ᄌ","ퟷ":"ᄌᄇ","ퟸ":"ᄌᄇᄇ",ᅍ:"ᄌᄋ",ᄍ:"ᄌᄌ",ㅉ:"ᄌᄌ","ퟹ":"ᄌᄌ","ꥸ":"ᄌᄌᄒ",ㅊ:"ᄎ",ᆾ:"ᄎ",ᅒ:"ᄎᄏ",ᅓ:"ᄎᄒ",ㅋ:"ᄏ",ᆿ:"ᄏ",ㅌ:"ᄐ",ᇀ:"ᄐ","ꥹ":"ᄐᄐ",ㅍ:"ᄑ",ᇁ:"ᄑ",ᅖ:"ᄑᄇ",ᇳ:"ᄑᄇ","ퟺ":"ᄑᄉ",ᅗ:"ᄑᄋ",ㆄ:"ᄑᄋ",ᇴ:"ᄑᄋ","ퟻ":"ᄑᄐ","ꥺ":"ᄑᄒ",ㅎ:"ᄒ",ᇂ:"ᄒ",ᇵ:"ᄒᄂ",ᇶ:"ᄒᄅ",ᇷ:"ᄒᄆ",ᇸ:"ᄒᄇ","ꥻ":"ᄒᄉ",ᅘ:"ᄒᄒ",ㆅ:"ᄒᄒ",ᄽ:"ᄼᄼ",ᄿ:"ᄾᄾ",ㅿ:"ᅀ",ᇫ:"ᅀ","ퟳ":"ᅀᄇ","ퟴ":"ᅀᄇᄋ",ㆁ:"ᅌ",ᇰ:"ᅌ","ퟵ":"ᅌᄆ","ퟶ":"ᅌᄒ",ᅏ:"ᅎᅎ",ᅑ:"ᅐᅐ",ㆆ:"ᅙ",ᇹ:"ᅙ","ꥼ":"ᅙᅙ",ㅤ:"ᅠ",ㅏ:"ᅡ","ᆣ":"ᅡー",ᅶ:"ᅡᅩ",ᅷ:"ᅡᅮ",ᅢ:"ᅡ丨",ㅐ:"ᅡ丨",ㅑ:"ᅣ",ᅸ:"ᅣᅩ",ᅹ:"ᅣᅭ","ᆤ":"ᅣᅮ",ᅤ:"ᅣ丨",ㅒ:"ᅣ丨",ㅓ:"ᅥ",ᅼ:"ᅥー",ᅺ:"ᅥᅩ",ᅻ:"ᅥᅮ",ᅦ:"ᅥ丨",ㅔ:"ᅥ丨",ㅕ:"ᅧ","ᆥ":"ᅧᅣ",ᅽ:"ᅧᅩ",ᅾ:"ᅧᅮ",ᅨ:"ᅧ丨",ㅖ:"ᅧ丨",ㅗ:"ᅩ",ᅪ:"ᅩᅡ",ㅘ:"ᅩᅡ",ᅫ:"ᅩᅡ丨",ㅙ:"ᅩᅡ丨","ᆦ":"ᅩᅣ","ᆧ":"ᅩᅣ丨",ᅿ:"ᅩᅥ",ᆀ:"ᅩᅥ丨","ힰ":"ᅩᅧ",ᆁ:"ᅩᅧ丨",ᆂ:"ᅩᅩ","ힱ":"ᅩᅩ丨",ᆃ:"ᅩᅮ",ᅬ:"ᅩ丨",ㅚ:"ᅩ丨",ㅛ:"ᅭ","ힲ":"ᅭᅡ","ힳ":"ᅭᅡ丨",ᆄ:"ᅭᅣ",ㆇ:"ᅭᅣ",ᆆ:"ᅭᅣ",ᆅ:"ᅭᅣ丨",ㆈ:"ᅭᅣ丨","ힴ":"ᅭᅥ",ᆇ:"ᅭᅩ",ᆈ:"ᅭ丨",ㆉ:"ᅭ丨",ㅜ:"ᅮ",ᆉ:"ᅮᅡ",ᆊ:"ᅮᅡ丨",ᅯ:"ᅮᅥ",ㅝ:"ᅮᅥ",ᆋ:"ᅮᅥー",ᅰ:"ᅮᅥ丨",ㅞ:"ᅮᅥ丨","ힵ":"ᅮᅧ",ᆌ:"ᅮᅧ丨",ᆍ:"ᅮᅮ",ᅱ:"ᅮ丨",ㅟ:"ᅮ丨","ힶ":"ᅮ丨丨",ㅠ:"ᅲ",ᆎ:"ᅲᅡ","ힷ":"ᅲᅡ丨",ᆏ:"ᅲᅥ",ᆐ:"ᅲᅥ丨",ᆑ:"ᅲᅧ",ㆊ:"ᅲᅧ",ᆒ:"ᅲᅧ丨",ㆋ:"ᅲᅧ丨","ힸ":"ᅲᅩ",ᆓ:"ᅲᅮ",ᆔ:"ᅲ丨",ㆌ:"ᅲ丨",ㆍ:"ᆞ","ퟅ":"ᆞᅡ",ᆟ:"ᆞᅥ","ퟆ":"ᆞᅥ丨",ᆠ:"ᆞᅮ",ᆢ:"ᆞᆞ",ᆡ:"ᆞ丨",ㆎ:"ᆞ丨",ヘ:"へ","⍁":"〼","⧄":"〼","꒞":"ꁊ","꒬":"ꁐ","꒜":"ꃀ","꒨":"ꄲ","꒿":"ꉙ","꒾":"ꊱ","꒔":"ꋍ","꓀":"ꎫ","꓂":"ꎵ","꒺":"ꎿ","꒰":"ꏂ","꒧":"ꑘ","⊥":"ꓕ","⟂":"ꓕ","𝈜":"ꓕ","Ʇ":"ꓕ","Ꞟ":"ꓤ","⅁":"ꓨ","⅂":"ꓶ","𝈕":"ꓶ","𝈫":"ꓶ","𖼦":"ꓶ","𐐑":"ꓶ","⅃":"𖼀","𑫦":"𑫥𑫯","𑫨":"𑫥𑫥","𑫩":"𑫥𑫥𑫯","𑫪":"𑫥𑫥𑫰","𑫧":"𑫥𑫰","𑫴":"𑫳𑫯","𑫶":"𑫳𑫳","𑫷":"𑫳𑫳𑫯","𑫸":"𑫳𑫳𑫰","𑫵":"𑫳𑫰","𑫬":"𑫫𑫯","𑫭":"𑫫𑫫","𑫮":"𑫫𑫫𑫯","⊕":"𐊨","⨁":"𐊨","🜨":"𐊨","Ꚛ":"𐊨","▽":"𐊼","𝈔":"𐊼","🜄":"𐊼","⧖":"𐋀","ꞛ":"𐐺","Ꞛ":"𐐒","𐒠":"𐒆","𐏑":"𐎂","𐏓":"𐎓","𒀸":"𐎚","☥":"𐦞","𓋹":"𐦞","〹":"卄",不:"不","丽":"丽","並":"並","⎜":"丨","⎟":"丨","⎢":"丨","⎥":"丨","⎪":"丨","⎮":"丨","㇑":"丨",ᅵ:"丨",ㅣ:"丨","⼁":"丨",ᆜ:"丨ー",ᆘ:"丨ᅡ",ᆙ:"丨ᅣ","ힽ":"丨ᅣᅩ","ힾ":"丨ᅣ丨","ힿ":"丨ᅧ","ퟀ":"丨ᅧ丨",ᆚ:"丨ᅩ","ퟁ":"丨ᅩ丨","ퟂ":"丨ᅭ",ᆛ:"丨ᅮ","ퟃ":"丨ᅲ",ᆝ:"丨ᆞ","ퟄ":"丨丨",串:"串","丸":"丸",丹:"丹","乁":"乁","㇠":"乙","⼄":"乙","㇟":"乚","⺃":"乚","㇖":"乛","⺂":"乛","⻲":"亀",亂:"亂","㇚":"亅","⼅":"亅",了:"了",ニ:"二","⼆":"二","𠄢":"𠄢","⼇":"亠",亮:"亮","⼈":"人",イ:"亻","⺅":"亻",什:"什","仌":"仌",令:"令","你":"你",倂:"併","倂":"併","侀":"侀",來:"來",例:"例","侮":"侮","侮":"侮","侻":"侻",便:"便",值:"値",倫:"倫","偺":"偺","備":"備","像":"像",僚:"僚","僧":"僧","僧":"僧","㒞":"㒞","⼉":"儿",兀:"兀","⺎":"兀","充":"充","免":"免","免":"免","兔":"兔","兤":"兤","⼊":"入","內":"內","全":"全",兩:"兩",ハ:"八","⼋":"八",六:"六","具":"具","𠔜":"𠔜","𠔥":"𠔥","冀":"冀","㒹":"㒹","⼌":"冂","再":"再","𠕋":"𠕋","冒":"冒","冕":"冕","㒻":"㒻","最":"最","⼍":"冖","冗":"冗","冤":"冤","⼎":"冫","冬":"冬","况":"况","况":"况",冷:"冷",凉:"凉",凌:"凌",凜:"凜",凞:"凞","⼏":"几","𠘺":"𠘺","凵":"凵","⼐":"凵","⼑":"刀","⺉":"刂","刃":"刃",切:"切","切":"切",列:"列",利:"利","㓟":"㓟",刺:"刺","刻":"刻","剆":"剆","割":"割","剷":"剷",劉:"劉","𠠄":"𠠄",カ:"力",力:"力","⼒":"力",劣:"劣","㔕":"㔕","劳":"劳","勇":"勇","勇":"勇","勉":"勉","勉":"勉",勒:"勒",勞:"勞","勤":"勤","勤":"勤",勵:"勵","⼓":"勹","勺":"勺","勺":"勺","包":"包","匆":"匆","𠣞":"𠣞","⼔":"匕",北:"北","北":"北","⼕":"匚","⼖":"匸",匿:"匿","⼗":"十","〸":"十","〺":"卅","卉":"卉","࿖":"卍","࿕":"卐","卑":"卑","卑":"卑","博":"博",ト:"卜","⼘":"卜","⼙":"卩","⺋":"㔾","即":"即",卵:"卵","卽":"卽","卿":"卿","卿":"卿","卿":"卿","⼚":"厂","𠨬":"𠨬","⼛":"厶",參:"參","⼜":"又","及":"及","叟":"叟","𠭣":"𠭣",ロ:"口","⼝":"口",囗:"口","⼞":"口",句:"句","叫":"叫","叱":"叱","吆":"吆",吏:"吏",吝:"吝","吸":"吸",呂:"呂","呈":"呈","周":"周","咞":"咞","咢":"咢",咽:"咽",䎛:"㖈","哶":"哶","唐":"唐","啓":"啓",啟:"啓","啕":"啕","啣":"啣","善":"善","善":"善",喇:"喇","喙":"喙","喙":"喙","喝":"喝","喝":"喝","喫":"喫","喳":"喳",嗀:"嗀","嗂":"嗂","嗢":"嗢","嘆":"嘆","嘆":"嘆","噑":"噑","噴":"噴","器":"器",囹:"囹","圖":"圖","圗":"圗","⼟":"土",士:"土","⼠":"土","型":"型","城":"城",㦳:"㘽","埴":"埴","堍":"堍","報":"報","堲":"堲","塀":"塀",塚:"塚","塚":"塚",塞:"塞",填:"塡",壿:"墫","墬":"墬","墳":"墳",壘:"壘",壟:"壟","𡓤":"𡓤","壮":"壮","売":"売","壷":"壷","⼡":"夂","夆":"夆","⼢":"夊",タ:"夕","⼣":"夕","多":"多","夢":"夢","⼤":"大","奄":"奄",奈:"奈",契:"契","奔":"奔","奢":"奢",女:"女","⼥":"女","𡚨":"𡚨","𡛪":"𡛪","姘":"姘","姬":"姬","娛":"娛","娧":"娧","婢":"婢","婦":"婦",嬀:"媯","㛮":"㛮","㛼":"㛼","媵":"媵","嬈":"嬈","嬨":"嬨","嬾":"嬾","嬾":"嬾","⼦":"子","⼧":"宀",宅:"宅","𡧈":"𡧈","寃":"寃","寘":"寘",寧:"寧",寧:"寧","寧":"寧",寮:"寮","寳":"寳","𡬘":"𡬘","⼨":"寸","寿":"寿","将":"将","⼩":"小","尢":"尢","⺐":"尢","⼪":"尢","⺏":"尣","㞁":"㞁","⼫":"尸",尿:"尿","屠":"屠",屢:"屢","層":"層",履:"履","屮":"屮","屮":"屮","⼬":"屮","𡴋":"𡴋","⼭":"山","峀":"峀","岍":"岍","𡷤":"𡷤","𡷦":"𡷦",崙:"崙","嵃":"嵃",嵐:"嵐","嵫":"嵫","嵮":"嵮","嵼":"嵼","嶲":"嶲",嶺:"嶺","⼮":"巛","巢":"巢",エ:"工","⼯":"工","⼰":"己","⺒":"巳","㠯":"㠯","巽":"巽","⼱":"巾",帲:"帡","帨":"帨","帽":"帽","幩":"幩","㡢":"㡢","𢆃":"𢆃","⼲":"干",年:"年","𢆟":"𢆟","⺓":"幺","⼳":"幺","⼴":"广",度:"度","㡼":"㡼","庰":"庰","庳":"庳","庶":"庶",廊:"廊","廊":"廊",廉:"廉","廒":"廒",廓:"廓","廙":"廙",廬:"廬","⼵":"廴","廾":"廾","⼶":"廾","𢌱":"𢌱","𢌱":"𢌱",弄:"弄","⼷":"弋","⼸":"弓","弢":"弢","弢":"弢","⼹":"彐","⺔":"彑","当":"当","㣇":"㣇","⼺":"彡","形":"形","彩":"彩","彫":"彫","⼻":"彳",律:"律","㣣":"㣣","徚":"徚",復:"復","徭":"徭","⼼":"心","⺖":"忄","⺗":"㣺","忍":"忍","志":"志",念:"念","忹":"忹",怒:"怒",怜:"怜","恵":"恵","㤜":"㤜","㤺":"㤺","悁":"悁","悔":"悔","悔":"悔","惇":"惇","惘":"惘",惡:"惡","𢛔":"𢛔","愈":"愈","慨":"慨",慄:"慄","慈":"慈","慌":"慌","慌":"慌","慎":"慎","慎":"慎","慠":"慠","慺":"慺","憎":"憎","憎":"憎","憎":"憎",憐:"憐","憤":"憤","憯":"憯","憲":"憲","𢡄":"𢡄","𢡊":"𢡊","懞":"懞","懲":"懲","懲":"懲","懲":"懲",懶:"懶","懶":"懶",戀:"戀","⼽":"戈","成":"成","戛":"戛",戮:"戮","戴":"戴","⼾":"戶",戸:"戶","⼿":"手","⺘":"扌","扝":"扝","抱":"抱",拉:"拉",拏:"拏",拓:"拓","拔":"拔","拼":"拼",拾:"拾","𢬌":"𢬌","挽":"挽","捐":"捐","捨":"捨",捻:"捻","掃":"掃",掠:"掠","掩":"掩","揄":"揄","揤":"揤","摒":"摒","𢯱":"𢯱","搜":"搜","搢":"搢","揅":"揅","摩":"摩","摷":"摷","摾":"摾","㨮":"㨮",搉:"㩁",撚:"撚","撝":"撝",擄:"擄","㩬":"㩬","⽀":"支","⽁":"攴","⺙":"攵","敏":"敏","敏":"敏","敖":"敖","敬":"敬",數:"數","𣀊":"𣀊","⽂":"文","⻫":"斉","⽃":"斗",料:"料","⽄":"斤","⽅":"方",旅:"旅","⽆":"无","⺛":"旡","既":"既","旣":"旣","⽇":"日",易:"易",曶:"㫚","㫤":"㫤","晉":"晉",晩:"晚",晴:"晴","晴":"晴","暑":"暑","暑":"暑",暈:"暈","㬈":"㬈","暜":"暜",暴:"暴",曆:"曆","㬙":"㬙","𣊸":"𣊸","⽈":"曰",更:"更","書":"書","⽉":"月","𣍟":"𣍟",肦:"朌",胐:"朏",胊:"朐",脁:"朓",胶:"㬵",朗:"朗","朗":"朗","朗":"朗",脧:"朘","望":"望","望":"望",幐:"㬺",䐠:"㬻","𣎓":"𣎓",膧:"朣","𣎜":"𣎜","⽊":"木",李:"李","杓":"杓","杖":"杖","杞":"杞","𣏃":"𣏃",柿:"杮",杻:"杻","枅":"枅",林:"林","㭉":"㭉","𣏕":"𣏕",柳:"柳","柺":"柺",栗:"栗","栟":"栟","桒":"桒","𣑭":"𣑭",梁:"梁","梅":"梅","梅":"梅","梎":"梎",梨:"梨","椔":"椔","楂":"楂","㮝":"㮝","㮝":"㮝",槩:"㮣",樧:"榝","榣":"榣","槪":"槪",樂:"樂",樂:"樂",樂:"樂",樓:"樓","𣚣":"𣚣","檨":"檨",櫓:"櫓","櫛":"櫛",欄:"欄","㰘":"㰘","⽋":"欠","次":"次","𣢧":"𣢧","歔":"歔","㱎":"㱎","⽌":"止","⻭":"歯","歲":"歲",歷:"歷","歹":"歹","⽍":"歹","⺞":"歺","殟":"殟",殮:"殮","⽎":"殳",殺:"殺","殺":"殺","殺":"殺","殻":"殻","𣪍":"𣪍","⽏":"毋","⺟":"母","𣫺":"𣫺","⽐":"比","⽑":"毛","⽒":"氏","⺠":"民","⽓":"气","⽔":"水","⺡":"氵","⺢":"氺","汎":"汎","汧":"汧",沈:"沈","沿":"沿",泌:"泌","泍":"泍",泥:"泥","𣲼":"𣲼",洛:"洛",洞:"洞","洴":"洴","派":"派",流:"流","流":"流","流":"流","洖":"洖","浩":"浩",浪:"浪","海":"海","海":"海","浸":"浸","涅":"涅","𣴞":"𣴞",淋:"淋",淚:"淚",淪:"淪","淹":"淹","渚":"渚","港":"港","湮":"湮",潙:"溈","滋":"滋","滋":"滋",溜:"溜",溺:"溺","滇":"滇",滑:"滑","滛":"滛","㴳":"㴳",漏:"漏","漢":"漢","漢":"漢",漣:"漣","𣻑":"𣻑","潮":"潮","𣽞":"𣽞","𣾎":"𣾎","濆":"濆",濫:"濫",濾:"濾","瀛":"瀛","瀞":"瀞","瀞":"瀞","瀹":"瀹","灊":"灊","㶖":"㶖","⽕":"火","⺣":"灬","灰":"灰","灷":"灷","災":"災",炙:"炙","炭":"炭",烈:"烈",烙:"烙","煮":"煮","煮":"煮","𤉣":"𤉣","煅":"煅",煉:"煉","𤋮":"𤋮","熜":"熜",燎:"燎",燐:"燐","𤎫":"𤎫",爐:"爐",爛:"爛","爨":"爨","⽖":"爪","爫":"爫","⺤":"爫","爵":"爵","爵":"爵","⽗":"父","⽘":"爻","⺦":"丬","⽙":"爿","⽚":"片","牐":"牐","⽛":"牙","𤘈":"𤘈","⽜":"牛",牢:"牢","犀":"犀","犕":"犕","⽝":"犬","⺨":"犭","犯":"犯",狀:"狀","𤜵":"𤜵",狼:"狼",猪:"猪","猪":"猪","𤠔":"𤠔",獵:"獵","獺":"獺","⽞":"玄",率:"率",率:"率","⽟":"玉","王":"王","㺬":"㺬","玥":"玥",玲:"玲","㺸":"㺸","㺸":"㺸",珞:"珞",琉:"琉",理:"理","琢":"琢","瑇":"瑇","瑜":"瑜",瑩:"瑩","瑱":"瑱","瑱":"瑱","璅":"璅",璉:"璉",璘:"璘","瓊":"瓊","⽠":"瓜","⽡":"瓦","㼛":"㼛","甆":"甆","⽢":"甘","⽣":"生","甤":"甤","⽤":"用","⽥":"田","画":"画","甾":"甾","𤰶":"𤰶",留:"留",略:"略",異:"異","異":"異","𤲒":"𤲒","⽦":"疋","⽧":"疒",痢:"痢","瘐":"瘐","瘟":"瘟","瘝":"瘝",療:"療",癩:"癩","⽨":"癶","⽩":"白","𤾡":"𤾡","𤾸":"𤾸","⽪":"皮","⽫":"皿","𥁄":"𥁄","㿼":"㿼",益:"益","益":"益","盛":"盛",盧:"盧","䀈":"䀈","⽬":"目","直":"直","直":"直","𥃲":"𥃲","𥃳":"𥃳",省:"省","䀘":"䀘","𥄙":"𥄙","眞":"眞","真":"真","真":"真","𥄳":"𥄳","着":"着","睊":"睊","睊":"睊","鿃":"䀹","䀹":"䀹","䀹":"䀹",晣:"䀿","䁆":"䁆","瞋":"瞋","𥉉":"𥉉","瞧":"瞧","⽭":"矛","⽮":"矢","⽯":"石","䂖":"䂖","𥐝":"𥐝",硏:"研","硎":"硎",硫:"硫",碌:"碌","碌":"碌","碑":"碑",磊:"磊","磌":"磌","磌":"磌",磻:"磻","䃣":"䃣",礪:"礪","⽰":"示","⺭":"礻",礼:"礼","社":"社","祈":"祈","祉":"祉","𥘦":"𥘦","祐":"祐","祖":"祖","祖":"祖","祝":"祝",神:"神",祥:"祥","視":"視","視":"視",祿:"祿","𥚚":"𥚚","禍":"禍","禎":"禎",福:"福","福":"福","𥛅":"𥛅",禮:"禮","⽱":"禸","⽲":"禾",秊:"秊","䄯":"䄯","秫":"秫",稜:"稜","穊":"穊","穀":"穀","穀":"穀","穏":"穏","⽳":"穴","突":"突","𥥼":"𥥼","窱":"窱",立:"立","⽴":"立","⻯":"竜","𥪧":"𥪧","𥪧":"𥪧","竮":"竮","⽵":"竹",笠:"笠","節":"節","節":"節","䈂":"䈂","𥮫":"𥮫","篆":"篆","䈧":"䈧","築":"築","𥲀":"𥲀","𥳐":"𥳐",簾:"簾",籠:"籠","⽶":"米","类":"类",粒:"粒",精:"精","糒":"糒",糖:"糖","糨":"糨","䊠":"䊠","糣":"糣",糧:"糧","⽷":"糸","⺯":"糹","𥾆":"𥾆","紀":"紀",紐:"紐",索:"索",累:"累",絶:"絕","絣":"絣","絛":"絛",綠:"綠",綾:"綾","緇":"緇",練:"練","練":"練","練":"練","縂":"縂","䌁":"䌁","縉":"縉",縷:"縷","繁":"繁","繅":"繅","𦇚":"𦇚","䌴":"䌴","⽸":"缶","𦈨":"𦈨","缾":"缾","𦉇":"𦉇","⽹":"网","⺫":"罒","⺲":"罒","⺱":"罓","䍙":"䍙","署":"署","𦋙":"𦋙",罹:"罹","罺":"罺",羅:"羅","𦌾":"𦌾","⽺":"羊","羕":"羕",羚:"羚",羽:"羽","⽻":"羽","翺":"翺",老:"老","⽼":"老","⺹":"耂","者":"者","者":"者","者":"者","⽽":"而","𦓚":"𦓚","⽾":"耒","𦔣":"𦔣","⽿":"耳",聆:"聆","聠":"聠","𦖨":"𦖨",聯:"聯","聰":"聰",聾:"聾","⾀":"聿","⺺":"肀","⾁":"肉",肋:"肋","肭":"肭","育":"育","䏕":"䏕","䏙":"䏙",腁:"胼","脃":"脃","脾":"脾","䐋":"䐋","朡":"朡","𦞧":"𦞧","𦞵":"𦞵",朦:"䑃",臘:"臘","⾂":"臣",臨:"臨","⾃":"自","臭":"臭","⾄":"至","⾅":"臼","舁":"舁","舁":"舁","舄":"舄","⾆":"舌","舘":"舘","⾇":"舛","⾈":"舟","䑫":"䑫","⾉":"艮",良:"良","⾊":"色","⾋":"艸","艹":"艹","艹":"艹","⺾":"艹","⺿":"艹","⻀":"艹","芋":"芋","芑":"芑","芝":"芝","花":"花","芳":"芳","芽":"芽",若:"若","若":"若","苦":"苦","𦬼":"𦬼",茶:"茶","荒":"荒","荣":"荣","茝":"茝","茣":"茣","莽":"莽","荓":"荓",菉:"菉","菊":"菊","菌":"菌","菜":"菜","菧":"菧","華":"華",菱:"菱","著":"著","著":"著","𦰶":"𦰶","莭":"莭",落:"落",葉:"葉",蔿:"蒍","𦳕":"𦳕","𦵫":"𦵫",蓮:"蓮","蓱":"蓱","蓳":"蓳",蓼:"蓼","蔖":"蔖","䔫":"䔫","蕤":"蕤","𦼬":"𦼬",藍:"藍","䕝":"䕝","𦾱":"𦾱","䕡":"䕡",藺:"藺",蘆:"蘆","䕫":"䕫",蘒:"蘒",蘭:"蘭","𧃒":"𧃒",虁:"蘷",蘿:"蘿","⾌":"虍","⻁":"虎","虐":"虐",虜:"虜","虜":"虜","虧":"虧","虩":"虩","⾍":"虫","蚩":"蚩","蚈":"蚈","蛢":"蛢","蜎":"蜎","蜨":"蜨","蝫":"蝫","蟡":"蟡","蝹":"蝹","蝹":"蝹","螆":"螆","䗗":"䗗","𧏊":"𧏊",螺:"螺","蠁":"蠁","䗹":"䗹",蠟:"蠟","⾎":"血",行:"行","⾏":"行","衠":"衠","衣":"衣","⾐":"衣","⻂":"衤",裂:"裂","𧙧":"𧙧",裏:"裏","裗":"裗","裞":"裞",裡:"裡",裸:"裸","裺":"裺","䘵":"䘵","褐":"褐","襁":"襁",襤:"襤","⾑":"襾","⻄":"西","⻃":"覀","覆":"覆",見:"見","⾒":"見","𧢮":"𧢮","⻅":"见","⾓":"角","⾔":"言","𧥦":"𧥦",詽:"訮",訞:"䚶","䚾":"䚾","䛇":"䛇","誠":"誠",說:"說",說:"說","調":"調","請":"請",諒:"諒",論:"論","諭":"諭","諭":"諭",諸:"諸","諸":"諸",諾:"諾","諾":"諾","謁":"謁","謁":"謁","謹":"謹","謹":"謹",識:"識",讀:"讀",讏:"讆","變":"變","變":"變","⻈":"讠","⾕":"谷","⾖":"豆",豈:"豈","豕":"豕","⾗":"豕",豣:"豜","⾘":"豸","𧲨":"𧲨","⾙":"貝","貫":"貫","賁":"賁",賂:"賂",賈:"賈","賓":"賓","贈":"贈","贈":"贈","贛":"贛","⻉":"贝","⾚":"赤","⾛":"走","起":"起",趆:"赿","𧻓":"𧻓","𧼯":"𧼯","⾜":"足","跋":"跋","趼":"趼",跺:"跥",路:"路","跰":"跰",躛:"躗","⾝":"身",車:"車","⾞":"車","軔":"軔",輧:"軿",輦:"輦",輪:"輪","輸":"輸","輸":"輸",輻:"輻",轢:"轢","⻋":"车","⾟":"辛","辞":"辞",辰:"辰","⾠":"辰","⾡":"辵","辶":"辶","⻌":"辶","⻍":"辶","巡":"巡",連:"連",逸:"逸","逸":"逸","遲":"遲",遼:"遼","𨗒":"𨗒","𨗭":"𨗭",邏:"邏","⾢":"邑","邔":"邔",郎:"郎",郞:"郎","郞":"郎","郱":"郱",都:"都","𨜮":"𨜮","鄑":"鄑","鄛":"鄛","⾣":"酉",酪:"酪","醙":"醙",醴:"醴","⾤":"釆",里:"里","⾥":"里",量:"量",金:"金","⾦":"金",鈴:"鈴","鈸":"鈸","鉶":"鉶","鋗":"鋗","鋘":"鋘","鉼":"鉼",錄:"錄",鍊:"鍊",鎮:"鎭","鏹":"鏹","鐕":"鐕","𨯺":"𨯺","⻐":"钅","⻑":"長","⾧":"長","⻒":"镸","⻓":"长","⾨":"門","開":"開","䦕":"䦕",閭:"閭","閷":"閷","𨵷":"𨵷","⻔":"门","⾩":"阜","⻏":"阝","⻖":"阝",阮:"阮",陋:"陋",降:"降",陵:"陵",陸:"陸","陼":"陼",隆:"隆",隣:"隣","䧦":"䧦","⾪":"隶","隷":"隷",隸:"隷",隸:"隷","⾫":"隹","雃":"雃",離:"離","難":"難","難":"難","⾬":"雨",零:"零",雷:"雷","霣":"霣","𩅅":"𩅅",露:"露",靈:"靈","⾭":"靑","⻘":"青",靖:"靖","靖":"靖","𩇟":"𩇟","⾮":"非","⾯":"面","𩈚":"𩈚","⾰":"革","䩮":"䩮","䩶":"䩶","⾱":"韋","韛":"韛","韠":"韠","⻙":"韦","⾲":"韭","𩐊":"𩐊","⾳":"音","響":"響","響":"響","⾴":"頁","䪲":"䪲","頋":"頋","頋":"頋","頋":"頋",領:"領","頩":"頩","𩒖":"𩒖","頻":"頻","頻":"頻",類:"類","⻚":"页","⾵":"風","𩖶":"𩖶","⻛":"风","⾶":"飛","⻜":"飞","⻝":"食","⾷":"食","⻟":"飠","飢":"飢",飯:"飯",飼:"飼","䬳":"䬳",館:"館","餩":"餩","⻠":"饣","⾸":"首","⾹":"香","馧":"馧","⾺":"馬","駂":"駂",駱:"駱","駾":"駾",驪:"驪","⻢":"马","⾻":"骨","䯎":"䯎","⾼":"高","⾽":"髟","𩬰":"𩬰","鬒":"鬒","鬒":"鬒","⾾":"鬥","⾿":"鬯","⿀":"鬲","⿁":"鬼","⻤":"鬼","⿂":"魚",魯:"魯","鱀":"鱀",鱗:"鱗","⻥":"鱼","⿃":"鳥","鳽":"鳽","䳎":"䳎","鵧":"鵧","䳭":"䳭","𪃎":"𪃎",鶴:"鶴","𪄅":"𪄅","䳸":"䳸",鷺:"鷺","𪈎":"𪈎",鸞:"鸞",鹃:"鹂","⿄":"鹵",鹿:"鹿","⿅":"鹿","𪊑":"𪊑",麗:"麗",麟:"麟","⿆":"麥","⻨":"麦","麻":"麻","⿇":"麻","𪎒":"𪎒","⿈":"黃","⻩":"黄","⿉":"黍",黎:"黎","䵖":"䵖","⿊":"黑",黒:"黑","墨":"墨","黹":"黹","⿋":"黹","⿌":"黽","鼅":"鼅","黾":"黾","⿍":"鼎","鼏":"鼏","⿎":"鼓","鼖":"鼖","⿏":"鼠","鼻":"鼻","⿐":"鼻","齃":"齃","⿑":"齊","⻬":"齐","⿒":"齒","𪘀":"𪘀","⻮":"齿",龍:"龍","⿓":"龍","龎":"龎","⻰":"龙",龜:"龜",龜:"龜","龜":"龜","⿔":"龜","⻳":"龟","⿕":"龠"};var $f,u4;function nx(){if(u4)return $f;u4=1;var e=rx;function t(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}var r=RegExp(Object.keys(e).map(t).join("|"),"g");function n(a){return e[a]}function i(a){return a.replace(r,n)}return $f=i,$f}var us={},ix={get exports(){return us},set exports(e){us=e}},_p={},ax={get exports(){return _p},set exports(e){_p=e}},Ff={},Bf,c4;function ox(){if(c4)return Bf;c4=1;function e(t,r){typeof r=="boolean"&&(r={forever:r}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=r||{},this._maxRetryTime=r&&r.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}return Bf=e,e.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},e.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},e.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var r=new Date().getTime();if(t&&r-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var n=this._timeouts.shift();if(n===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),n=this._cachedTimeouts.slice(-1);else return!1;var i=this;return this._timer=setTimeout(function(){i._attempts++,i._operationTimeoutCb&&(i._timeout=setTimeout(function(){i._operationTimeoutCb(i._attempts)},i._operationTimeout),i._options.unref&&i._timeout.unref()),i._fn(i._attempts)},n),this._options.unref&&this._timer.unref(),!0},e.prototype.attempt=function(t,r){this._fn=t,r&&(r.timeout&&(this._operationTimeout=r.timeout),r.cb&&(this._operationTimeoutCb=r.cb));var n=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){n._operationTimeoutCb()},n._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)},e.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)},e.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)},e.prototype.start=e.prototype.try,e.prototype.errors=function(){return this._errors},e.prototype.attempts=function(){return this._attempts},e.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},r=null,n=0,i=0;i<this._errors.length;i++){var a=this._errors[i],o=a.message,p=(t[o]||0)+1;t[o]=p,p>=n&&(r=a,n=p)}return r},Bf}var p4;function sx(){return p4||(p4=1,function(e){var t=ox();e.operation=function(r){var n=e.timeouts(r);return new t(n,{forever:r&&(r.forever||r.retries===1/0),unref:r&&r.unref,maxRetryTime:r&&r.maxRetryTime})},e.timeouts=function(r){if(r instanceof Array)return[].concat(r);var n={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var i in r)n[i]=r[i];if(n.minTimeout>n.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var a=[],o=0;o<n.retries;o++)a.push(this.createTimeout(o,n));return r&&r.forever&&!a.length&&a.push(this.createTimeout(o,n)),a.sort(function(p,u){return p-u}),a},e.createTimeout=function(r,n){var i=n.randomize?Math.random()+1:1,a=Math.round(i*Math.max(n.minTimeout,1)*Math.pow(n.factor,r));return a=Math.min(a,n.maxTimeout),a},e.wrap=function(r,n,i){if(n instanceof Array&&(i=n,n=null),!i){i=[];for(var a in r)typeof r[a]=="function"&&i.push(a)}for(var o=0;o<i.length;o++){var p=i[o],u=r[p];r[p]=function(s){var m=e.operation(n),g=Array.prototype.slice.call(arguments,1),S=g.pop();g.push(function(v){m.retry(v)||(v&&(arguments[0]=m.mainError()),S.apply(this,arguments))}),m.attempt(function(){s.apply(r,g)})}.bind(r,u),r[p].options=n}}}(Ff)),Ff}var f4;function lx(){return f4||(f4=1,function(e){e.exports=sx()}(ax)),_p}var h4;function dE(){if(h4)return us;h4=1;const e=lx(),t=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"];class r extends Error{constructor(p){super(),p instanceof Error?(this.originalError=p,{message:p}=p):(this.originalError=new Error(p),this.originalError.stack=this.stack),this.name="AbortError",this.message=p}}const n=(o,p,u)=>{const y=u.retries-(p-1);return o.attemptNumber=p,o.retriesLeft=y,o},i=o=>t.includes(o),a=(o,p)=>new Promise((u,y)=>{p={onFailedAttempt:()=>{},retries:10,...p};const s=e.operation(p);s.attempt(async m=>{try{u(await o(m))}catch(g){if(!(g instanceof Error)){y(new TypeError(`Non-error was thrown: "${g}". You should only throw errors.`));return}if(g instanceof r)s.stop(),y(g.originalError);else if(g instanceof TypeError&&!i(g.message))s.stop(),y(g);else{n(g,m,p);try{await p.onFailedAttempt(g)}catch(S){y(S);return}s.retry(g)||y(s.mainError())}}})});return ix.exports=a,us.default=a,us.AbortError=r,us}var Br={},rr={},dx=Ae;Object.defineProperty(rr,"__esModule",{value:!0});rr.UnstableValue=rr.ServerControlledNamespacedValue=rr.NamespacedValue=void 0;var ux=dx(Ue);let P0=class{constructor(t,r){if(this.stable=t,this.unstable=r,!this.unstable&&!this.stable)throw new Error("One of stable or unstable values must be supplied")}get name(){return this.stable?this.stable:this.unstable}get altName(){return this.stable?this.unstable:null}get names(){const t=[this.name],r=this.altName;return r&&t.push(r),t}matches(t){return this.name===t||this.altName===t}findIn(t){let r;return this.name&&(r=t==null?void 0:t[this.name]),!r&&this.altName&&(r=t==null?void 0:t[this.altName]),r}includedIn(t){let r=!1;return this.name&&(r=t.includes(this.name)),!r&&this.altName&&(r=t.includes(this.altName)),r}};rr.NamespacedValue=P0;class cx extends P0{constructor(...t){super(...t),(0,ux.default)(this,"preferUnstable",!1)}setPreferUnstable(t){this.preferUnstable=t}get name(){return this.stable&&!this.preferUnstable?this.stable:this.unstable}}rr.ServerControlledNamespacedValue=cx;let px=class extends P0{constructor(t,r){if(super(t,r),!this.unstable)throw new Error("Unstable value must be supplied")}get name(){return this.unstable}get altName(){return this.stable}};rr.UnstableValue=px;var cl={},m4;function uE(){if(m4)return cl;m4=1,Object.defineProperty(cl,"__esModule",{value:!0}),cl.TEXT_NODE_TYPE=void 0;var e=rr;const t=new e.UnstableValue("m.text","org.matrix.msc1767.text");return cl.TEXT_NODE_TYPE=t,cl}var v4;function cE(){if(v4)return Br;v4=1,Object.defineProperty(Br,"__esModule",{value:!0}),Br.M_TIMESTAMP=Br.M_LOCATION=Br.M_ASSET=Br.LocationAssetType=void 0;var e=rr;uE();let t;Br.LocationAssetType=t,function(a){a.Self="m.self",a.Pin="m.pin"}(t||(Br.LocationAssetType=t={}));const r=new e.UnstableValue("m.asset","org.matrix.msc3488.asset");Br.M_ASSET=r;const n=new e.UnstableValue("m.ts","org.matrix.msc3488.ts");Br.M_TIMESTAMP=n;const i=new e.UnstableValue("m.location","org.matrix.msc3488.location");return Br.M_LOCATION=i,Br}var Ii={},g4;function js(){if(g4)return Ii;g4=1,Object.defineProperty(Ii,"__esModule",{value:!0}),Ii.ReceiptType=Ii.MAIN_ROOM_TIMELINE=void 0;let e;Ii.ReceiptType=e,function(r){r.Read="m.read",r.FullyRead="m.fully_read",r.ReadPrivate="m.read.private"}(e||(Ii.ReceiptType=e={}));const t="main";return Ii.MAIN_ROOM_TIMELINE=t,Ii}var y4;function dt(){if(y4)return Je;y4=1;var e=Ae;Object.defineProperty(Je,"__esModule",{value:!0}),Je.DEFAULT_ALPHABET=void 0,Je.alphabetPad=R,Je.averageBetweenStrings=$,Je.baseToString=k,Je.checkObjectHasKeys=_,Je.chunkPromises=G,Je.compare=ne,Je.decodeParams=g,Je.deepCompare=l,Je.deepCopy=d,Je.deepSortedObjectEntries=c,Je.defer=K,Je.encodeParams=s,Je.encodeUri=S,Je.ensureNoTrailingSlash=F,Je.escapeRegExp=A,Je.globToRegexp=L,Je.internaliseString=y,Je.isFunction=h,Je.isNullOrUndefined=H,Je.isNumber=f,Je.isSupportedReceiptType=oe,Je.lexicographicCompare=T,Je.mapsEqual=M,Je.nextString=C,Je.normalize=I,Je.prevString=N,Je.promiseMapSeries=W,Je.promiseTry=X,Je.recursivelyAssign=se,Je.removeDirectionOverrideChars=w,Je.removeElement=v,Je.removeHiddenChars=E,Je.replaceParam=m,Je.simpleRetryOperation=j,Je.sleep=x,Je.sortEventsByLatestContentTimestamp=q,Je.stringToBase=B;var t=e(Ue),r=e(nx()),n=e(dE()),i=cE(),a=js();function o(O,z){var J=Object.keys(O);if(Object.getOwnPropertySymbols){var re=Object.getOwnPropertySymbols(O);z&&(re=re.filter(function(le){return Object.getOwnPropertyDescriptor(O,le).enumerable})),J.push.apply(J,re)}return J}function p(O){for(var z=1;z<arguments.length;z++){var J=arguments[z]!=null?arguments[z]:{};z%2?o(Object(J),!0).forEach(function(re){(0,t.default)(O,re,J[re])}):Object.getOwnPropertyDescriptors?Object.defineProperties(O,Object.getOwnPropertyDescriptors(J)):o(Object(J)).forEach(function(re){Object.defineProperty(O,re,Object.getOwnPropertyDescriptor(J,re))})}return O}const u=new Map;function y(O){return O instanceof String&&(O=O.toString()),u.has(O)||u.set(O,O),u.get(O)}function s(O,z){const J=z??new URLSearchParams;for(const[re,le]of Object.entries(O))le!=null&&(Array.isArray(le)?le.forEach(de=>{J.append(re,String(de))}):J.append(re,String(le)));return J}function m(O,z,J){const re=p(p({},J),{},{[z]:J[O]});return delete re[O],re}function g(O){const z={},J=new URLSearchParams(O);for(const re of J.keys()){const le=J.getAll(re);z[re]=le.length===1?le[0]:le}return z}function S(O,z){for(const J in z){if(!z.hasOwnProperty(J))continue;const re=z[J];re!=null&&(O=O.replace(J,encodeURIComponent(re)))}return O}function v(O,z,J){let re;if(J){for(re=O.length-1;re>=0;re--)if(z(O[re],re,O))return O.splice(re,1),!0}else for(re=0;re<O.length;re++)if(z(O[re],re,O))return O.splice(re,1),!0;return!1}function h(O){return Object.prototype.toString.call(O)==="[object Function]"}function _(O,z){for(const J of z)if(!O.hasOwnProperty(J))throw new Error("Missing required key: "+J)}function d(O){return JSON.parse(JSON.stringify(O))}function l(O,z){if(O===z)return!0;if(typeof O!=typeof z)return!1;if(typeof O=="number"&&isNaN(O)&&isNaN(z))return!0;if(O===null||z===null)return O===z;if(!(O instanceof Object)||O.constructor!==z.constructor||O.prototype!==z.prototype)return!1;if(O instanceof RegExp||O instanceof Date)return O.toString()===z.toString();if(Array.isArray(O)){if(O.length!==z.length)return!1;for(let J=0;J<O.length;J++)if(!l(O[J],z[J]))return!1}else{for(const J in z)if(z.hasOwnProperty(J)!==O.hasOwnProperty(J))return!1;for(const J in O)if(z.hasOwnProperty(J)!==O.hasOwnProperty(J)||!l(O[J],z[J]))return!1}return!0}function c(O){if(typeof O!="object"||O==null||Array.isArray(O))return O;const z=[];for(const[J,re]of Object.entries(O))z.push([J,c(re)]);return z.sort((J,re)=>T(J[0],re[0])),z}function f(O){return typeof O=="number"&&isFinite(O)}function E(O){return typeof O=="string"?(0,r.default)(O.normalize("NFD").replace(D,"")):""}function w(O){return typeof O=="string"?O.replace(/[\u202d-\u202e]/g,""):""}function I(O){return E(O.toLowerCase()).replace(/[\\'!"#$%&()*+,\-./:;<=>?@[\]^_`{|}~\u2000-\u206f\u2e00-\u2e7f]/g,"").toLowerCase()}const D=/[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;function A(O){return O.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function L(O,z=!1){const J=[[/\\\*/g,".*"],[/\?/g,"."]];return z||J.push([/\\\[(!|)(.*)\\]/g,(re,le,de)=>["[",le?"^":"",de.replace(/\\-/,"-"),"]"].join("")]),J.reduce((re,le)=>le?re.replace(le[0],le[1]):re,A(O))}function F(O){return O!=null&&O.endsWith("/")?O.slice(0,-1):O}function x(O,z){return new Promise(J=>{setTimeout(J,O,z)})}function H(O){return O==null}function K(){let O,z;const J=new Promise((re,le)=>{O=re,z=le});return{resolve:O,reject:z,promise:J}}async function W(O,z){for(const J of O)await z(await J)}function X(O){return Promise.resolve(O())}async function G(O,z){const J=[];for(let re=0;re<O.length;re+=z)J.push(...await Promise.all(O.slice(re,re+z).map(le=>le())));return J}function j(O){return(0,n.default)(z=>O(z),{forever:!0,factor:2,minTimeout:3e3,maxTimeout:15e3})}const Y=(()=>{let O="";for(let z=32;z<=126;z++)O+=String.fromCharCode(z);return O})();Je.DEFAULT_ALPHABET=Y;function R(O,z,J=Y){return O.padEnd(z,J[0])}function k(O,z=Y){const J=BigInt(z.length);if(O<=J){var re;return(re=z[Number(O)-1])!==null&&re!==void 0?re:""}let le=O/J,de=Number(O%J)-1;return de<0&&(le-=BigInt(Math.abs(de)),de=Number(J)-1),k(le,z)+z[de]}function B(O,z=Y){const J=BigInt(z.length);let re=BigInt(0);for(let le=O.length-1,de=BigInt(0);le>=0;le--,de++){const ue=O.charCodeAt(le)-z.charCodeAt(0);re+=BigInt(1+ue)*J**de}return re}function $(O,z,J=Y){const re=Math.max(O.length,z.length),le=B(R(O,re,J),J),de=B(R(z,re,J),J),ue=(le+de)/BigInt(2);return ue===le||ue==de?k(ue,J)+J[0]:k(ue,J)}function C(O,z=Y){return k(B(O,z)+BigInt(1),z)}function N(O,z=Y){return k(B(O,z)-BigInt(1),z)}function T(O,z){return O<z?-1:O>z?1:0}const ee=new Intl.Collator;function ne(O,z){return ee.compare(O,z)}function se(O,z,J=!1){for(const[re,le]of Object.entries(z)){if(O[re]instanceof Object&&le){se(O[re],le);continue}if(le!=null||!J){O[re]=le;continue}}return O}function me(O){var z;return(z=i.M_TIMESTAMP.findIn(O.getContent()))!==null&&z!==void 0?z:-1}function q(O,z){return me(z)-me(O)}function oe(O){return[a.ReceiptType.Read,a.ReceiptType.ReadPrivate].includes(O)}function M(O,z,J=(re,le)=>re===le){if(O.size!==z.size)return!1;for(const[re,le]of O){const de=z.get(re);if(de===void 0||!J(le,de))return!1}return!0}return Je}var fx=Ae;Object.defineProperty(Bs,"__esModule",{value:!0});Bs.MemoryCryptoStore=void 0;var lr=fx(Ue),tc=Ge(),_4=hx(dt());function pE(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(pE=function(n){return n?r:t})(e)}function hx(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=pE(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(a!=="default"&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}function S4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function E4(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?S4(Object(r),!0).forEach(function(n){(0,lr.default)(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S4(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}class mx{constructor(){(0,lr.default)(this,"outgoingRoomKeyRequests",[]),(0,lr.default)(this,"account",null),(0,lr.default)(this,"crossSigningKeys",null),(0,lr.default)(this,"privateKeys",{}),(0,lr.default)(this,"sessions",{}),(0,lr.default)(this,"sessionProblems",{}),(0,lr.default)(this,"notifiedErrorDevices",{}),(0,lr.default)(this,"inboundGroupSessions",{}),(0,lr.default)(this,"inboundGroupSessionsWithheld",{}),(0,lr.default)(this,"deviceData",null),(0,lr.default)(this,"rooms",{}),(0,lr.default)(this,"sessionsNeedingBackup",{}),(0,lr.default)(this,"sharedHistoryInboundGroupSessions",{}),(0,lr.default)(this,"parkedSharedHistory",new Map)}async startup(){return this}deleteAllData(){return Promise.resolve()}getOrAddOutgoingRoomKeyRequest(t){const r=t.requestBody;return _4.promiseTry(()=>{const n=this._getOutgoingRoomKeyRequest(r);return n?(tc.logger.log(`already have key request outstanding for ${r.room_id} / ${r.session_id}: not sending another`),n):(tc.logger.log(`enqueueing key request for ${r.room_id} / `+r.session_id),this.outgoingRoomKeyRequests.push(t),t)})}getOutgoingRoomKeyRequest(t){return Promise.resolve(this._getOutgoingRoomKeyRequest(t))}_getOutgoingRoomKeyRequest(t){for(const r of this.outgoingRoomKeyRequests)if(_4.deepCompare(r.requestBody,t))return r;return null}getOutgoingRoomKeyRequestByState(t){for(const r of this.outgoingRoomKeyRequests)for(const n of t)if(r.state===n)return Promise.resolve(r);return Promise.resolve(null)}getAllOutgoingRoomKeyRequestsByState(t){return Promise.resolve(this.outgoingRoomKeyRequests.filter(r=>r.state==t))}getOutgoingRoomKeyRequestsByTarget(t,r,n){const i=[];for(const a of this.outgoingRoomKeyRequests)for(const o of n)a.state===o&&a.recipients.some(p=>p.userId===t&&p.deviceId===r)&&i.push(a);return Promise.resolve(i)}updateOutgoingRoomKeyRequest(t,r,n){for(const i of this.outgoingRoomKeyRequests)if(i.requestId===t)return i.state!==r?(tc.logger.warn(`Cannot update room key request from ${r} as it was already updated to ${i.state}`),Promise.resolve(null)):(Object.assign(i,n),Promise.resolve(i));return Promise.resolve(null)}deleteOutgoingRoomKeyRequest(t,r){for(let n=0;n<this.outgoingRoomKeyRequests.length;n++){const i=this.outgoingRoomKeyRequests[n];if(i.requestId===t)return i.state!=r?(tc.logger.warn(`Cannot delete room key request in state ${i.state} (expected ${r})`),Promise.resolve(null)):(this.outgoingRoomKeyRequests.splice(n,1),Promise.resolve(i))}return Promise.resolve(null)}getAccount(t,r){r(this.account)}storeAccount(t,r){this.account=r}getCrossSigningKeys(t,r){r(this.crossSigningKeys)}getSecretStorePrivateKey(t,r,n){const i=this.privateKeys[n];r(i||null)}storeCrossSigningKeys(t,r){this.crossSigningKeys=r}storeSecretStorePrivateKey(t,r,n){this.privateKeys[r]=n}countEndToEndSessions(t,r){r(Object.keys(this.sessions).length)}getEndToEndSession(t,r,n,i){const a=this.sessions[t]||{};i(a[r]||null)}getEndToEndSessions(t,r,n){n(this.sessions[t]||{})}getAllEndToEndSessions(t,r){Object.entries(this.sessions).forEach(([n,i])=>{Object.entries(i).forEach(([a,o])=>{r(E4(E4({},o),{},{deviceKey:n,sessionId:a}))})})}storeEndToEndSession(t,r,n,i){let a=this.sessions[t];a===void 0&&(a={},this.sessions[t]=a),a[r]=n}async storeEndToEndSessionProblem(t,r,n){const i=this.sessionProblems[t]=this.sessionProblems[t]||[];i.push({type:r,fixed:n,time:Date.now()}),i.sort((a,o)=>a.time-o.time)}async getEndToEndSessionProblem(t,r){const n=this.sessionProblems[t]||[];if(!n.length)return null;const i=n[n.length-1];for(const a of n)if(a.time>r)return Object.assign({},a,{fixed:i.fixed});return i.fixed?null:i}async filterOutNotifiedErrorDevices(t){const r=this.notifiedErrorDevices,n=[];for(const i of t){const{userId:a,deviceInfo:o}=i;a in r?o.deviceId in r[a]||(n.push(i),r[a][o.deviceId]=!0):(n.push(i),r[a]={[o.deviceId]:!0})}return n}getEndToEndInboundGroupSession(t,r,n,i){const a=t+"/"+r;i(this.inboundGroupSessions[a]||null,this.inboundGroupSessionsWithheld[a]||null)}getAllEndToEndInboundGroupSessions(t,r){for(const n of Object.keys(this.inboundGroupSessions))r({senderKey:n.slice(0,43),sessionId:n.slice(44),sessionData:this.inboundGroupSessions[n]});r(null)}addEndToEndInboundGroupSession(t,r,n,i){const a=t+"/"+r;this.inboundGroupSessions[a]===void 0&&(this.inboundGroupSessions[a]=n)}storeEndToEndInboundGroupSession(t,r,n,i){this.inboundGroupSessions[t+"/"+r]=n}storeEndToEndInboundGroupSessionWithheld(t,r,n,i){const a=t+"/"+r;this.inboundGroupSessionsWithheld[a]=n}getEndToEndDeviceData(t,r){r(this.deviceData)}storeEndToEndDeviceData(t,r){this.deviceData=t}storeEndToEndRoom(t,r,n){this.rooms[t]=r}getEndToEndRooms(t,r){r(this.rooms)}getSessionsNeedingBackup(t){const r=[];for(const n in this.sessionsNeedingBackup)if(this.inboundGroupSessions[n]&&(r.push({senderKey:n.slice(0,43),sessionId:n.slice(44),sessionData:this.inboundGroupSessions[n]}),t&&n.length>=t))break;return Promise.resolve(r)}countSessionsNeedingBackup(){return Promise.resolve(Object.keys(this.sessionsNeedingBackup).length)}unmarkSessionsNeedingBackup(t){for(const r of t){const n=r.senderKey+"/"+r.sessionId;delete this.sessionsNeedingBackup[n]}return Promise.resolve()}markSessionsNeedingBackup(t){for(const r of t){const n=r.senderKey+"/"+r.sessionId;this.sessionsNeedingBackup[n]=!0}return Promise.resolve()}addSharedHistoryInboundGroupSession(t,r,n){const i=this.sharedHistoryInboundGroupSessions[t]||[];i.push([r,n]),this.sharedHistoryInboundGroupSessions[t]=i}getSharedHistoryInboundGroupSessions(t){return Promise.resolve(this.sharedHistoryInboundGroupSessions[t]||[])}addParkedSharedHistory(t,r){var n;const i=(n=this.parkedSharedHistory.get(t))!==null&&n!==void 0?n:[];i.push(r),this.parkedSharedHistory.set(t,i)}takeParkedSharedHistory(t){var r;const n=(r=this.parkedSharedHistory.get(t))!==null&&r!==void 0?r:[];return this.parkedSharedHistory.delete(t),Promise.resolve(n)}doTxn(t,r,n){return Promise.resolve(n(null))}}Bs.MemoryCryptoStore=mx;var du={},Zr={},Ci={},yd={},vx={get exports(){return yd},set exports(e){yd=e}},w4;function d1(){if(w4)return yd;w4=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(E,w,I){return Function.prototype.apply.call(E,w,I)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(E){return Object.getOwnPropertyNames(E).concat(Object.getOwnPropertySymbols(E))}:r=function(E){return Object.getOwnPropertyNames(E)};function n(f){console&&console.warn&&console.warn(f)}var i=Number.isNaN||function(E){return E!==E};function a(){a.init.call(this)}vx.exports=a,yd.once=d,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function p(f){if(typeof f!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof f)}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(f){if(typeof f!="number"||f<0||i(f))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+f+".");o=f}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(E){if(typeof E!="number"||E<0||i(E))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+E+".");return this._maxListeners=E,this};function u(f){return f._maxListeners===void 0?a.defaultMaxListeners:f._maxListeners}a.prototype.getMaxListeners=function(){return u(this)},a.prototype.emit=function(E){for(var w=[],I=1;I<arguments.length;I++)w.push(arguments[I]);var D=E==="error",A=this._events;if(A!==void 0)D=D&&A.error===void 0;else if(!D)return!1;if(D){var L;if(w.length>0&&(L=w[0]),L instanceof Error)throw L;var F=new Error("Unhandled error."+(L?" ("+L.message+")":""));throw F.context=L,F}var x=A[E];if(x===void 0)return!1;if(typeof x=="function")t(x,this,w);else for(var H=x.length,K=v(x,H),I=0;I<H;++I)t(K[I],this,w);return!0};function y(f,E,w,I){var D,A,L;if(p(w),A=f._events,A===void 0?(A=f._events=Object.create(null),f._eventsCount=0):(A.newListener!==void 0&&(f.emit("newListener",E,w.listener?w.listener:w),A=f._events),L=A[E]),L===void 0)L=A[E]=w,++f._eventsCount;else if(typeof L=="function"?L=A[E]=I?[w,L]:[L,w]:I?L.unshift(w):L.push(w),D=u(f),D>0&&L.length>D&&!L.warned){L.warned=!0;var F=new Error("Possible EventEmitter memory leak detected. "+L.length+" "+String(E)+" listeners added. Use emitter.setMaxListeners() to increase limit");F.name="MaxListenersExceededWarning",F.emitter=f,F.type=E,F.count=L.length,n(F)}return f}a.prototype.addListener=function(E,w){return y(this,E,w,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(E,w){return y(this,E,w,!0)};function s(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function m(f,E,w){var I={fired:!1,wrapFn:void 0,target:f,type:E,listener:w},D=s.bind(I);return D.listener=w,I.wrapFn=D,D}a.prototype.once=function(E,w){return p(w),this.on(E,m(this,E,w)),this},a.prototype.prependOnceListener=function(E,w){return p(w),this.prependListener(E,m(this,E,w)),this},a.prototype.removeListener=function(E,w){var I,D,A,L,F;if(p(w),D=this._events,D===void 0)return this;if(I=D[E],I===void 0)return this;if(I===w||I.listener===w)--this._eventsCount===0?this._events=Object.create(null):(delete D[E],D.removeListener&&this.emit("removeListener",E,I.listener||w));else if(typeof I!="function"){for(A=-1,L=I.length-1;L>=0;L--)if(I[L]===w||I[L].listener===w){F=I[L].listener,A=L;break}if(A<0)return this;A===0?I.shift():h(I,A),I.length===1&&(D[E]=I[0]),D.removeListener!==void 0&&this.emit("removeListener",E,F||w)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(E){var w,I,D;if(I=this._events,I===void 0)return this;if(I.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):I[E]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete I[E]),this;if(arguments.length===0){var A=Object.keys(I),L;for(D=0;D<A.length;++D)L=A[D],L!=="removeListener"&&this.removeAllListeners(L);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(w=I[E],typeof w=="function")this.removeListener(E,w);else if(w!==void 0)for(D=w.length-1;D>=0;D--)this.removeListener(E,w[D]);return this};function g(f,E,w){var I=f._events;if(I===void 0)return[];var D=I[E];return D===void 0?[]:typeof D=="function"?w?[D.listener||D]:[D]:w?_(D):v(D,D.length)}a.prototype.listeners=function(E){return g(this,E,!0)},a.prototype.rawListeners=function(E){return g(this,E,!1)},a.listenerCount=function(f,E){return typeof f.listenerCount=="function"?f.listenerCount(E):S.call(f,E)},a.prototype.listenerCount=S;function S(f){var E=this._events;if(E!==void 0){var w=E[f];if(typeof w=="function")return 1;if(w!==void 0)return w.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function v(f,E){for(var w=new Array(E),I=0;I<E;++I)w[I]=f[I];return w}function h(f,E){for(;E+1<f.length;E++)f[E]=f[E+1];f.pop()}function _(f){for(var E=new Array(f.length),w=0;w<E.length;++w)E[w]=f[w].listener||f[w];return E}function d(f,E){return new Promise(function(w,I){function D(L){f.removeListener(E,A),I(L)}function A(){typeof f.removeListener=="function"&&f.removeListener("error",D),w([].slice.call(arguments))}c(f,E,A,{once:!0}),E!=="error"&&l(f,D,{once:!0})})}function l(f,E,w){typeof f.on=="function"&&c(f,"error",E,w)}function c(f,E,w,I){if(typeof f.on=="function")I.once?f.once(E,w):f.on(E,w);else if(typeof f.addEventListener=="function")f.addEventListener(E,function D(A){I.once&&f.removeEventListener(E,D),w(A)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof f)}return yd}var b4;function At(){if(b4)return Ci;b4=1,Object.defineProperty(Ci,"__esModule",{value:!0}),Ci.TypedEventEmitter=Ci.EventEmitterEvents=void 0;var e=d1();let t;Ci.EventEmitterEvents=t,function(n){n.NewListener="newListener",n.RemoveListener="removeListener",n.Error="error"}(t||(Ci.EventEmitterEvents=t={}));class r extends e.EventEmitter{addListener(i,a){return super.addListener(i,a)}emit(i,...a){return super.emit(i,...a)}eventNames(){return super.eventNames()}listenerCount(i){return super.listenerCount(i)}listeners(i){return super.listeners(i)}off(i,a){return super.off(i,a)}on(i,a){return super.on(i,a)}once(i,a){return super.once(i,a)}prependListener(i,a){return super.prependListener(i,a)}prependOnceListener(i,a){return super.prependOnceListener(i,a)}removeAllListeners(i){return super.removeAllListeners(i)}removeListener(i,a){return super.removeListener(i,a)}rawListeners(i){return super.rawListeners(i)}}return Ci.TypedEventEmitter=r,Ci}var gx=Ae;Object.defineProperty(Zr,"__esModule",{value:!0});Zr.UserEvent=Zr.User=void 0;var Nn=gx(Ue),yx=At();let Yi;Zr.UserEvent=Yi;(function(e){e.DisplayName="User.displayName",e.AvatarUrl="User.avatarUrl",e.Presence="User.presence",e.CurrentlyActive="User.currentlyActive",e.LastPresenceTs="User.lastPresenceTs"})(Yi||(Zr.UserEvent=Yi={}));class _x extends yx.TypedEventEmitter{constructor(t){super(),this.userId=t,(0,Nn.default)(this,"modified",-1),(0,Nn.default)(this,"displayName",void 0),(0,Nn.default)(this,"rawDisplayName",void 0),(0,Nn.default)(this,"avatarUrl",void 0),(0,Nn.default)(this,"presenceStatusMsg",void 0),(0,Nn.default)(this,"presence","offline"),(0,Nn.default)(this,"lastActiveAgo",0),(0,Nn.default)(this,"lastPresenceTs",0),(0,Nn.default)(this,"currentlyActive",!1),(0,Nn.default)(this,"events",{}),this.displayName=t,this.rawDisplayName=t,this.updateModifiedTime()}setPresenceEvent(t){if(t.getType()!=="m.presence")return;const r=this.events.presence===null;this.events.presence=t;const n=[];(t.getContent().presence!==this.presence||r)&&n.push(Yi.Presence),t.getContent().avatar_url&&t.getContent().avatar_url!==this.avatarUrl&&n.push(Yi.AvatarUrl),t.getContent().displayname&&t.getContent().displayname!==this.displayName&&n.push(Yi.DisplayName),t.getContent().currently_active!==void 0&&t.getContent().currently_active!==this.currentlyActive&&n.push(Yi.CurrentlyActive),this.presence=t.getContent().presence,n.push(Yi.LastPresenceTs),t.getContent().status_msg&&(this.presenceStatusMsg=t.getContent().status_msg),t.getContent().displayname&&(this.displayName=t.getContent().displayname),t.getContent().avatar_url&&(this.avatarUrl=t.getContent().avatar_url),this.lastActiveAgo=t.getContent().last_active_ago,this.lastPresenceTs=Date.now(),this.currentlyActive=t.getContent().currently_active,this.updateModifiedTime();for(const i of n)this.emit(i,t,this)}setDisplayName(t){const r=this.displayName;this.displayName=t,t!==r&&this.updateModifiedTime()}setRawDisplayName(t){this.rawDisplayName=t}setAvatarUrl(t){const r=this.avatarUrl;this.avatarUrl=t,t!==r&&this.updateModifiedTime()}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}getLastActiveTs(){return this.lastPresenceTs-this.lastActiveAgo}}Zr.User=_x;var Oi={},en={},Ks={};Object.defineProperty(Ks,"__esModule",{value:!0});Ks.getHttpUriForMxc=wx;var Sx=Ex(dt());function fE(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(fE=function(n){return n?r:t})(e)}function Ex(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=fE(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(a!=="default"&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}function wx(e,t,r,n,i,a=!1){if(typeof t!="string"||!t)return"";if(t.indexOf("mxc://")!==0)return a?t:"";let o=t.slice(6),p="/_matrix/media/r0/download/";const u={};r&&(u.width=Math.round(r).toString()),n&&(u.height=Math.round(n).toString()),i&&(u.method=i),Object.keys(u).length>0&&(p="/_matrix/media/r0/thumbnail/");const y=o.indexOf("#");let s="";y>=0&&(s=o.slice(y),o=o.slice(0,y));const m=Object.keys(u).length===0?"":"?"+Sx.encodeParams(u);return e+p+o+m+s}var xe={};Object.defineProperty(xe,"__esModule",{value:!0});xe.UNSTABLE_MSC3089_TREE_SUBTYPE=xe.UNSTABLE_MSC3089_LEAF=xe.UNSTABLE_MSC3089_BRANCH=xe.UNSTABLE_MSC3088_PURPOSE=xe.UNSTABLE_MSC3088_ENABLED=xe.UNSTABLE_MSC2716_MARKER=xe.UNSTABLE_ELEMENT_FUNCTIONAL_USERS=xe.ToDeviceMessageId=xe.RoomType=xe.RoomCreateTypeField=xe.RelationType=xe.PUSHER_ENABLED=xe.PUSHER_DEVICE_ID=xe.MsgType=xe.LOCAL_NOTIFICATION_SETTINGS_PREFIX=xe.EventType=xe.EVENT_VISIBILITY_CHANGE_TYPE=void 0;var On=rr;let ov;xe.EventType=ov;(function(e){e.RoomCanonicalAlias="m.room.canonical_alias",e.RoomCreate="m.room.create",e.RoomJoinRules="m.room.join_rules",e.RoomMember="m.room.member",e.RoomThirdPartyInvite="m.room.third_party_invite",e.RoomPowerLevels="m.room.power_levels",e.RoomName="m.room.name",e.RoomTopic="m.room.topic",e.RoomAvatar="m.room.avatar",e.RoomPinnedEvents="m.room.pinned_events",e.RoomEncryption="m.room.encryption",e.RoomHistoryVisibility="m.room.history_visibility",e.RoomGuestAccess="m.room.guest_access",e.RoomServerAcl="m.room.server_acl",e.RoomTombstone="m.room.tombstone",e.SpaceChild="m.space.child",e.SpaceParent="m.space.parent",e.RoomRedaction="m.room.redaction",e.RoomMessage="m.room.message",e.RoomMessageEncrypted="m.room.encrypted",e.Sticker="m.sticker",e.CallInvite="m.call.invite",e.CallCandidates="m.call.candidates",e.CallAnswer="m.call.answer",e.CallHangup="m.call.hangup",e.CallReject="m.call.reject",e.CallSelectAnswer="m.call.select_answer",e.CallNegotiate="m.call.negotiate",e.CallSDPStreamMetadataChanged="m.call.sdp_stream_metadata_changed",e.CallSDPStreamMetadataChangedPrefix="org.matrix.call.sdp_stream_metadata_changed",e.CallReplaces="m.call.replaces",e.CallAssertedIdentity="m.call.asserted_identity",e.CallAssertedIdentityPrefix="org.matrix.call.asserted_identity",e.KeyVerificationRequest="m.key.verification.request",e.KeyVerificationStart="m.key.verification.start",e.KeyVerificationCancel="m.key.verification.cancel",e.KeyVerificationMac="m.key.verification.mac",e.KeyVerificationDone="m.key.verification.done",e.KeyVerificationKey="m.key.verification.key",e.KeyVerificationAccept="m.key.verification.accept",e.KeyVerificationReady="m.key.verification.ready",e.RoomMessageFeedback="m.room.message.feedback",e.Reaction="m.reaction",e.Typing="m.typing",e.Receipt="m.receipt",e.Presence="m.presence",e.FullyRead="m.fully_read",e.Tag="m.tag",e.SpaceOrder="org.matrix.msc3230.space_order",e.PushRules="m.push_rules",e.Direct="m.direct",e.IgnoredUserList="m.ignored_user_list",e.RoomKey="m.room_key",e.RoomKeyRequest="m.room_key_request",e.ForwardedRoomKey="m.forwarded_room_key",e.Dummy="m.dummy",e.GroupCallPrefix="org.matrix.msc3401.call",e.GroupCallMemberPrefix="org.matrix.msc3401.call.member"})(ov||(xe.EventType=ov={}));let sv;xe.RelationType=sv;(function(e){e.Annotation="m.annotation",e.Replace="m.replace",e.Reference="m.reference",e.Thread="m.thread"})(sv||(xe.RelationType=sv={}));let lv;xe.MsgType=lv;(function(e){e.Text="m.text",e.Emote="m.emote",e.Notice="m.notice",e.Image="m.image",e.File="m.file",e.Audio="m.audio",e.Location="m.location",e.Video="m.video",e.KeyVerificationRequest="m.key.verification.request"})(lv||(xe.MsgType=lv={}));const bx="type";xe.RoomCreateTypeField=bx;let dv;xe.RoomType=dv;(function(e){e.Space="m.space",e.UnstableCall="org.matrix.msc3417.call",e.ElementVideo="io.element.video"})(dv||(xe.RoomType=dv={}));const Tx="org.matrix.msgid";xe.ToDeviceMessageId=Tx;const Rx=new On.UnstableValue("m.room.purpose","org.matrix.msc3088.purpose");xe.UNSTABLE_MSC3088_PURPOSE=Rx;const Ix=new On.UnstableValue("m.enabled","org.matrix.msc3088.enabled");xe.UNSTABLE_MSC3088_ENABLED=Ix;const Cx=new On.UnstableValue("m.data_tree","org.matrix.msc3089.data_tree");xe.UNSTABLE_MSC3089_TREE_SUBTYPE=Cx;const Ox=new On.UnstableValue("m.leaf","org.matrix.msc3089.leaf");xe.UNSTABLE_MSC3089_LEAF=Ox;const Px=new On.UnstableValue("m.branch","org.matrix.msc3089.branch");xe.UNSTABLE_MSC3089_BRANCH=Px;const kx=new On.UnstableValue("m.room.marker","org.matrix.msc2716.marker");xe.UNSTABLE_MSC2716_MARKER=kx;const Dx=new On.UnstableValue("io.element.functional_members","io.element.functional_members");xe.UNSTABLE_ELEMENT_FUNCTIONAL_USERS=Dx;const Mx=new On.UnstableValue("m.visibility","org.matrix.msc3531.visibility");xe.EVENT_VISIBILITY_CHANGE_TYPE=Mx;const Ax=new On.UnstableValue("enabled","org.matrix.msc3881.enabled");xe.PUSHER_ENABLED=Ax;const Nx=new On.UnstableValue("device_id","org.matrix.msc3881.device_id");xe.PUSHER_DEVICE_ID=Nx;const Lx=new On.UnstableValue("m.local_notification_settings","org.matrix.msc3890.local_notification_settings");xe.LOCAL_NOTIFICATION_SETTINGS_PREFIX=Lx;var xx=Ae;Object.defineProperty(en,"__esModule",{value:!0});en.RoomMemberEvent=en.RoomMember=void 0;var jr=xx(Ue),Ux=Ks,_s=Bx(dt()),$x=Ge(),Fx=At(),T4=xe;function hE(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(hE=function(n){return n?r:t})(e)}function Bx(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=hE(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(a!=="default"&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}let Ja;en.RoomMemberEvent=Ja;(function(e){e.Membership="RoomMember.membership",e.Name="RoomMember.name",e.PowerLevel="RoomMember.powerLevel",e.Typing="RoomMember.typing"})(Ja||(en.RoomMemberEvent=Ja={}));class jx extends Fx.TypedEventEmitter{constructor(t,r){super(),this.roomId=t,this.userId=r,(0,jr.default)(this,"_isOutOfBand",!1),(0,jr.default)(this,"modified",-1),(0,jr.default)(this,"requestedProfileInfo",!1),(0,jr.default)(this,"typing",!1),(0,jr.default)(this,"name",void 0),(0,jr.default)(this,"rawDisplayName",void 0),(0,jr.default)(this,"powerLevel",0),(0,jr.default)(this,"powerLevelNorm",0),(0,jr.default)(this,"user",void 0),(0,jr.default)(this,"membership",void 0),(0,jr.default)(this,"disambiguate",!1),(0,jr.default)(this,"events",{}),this.name=r,this.rawDisplayName=r,this.updateModifiedTime()}markOutOfBand(){this._isOutOfBand=!0}isOutOfBand(){return this._isOutOfBand}setMembershipEvent(t,r){var n,i;const a=(n=t.getDirectionalContent().displayname)!==null&&n!==void 0?n:"";if(t.getType()!==T4.EventType.RoomMember)return;this._isOutOfBand=!1,this.events.member=t;const o=this.membership;this.membership=t.getDirectionalContent().membership,this.membership===void 0&&$x.logger.trace(`membership event with membership undefined (forwardLooking: ${t.forwardLooking})!`,t.getContent(),"prevcontent is ",t.getPrevContent()),this.disambiguate=qx(this.userId,a,r);const p=this.name;this.name=Wx(this.userId,a,this.disambiguate),this.rawDisplayName=_s.removeDirectionOverrideChars((i=t.getDirectionalContent().displayname)!==null&&i!==void 0?i:""),(!this.rawDisplayName||!_s.removeHiddenChars(this.rawDisplayName))&&(this.rawDisplayName=this.userId),o!==this.membership&&(this.updateModifiedTime(),this.emit(Ja.Membership,t,this,o)),p!==this.name&&(this.updateModifiedTime(),this.emit(Ja.Name,t,this,p))}setPowerLevelEvent(t){if(t.getType()!==T4.EventType.RoomPowerLevels||t.getStateKey()!=="")return;const r=t.getDirectionalContent();let n=r.users_default||0;const i=r.users||{};Object.values(i).forEach(p=>{n=Math.max(n,p)});const a=this.powerLevel,o=this.powerLevelNorm;i[this.userId]!==void 0&&Number.isInteger(i[this.userId])?this.powerLevel=i[this.userId]:r.users_default!==void 0?this.powerLevel=r.users_default:this.powerLevel=0,this.powerLevelNorm=0,n>0&&(this.powerLevelNorm=this.powerLevel*100/n),(a!==this.powerLevel||o!==this.powerLevelNorm)&&(this.updateModifiedTime(),this.emit(Ja.PowerLevel,t,this))}setTypingEvent(t){if(t.getType()!=="m.typing")return;const r=this.typing;this.typing=!1;const n=t.getContent().user_ids;Array.isArray(n)&&(n.indexOf(this.userId)!==-1&&(this.typing=!0),r!==this.typing&&(this.updateModifiedTime(),this.emit(Ja.Typing,t,this)))}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}isKicked(){return this.membership==="leave"&&this.events.member!==void 0&&this.events.member.getSender()!==this.events.member.getStateKey()}getDMInviter(){if(this.events.member){const t=this.events.member;let r=t.getContent(),n=t.getSender();if(r.membership==="join"&&(r=t.getPrevContent(),n=t.getUnsigned().prev_sender),r.membership==="invite"&&r.is_direct)return n}}getAvatarUrl(t,r,n,i,a=!0,o){const p=this.getMxcAvatarUrl();if(!p&&!a)return null;const u=(0,Ux.getHttpUriForMxc)(t,p,r,n,i,o);return u||null}getMxcAvatarUrl(){if(this.events.member)return this.events.member.getDirectionalContent().avatar_url;if(this.user)return this.user.avatarUrl}}en.RoomMember=jx;const Kx=/@.+:.+/,Vx=/[\u200E\u200F\u202A-\u202F]/;function qx(e,t,r){return!t||t===e||!_s.removeHiddenChars(t)||!r?!1:!!(Kx.test(t)||Vx.test(t)||r.getUserIdsWithDisplayName(t).some(i=>i!==e))}function Wx(e,t,r){return!t||t===e?e:r?_s.removeDirectionOverrideChars(t)+" ("+e+")":_s.removeHiddenChars(t)?_s.removeDirectionOverrideChars(t):e}var jf={},uu={},u1={},cu={};Object.defineProperty(cu,"__esModule",{value:!0});cu.NamespacedMap=void 0;function Hx(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=Gx(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(y){throw y},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,p;return{s:function(){r=r.call(e)},n:function(){var y=r.next();return a=y.done,y},e:function(y){o=!0,p=y},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(o)throw p}}}}function Gx(e,t){if(e){if(typeof e=="string")return R4(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return R4(e,t)}}function R4(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function zx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function I4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Yx(e,t,r){return t&&I4(e.prototype,t),r&&I4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Qx(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Jx=function(){function e(t){if(zx(this,e),Qx(this,"internalMap",new Map),t){var r=Hx(t),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;this.set(i[0],i[1])}}catch(a){r.e(a)}finally{r.f()}}}return Yx(e,[{key:"get",value:function(r){return r.name&&this.internalMap.has(r.name)?this.internalMap.get(r.name):r.altName&&this.internalMap.has(r.altName)?this.internalMap.get(r.altName):null}},{key:"set",value:function(r,n){r.name&&this.internalMap.set(r.name,n),r.altName&&this.internalMap.set(r.altName,n)}},{key:"has",value:function(r){return!!this.get(r)}},{key:"delete",value:function(r){r.name&&this.internalMap.delete(r.name),r.altName&&this.internalMap.delete(r.altName)}},{key:"hasNamespaced",value:function(r){return this.internalMap.has(r)}},{key:"getNamespaced",value:function(r){return this.internalMap.get(r)}}]),e}();cu.NamespacedMap=Jx;var wi={};function uv(e){return uv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uv(e)}Object.defineProperty(wi,"__esModule",{value:!0});wi.InvalidEventError=void 0;function C4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Xx(e,t,r){return t&&C4(e.prototype,t),r&&C4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Zx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eU(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Kd(e,t)}function tU(e){var t=mE();return function(){var n=Vd(e),i;if(t){var a=Vd(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return rU(this,i)}}function rU(e,t){if(t&&(uv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return nU(e)}function nU(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cv(e){var t=typeof Map=="function"?new Map:void 0;return cv=function(n){if(n===null||!iU(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(typeof t<"u"){if(t.has(n))return t.get(n);t.set(n,i)}function i(){return xc(n,arguments,Vd(this).constructor)}return i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}),Kd(i,n)},cv(e)}function xc(e,t,r){return mE()?xc=Reflect.construct:xc=function(i,a,o){var p=[null];p.push.apply(p,a);var u=Function.bind.apply(i,p),y=new u;return o&&Kd(y,o.prototype),y},xc.apply(null,arguments)}function mE(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function iU(e){return Function.toString.call(e).indexOf("[native code]")!==-1}function Kd(e,t){return Kd=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Kd(e,t)}function Vd(e){return Vd=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Vd(e)}var aU=function(e){eU(r,e);var t=tU(r);function r(n){return Zx(this,r),t.call(this,n)}return Xx(r)}(cv(Error));wi.InvalidEventError=aU;var Vs={},Xn={},Ra={};Object.defineProperty(Ra,"__esModule",{value:!0});Ra.ExtensibleEvent=void 0;function oU(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function O4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function sU(e,t,r){return t&&O4(e.prototype,t),r&&O4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var lU=function(){function e(t){oU(this,e),this.wireFormat=t}return sU(e,[{key:"wireContent",get:function(){return this.wireFormat.content}}]),e}();Ra.ExtensibleEvent=lU;var pu={};Object.defineProperty(pu,"__esModule",{value:!0});pu.isOptionalAString=dU;pu.isProvided=vE;function dU(e){return vE(e)&&typeof e=="string"}function vE(e){return e!=null}var Pt={},bn={};function pv(e){return pv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pv(e)}Object.defineProperty(bn,"__esModule",{value:!0});bn.UnstableValue=bn.NamespacedValue=void 0;function uU(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&fv(e,t)}function fv(e,t){return fv=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},fv(e,t)}function cU(e){var t=hU();return function(){var n=Sp(e),i;if(t){var a=Sp(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return pU(this,i)}}function pU(e,t){if(t&&(pv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return fU(e)}function fU(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hU(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Sp(e){return Sp=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Sp(e)}function gE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function P4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function yE(e,t,r){return t&&P4(e.prototype,t),r&&P4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}var _E=function(){function e(t,r){if(gE(this,e),this.stable=t,this.unstable=r,!this.unstable&&!this.stable)throw new Error("One of stable or unstable values must be supplied")}return yE(e,[{key:"name",get:function(){return this.stable?this.stable:this.unstable}},{key:"altName",get:function(){return this.stable?this.unstable:null}},{key:"matches",value:function(r){return!!this.name&&this.name===r||!!this.altName&&this.altName===r}},{key:"findIn",value:function(r){var n;return this.name&&(n=r==null?void 0:r[this.name]),!n&&this.altName&&(n=r==null?void 0:r[this.altName]),n}},{key:"includedIn",value:function(r){var n=!1;return this.name&&(n=r.includes(this.name)),!n&&this.altName&&(n=r.includes(this.altName)),n}}]),e}();bn.NamespacedValue=_E;var mU=function(e){uU(r,e);var t=cU(r);function r(n,i){var a;if(gE(this,r),a=t.call(this,n,i),!a.unstable)throw new Error("Unstable value must be supplied");return a}return yE(r,[{key:"name",get:function(){return this.unstable}},{key:"altName",get:function(){return this.stable}}]),r}(_E);bn.UnstableValue=mU;Object.defineProperty(Pt,"__esModule",{value:!0});Pt.M_TEXT=Pt.M_NOTICE=Pt.M_MESSAGE=Pt.M_HTML=Pt.M_EMOTE=void 0;var fu=bn,vU=new fu.UnstableValue("m.message","org.matrix.msc1767.message");Pt.M_MESSAGE=vU;var gU=new fu.UnstableValue("m.text","org.matrix.msc1767.text");Pt.M_TEXT=gU;var yU=new fu.UnstableValue("m.html","org.matrix.msc1767.html");Pt.M_HTML=yU;var _U=new fu.UnstableValue("m.emote","org.matrix.msc1767.emote");Pt.M_EMOTE=_U;var SU=new fu.UnstableValue("m.notice","org.matrix.msc1767.notice");Pt.M_NOTICE=SU;var bi={};Object.defineProperty(bi,"__esModule",{value:!0});bi.isEventTypeSame=EU;function EU(e,t){if(typeof e=="string")return typeof t=="string"?t===e:t.matches(e);if(typeof t=="string")return e.matches(t);var r=t,n=e;return r.matches(n.name)||r.matches(n.altName)}function hv(e){return hv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hv(e)}Object.defineProperty(Xn,"__esModule",{value:!0});Xn.MessageEvent=void 0;var wU=Ra,pl=pu,Kf=wi,Pr=Pt,bU=bi;function k4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function D4(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?k4(Object(r),!0).forEach(function(n){qi(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):k4(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function TU(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function M4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function RU(e,t,r){return t&&M4(e.prototype,t),r&&M4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function IU(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&mv(e,t)}function mv(e,t){return mv=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},mv(e,t)}function CU(e){var t=PU();return function(){var n=Ep(e),i;if(t){var a=Ep(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return OU(this,i)}}function OU(e,t){if(t&&(hv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Uc(e)}function Uc(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function PU(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Ep(e){return Ep=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Ep(e)}function qi(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var kU=function(e){IU(r,e);var t=CU(r);function r(n){var i;TU(this,r),i=t.call(this,n),qi(Uc(i),"text",void 0),qi(Uc(i),"html",void 0),qi(Uc(i),"renderings",void 0);var a=Pr.M_MESSAGE.findIn(i.wireContent),o=Pr.M_TEXT.findIn(i.wireContent),p=Pr.M_HTML.findIn(i.wireContent);if((0,pl.isProvided)(a)){if(!Array.isArray(a))throw new Kf.InvalidEventError("m.message contents must be an array");var u=a.find(function(s){return!(0,pl.isProvided)(s.mimetype)||s.mimetype==="text/plain"}),y=a.find(function(s){return s.mimetype==="text/html"});if(!u)throw new Kf.InvalidEventError("m.message is missing a plain text representation");i.text=u.body,i.html=y==null?void 0:y.body,i.renderings=a}else if((0,pl.isOptionalAString)(o))i.text=o,i.html=p,i.renderings=[{body:o,mimetype:"text/plain"}],i.html&&i.renderings.push({body:i.html,mimetype:"text/html"});else throw new Kf.InvalidEventError("Missing textual representation for event");return i}return RU(r,[{key:"isEmote",get:function(){return Pr.M_EMOTE.matches(this.wireFormat.type)||(0,pl.isProvided)(Pr.M_EMOTE.findIn(this.wireFormat.content))}},{key:"isNotice",get:function(){return Pr.M_NOTICE.matches(this.wireFormat.type)||(0,pl.isProvided)(Pr.M_NOTICE.findIn(this.wireFormat.content))}},{key:"isEquivalentTo",value:function(i){return(0,bU.isEventTypeSame)(i,Pr.M_MESSAGE)}},{key:"serializeMMessageOnly",value:function(){var i=qi({},Pr.M_MESSAGE.name,this.renderings);if(this.renderings.length===1){var a=this.renderings[0].mimetype;(a===void 0||a==="text/plain")&&(i=qi({},Pr.M_TEXT.name,this.renderings[0].body))}return i}},{key:"serialize",value:function(){var i;return{type:"m.room.message",content:D4(D4({},this.serializeMMessageOnly()),{},{body:this.text,msgtype:"m.text",format:this.html?"org.matrix.custom.html":void 0,formatted_body:(i=this.html)!==null&&i!==void 0?i:void 0})}}}],[{key:"from",value:function(i,a){var o;return new r({type:Pr.M_MESSAGE.name,content:(o={},qi(o,Pr.M_TEXT.name,i),qi(o,Pr.M_HTML.name,a),o)})}}]),r}(wU.ExtensibleEvent);Xn.MessageEvent=kU;var qs={};function vv(e){return vv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},vv(e)}Object.defineProperty(qs,"__esModule",{value:!0});qs.NoticeEvent=void 0;var DU=Xn,rc=Pt,MU=bi;function A4(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function AU(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function NU(e,t,r){return t&&N4(e.prototype,t),r&&N4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _d(){return typeof Reflect<"u"&&Reflect.get?_d=Reflect.get:_d=function(t,r,n){var i=LU(t,r);if(i){var a=Object.getOwnPropertyDescriptor(i,r);return a.get?a.get.call(arguments.length<3?t:n):a.value}},_d.apply(this,arguments)}function LU(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=lo(e),e!==null););return e}function xU(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&gv(e,t)}function gv(e,t){return gv=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},gv(e,t)}function UU(e){var t=BU();return function(){var n=lo(e),i;if(t){var a=lo(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return $U(this,i)}}function $U(e,t){if(t&&(vv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return FU(e)}function FU(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function BU(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function lo(e){return lo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},lo(e)}var jU=function(e){xU(r,e);var t=UU(r);function r(n){return AU(this,r),t.call(this,n)}return NU(r,[{key:"isNotice",get:function(){return!0}},{key:"isEquivalentTo",value:function(i){return(0,MU.isEventTypeSame)(i,rc.M_NOTICE)||_d(lo(r.prototype),"isEquivalentTo",this).call(this,i)}},{key:"serialize",value:function(){var i=_d(lo(r.prototype),"serialize",this).call(this);return i.content.msgtype="m.notice",i}}],[{key:"from",value:function(i,a){var o;return new r({type:rc.M_NOTICE.name,content:(o={},A4(o,rc.M_TEXT.name,i),A4(o,rc.M_HTML.name,a),o)})}}]),r}(DU.MessageEvent);qs.NoticeEvent=jU;var Ws={};function yv(e){return yv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yv(e)}Object.defineProperty(Ws,"__esModule",{value:!0});Ws.EmoteEvent=void 0;var KU=Xn,nc=Pt,VU=bi;function L4(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function qU(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function x4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function WU(e,t,r){return t&&x4(e.prototype,t),r&&x4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Sd(){return typeof Reflect<"u"&&Reflect.get?Sd=Reflect.get:Sd=function(t,r,n){var i=HU(t,r);if(i){var a=Object.getOwnPropertyDescriptor(i,r);return a.get?a.get.call(arguments.length<3?t:n):a.value}},Sd.apply(this,arguments)}function HU(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&(e=uo(e),e!==null););return e}function GU(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&_v(e,t)}function _v(e,t){return _v=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},_v(e,t)}function zU(e){var t=JU();return function(){var n=uo(e),i;if(t){var a=uo(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return YU(this,i)}}function YU(e,t){if(t&&(yv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return QU(e)}function QU(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function JU(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function uo(e){return uo=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},uo(e)}var XU=function(e){GU(r,e);var t=zU(r);function r(n){return qU(this,r),t.call(this,n)}return WU(r,[{key:"isEmote",get:function(){return!0}},{key:"isEquivalentTo",value:function(i){return(0,VU.isEventTypeSame)(i,nc.M_EMOTE)||Sd(uo(r.prototype),"isEquivalentTo",this).call(this,i)}},{key:"serialize",value:function(){var i=Sd(uo(r.prototype),"serialize",this).call(this);return i.content.msgtype="m.emote",i}}],[{key:"from",value:function(i,a){var o;return new r({type:nc.M_EMOTE.name,content:(o={},L4(o,nc.M_TEXT.name,i),L4(o,nc.M_HTML.name,a),o)})}}]),r}(KU.MessageEvent);Ws.EmoteEvent=XU;Object.defineProperty(Vs,"__esModule",{value:!0});Vs.LEGACY_M_ROOM_MESSAGE=void 0;Vs.parseMRoomMessage=n$;var U4=Xn,ZU=qs,e$=Ws,t$=bn,Pi=Pt;function $4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Kr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?$4(Object(r),!0).forEach(function(n){Va(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$4(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function Va(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var r$=new t$.NamespacedValue("m.room.message");Vs.LEGACY_M_ROOM_MESSAGE=r$;function n$(e){var t,r,n;if(Pi.M_MESSAGE.findIn(e.content)||Pi.M_TEXT.findIn(e.content))return new U4.MessageEvent(e);var i=(t=e.content)===null||t===void 0?void 0:t.msgtype,a=(r=e.content)===null||r===void 0?void 0:r.body,o=((n=e.content)===null||n===void 0?void 0:n.format)==="org.matrix.custom.html"?e.content.formatted_body:null;if(i==="m.text"){var p;return new U4.MessageEvent(Kr(Kr({},e),{},{content:Kr(Kr({},e.content),{},(p={},Va(p,Pi.M_TEXT.name,a),Va(p,Pi.M_HTML.name,o),p))}))}else if(i==="m.notice"){var u;return new ZU.NoticeEvent(Kr(Kr({},e),{},{content:Kr(Kr({},e.content),{},(u={},Va(u,Pi.M_TEXT.name,a),Va(u,Pi.M_HTML.name,o),u))}))}else if(i==="m.emote"){var y;return new e$.EmoteEvent(Kr(Kr({},e),{},{content:Kr(Kr({},e.content),{},(y={},Va(y,Pi.M_TEXT.name,a),Va(y,Pi.M_HTML.name,o),y))}))}else return null}var c1={};Object.defineProperty(c1,"__esModule",{value:!0});c1.parseMMessage=s$;var i$=Xn,F4=Pt,a$=Ws,o$=qs;function s$(e){return F4.M_EMOTE.matches(e.type)?new a$.EmoteEvent(e):F4.M_NOTICE.matches(e.type)?new o$.NoticeEvent(e):new i$.MessageEvent(e)}var Gt={};Object.defineProperty(Gt,"__esModule",{value:!0});Gt.M_POLL_START=Gt.M_POLL_RESPONSE=Gt.M_POLL_KIND_UNDISCLOSED=Gt.M_POLL_KIND_DISCLOSED=Gt.M_POLL_END=void 0;var hu=bn,l$=new hu.UnstableValue("m.poll.disclosed","org.matrix.msc3381.poll.disclosed");Gt.M_POLL_KIND_DISCLOSED=l$;var d$=new hu.UnstableValue("m.poll.undisclosed","org.matrix.msc3381.poll.undisclosed");Gt.M_POLL_KIND_UNDISCLOSED=d$;var u$=new hu.UnstableValue("m.poll.start","org.matrix.msc3381.poll.start");Gt.M_POLL_START=u$;var c$=new hu.UnstableValue("m.poll.response","org.matrix.msc3381.poll.response");Gt.M_POLL_RESPONSE=c$;var p$=new hu.UnstableValue("m.poll.end","org.matrix.msc3381.poll.end");Gt.M_POLL_END=p$;var p1={},co={};function Sv(e){return Sv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sv(e)}Object.defineProperty(co,"__esModule",{value:!0});co.PollStartEvent=co.PollAnswerSubevent=void 0;var Zn=Gt,SE=Xn,nd=Pt,$c=wi,f$=bn,h$=bi,m$=Ra;function v$(e){return S$(e)||_$(e)||y$(e)||g$()}function g$(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function y$(e,t){if(e){if(typeof e=="string")return Ev(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Ev(e,t)}}function _$(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function S$(e){if(Array.isArray(e))return Ev(e)}function Ev(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function B4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function E$(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?B4(Object(r),!0).forEach(function(n){Er(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):B4(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function EE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function j4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function wE(e,t,r){return t&&j4(e.prototype,t),r&&j4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function bE(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&wv(e,t)}function wv(e,t){return wv=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},wv(e,t)}function TE(e){var t=b$();return function(){var n=wp(e),i;if(t){var a=wp(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return w$(this,i)}}function w$(e,t){if(t&&(Sv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ha(e)}function Ha(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b$(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function wp(e){return wp=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},wp(e)}function Er(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var RE=function(e){bE(r,e);var t=TE(r);function r(n){var i;EE(this,r),i=t.call(this,n),Er(Ha(i),"id",void 0);var a=n.content.id;if(!a||typeof a!="string")throw new $c.InvalidEventError("Answer ID must be a non-empty string");return i.id=a,i}return wE(r,[{key:"serialize",value:function(){return{type:"org.matrix.sdk.poll.answer",content:E$({id:this.id},this.serializeMMessageOnly())}}}],[{key:"from",value:function(i,a){return new r({type:"org.matrix.sdk.poll.answer",content:Er({id:i},nd.M_TEXT.name,a)})}}]),r}(SE.MessageEvent);co.PollAnswerSubevent=RE;var T$=function(e){bE(r,e);var t=TE(r);function r(n){var i;EE(this,r),i=t.call(this,n),Er(Ha(i),"question",void 0),Er(Ha(i),"kind",void 0),Er(Ha(i),"rawKind",void 0),Er(Ha(i),"maxSelections",void 0),Er(Ha(i),"answers",void 0);var a=Zn.M_POLL_START.findIn(i.wireContent);if(!a.question)throw new $c.InvalidEventError("A question is required");if(i.question=new SE.MessageEvent({type:"org.matrix.sdk.poll.question",content:a.question}),i.rawKind=a.kind,Zn.M_POLL_KIND_DISCLOSED.matches(i.rawKind)?i.kind=Zn.M_POLL_KIND_DISCLOSED:i.kind=Zn.M_POLL_KIND_UNDISCLOSED,i.maxSelections=Number.isFinite(a.max_selections)&&a.max_selections>0?a.max_selections:1,!Array.isArray(a.answers))throw new $c.InvalidEventError("Poll answers must be an array");var o=a.answers.slice(0,20).map(function(p){return new RE({type:"org.matrix.sdk.poll.answer",content:p})});if(o.length<=0)throw new $c.InvalidEventError("No answers available");return i.answers=o,i}return wE(r,[{key:"isEquivalentTo",value:function(i){return(0,h$.isEventTypeSame)(i,Zn.M_POLL_START)}},{key:"serialize",value:function(){var i;return{type:Zn.M_POLL_START.name,content:(i={},Er(i,Zn.M_POLL_START.name,{question:this.question.serialize().content,kind:this.rawKind,max_selections:this.maxSelections,answers:this.answers.map(function(a){return a.serialize().content})}),Er(i,nd.M_TEXT.name,"".concat(this.question.text,` +`).concat(this.answers.map(function(a,o){return"".concat(o+1,". ").concat(a.text)}).join(` +`))),i)}}}],[{key:"from",value:function(i,a,o){var p,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;return new r({type:Zn.M_POLL_START.name,content:(p={},Er(p,nd.M_TEXT.name,i),Er(p,Zn.M_POLL_START.name,{question:Er({},nd.M_TEXT.name,i),kind:o instanceof f$.NamespacedValue?o.name:o,max_selections:u,answers:a.map(function(y){return Er({id:R$()},nd.M_TEXT.name,y)})}),p)})}}]),r}(m$.ExtensibleEvent);co.PollStartEvent=T$;var K4="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";function R$(){return v$(Array(16)).map(function(){return K4.charAt(Math.floor(Math.random()*K4.length))}).join("")}var mu={},Hs={};Object.defineProperty(Hs,"__esModule",{value:!0});Hs.REFERENCE_RELATION=void 0;var I$=bn,C$=new I$.NamespacedValue("m.reference");Hs.REFERENCE_RELATION=C$;function bv(e){return bv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bv(e)}Object.defineProperty(mu,"__esModule",{value:!0});mu.PollResponseEvent=void 0;var O$=Ra,To=Gt,P$=wi,Vf=Hs,k$=bi;function D$(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function V4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function M$(e,t,r){return t&&V4(e.prototype,t),r&&V4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function A$(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Tv(e,t)}function Tv(e,t){return Tv=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Tv(e,t)}function N$(e){var t=x$();return function(){var n=bp(e),i;if(t){var a=bp(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return L$(this,i)}}function L$(e,t){if(t&&(bv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Fc(e)}function Fc(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function x$(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function bp(e){return bp=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},bp(e)}function fl(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var U$=function(e){A$(r,e);var t=N$(r);function r(n){var i;D$(this,r),i=t.call(this,n),fl(Fc(i),"internalAnswerIds",void 0),fl(Fc(i),"internalSpoiled",void 0),fl(Fc(i),"pollEventId",void 0);var a=i.wireContent["m.relates_to"];if(!Vf.REFERENCE_RELATION.matches(a==null?void 0:a.rel_type)||typeof(a==null?void 0:a.event_id)!="string")throw new P$.InvalidEventError("Relationship must be a reference to an event");return i.pollEventId=a.event_id,i.validateAgainst(null),i}return M$(r,[{key:"answerIds",get:function(){return this.internalAnswerIds}},{key:"spoiled",get:function(){return this.internalSpoiled}},{key:"validateAgainst",value:function(i){var a=To.M_POLL_RESPONSE.findIn(this.wireContent);if(!Array.isArray(a==null?void 0:a.answers)){this.internalSpoiled=!0,this.internalAnswerIds=[];return}var o=a.answers;if(o.some(function(p){return typeof p!="string"})||o.length===0){this.internalSpoiled=!0,this.internalAnswerIds=[];return}if(i){if(o.some(function(p){return!i.answers.some(function(u){return u.id===p})})){this.internalSpoiled=!0,this.internalAnswerIds=[];return}o=o.slice(0,i.maxSelections)}this.internalAnswerIds=o,this.internalSpoiled=!1}},{key:"isEquivalentTo",value:function(i){return(0,k$.isEventTypeSame)(i,To.M_POLL_RESPONSE)}},{key:"serialize",value:function(){return{type:To.M_POLL_RESPONSE.name,content:fl({"m.relates_to":{rel_type:Vf.REFERENCE_RELATION.name,event_id:this.pollEventId}},To.M_POLL_RESPONSE.name,{answers:this.spoiled?void 0:this.answerIds})}}}],[{key:"from",value:function(i,a){return new r({type:To.M_POLL_RESPONSE.name,content:fl({"m.relates_to":{rel_type:Vf.REFERENCE_RELATION.name,event_id:a}},To.M_POLL_RESPONSE.name,{answers:i})})}}]),r}(O$.ExtensibleEvent);mu.PollResponseEvent=U$;var vu={};function Rv(e){return Rv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rv(e)}Object.defineProperty(vu,"__esModule",{value:!0});vu.PollEndEvent=void 0;var hl=Gt,$$=wi,qf=Hs,F$=Xn,B$=Pt,j$=bi,K$=Ra;function q4(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function V$(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?q4(Object(r),!0).forEach(function(n){Yo(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q4(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function q$(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function W4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function W$(e,t,r){return t&&W4(e.prototype,t),r&&W4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function H$(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Iv(e,t)}function Iv(e,t){return Iv=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},Iv(e,t)}function G$(e){var t=Y$();return function(){var n=Tp(e),i;if(t){var a=Tp(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return z$(this,i)}}function z$(e,t){if(t&&(Rv(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Cv(e)}function Cv(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Y$(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Tp(e){return Tp=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},Tp(e)}function Yo(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Q$=function(e){H$(r,e);var t=G$(r);function r(n){var i;q$(this,r),i=t.call(this,n),Yo(Cv(i),"pollEventId",void 0),Yo(Cv(i),"closingMessage",void 0);var a=i.wireContent["m.relates_to"];if(!qf.REFERENCE_RELATION.matches(a==null?void 0:a.rel_type)||typeof(a==null?void 0:a.event_id)!="string")throw new $$.InvalidEventError("Relationship must be a reference to an event");return i.pollEventId=a.event_id,i.closingMessage=new F$.MessageEvent(i.wireFormat),i}return W$(r,[{key:"isEquivalentTo",value:function(i){return(0,j$.isEventTypeSame)(i,hl.M_POLL_END)}},{key:"serialize",value:function(){return{type:hl.M_POLL_END.name,content:V$(Yo({"m.relates_to":{rel_type:qf.REFERENCE_RELATION.name,event_id:this.pollEventId}},hl.M_POLL_END.name,{}),this.closingMessage.serialize().content)}}}],[{key:"from",value:function(i,a){var o;return new r({type:hl.M_POLL_END.name,content:(o={"m.relates_to":{rel_type:qf.REFERENCE_RELATION.name,event_id:i}},Yo(o,hl.M_POLL_END.name,{}),Yo(o,B$.M_TEXT.name,a),o)})}}]),r}(K$.ExtensibleEvent);vu.PollEndEvent=Q$;Object.defineProperty(p1,"__esModule",{value:!0});p1.parseMPoll=eF;var Wf=Gt,J$=co,X$=mu,Z$=vu;function eF(e){return Wf.M_POLL_START.matches(e.type)?new J$.PollStartEvent(e):Wf.M_POLL_RESPONSE.matches(e.type)?new X$.PollResponseEvent(e):Wf.M_POLL_END.matches(e.type)?new Z$.PollEndEvent(e):null}Object.defineProperty(u1,"__esModule",{value:!0});u1.ExtensibleEvents=void 0;var tF=cu,rF=wi,H4=Vs,Hf=c1,ic=Pt,Gf=Gt,zf=p1;function nF(e,t){var r=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=iF(e))||t&&e&&typeof e.length=="number"){r&&(e=r);var n=0,i=function(){};return{s:i,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(y){throw y},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a=!0,o=!1,p;return{s:function(){r=r.call(e)},n:function(){var y=r.next();return a=y.done,y},e:function(y){o=!0,p=y},f:function(){try{!a&&r.return!=null&&r.return()}finally{if(o)throw p}}}}function iF(e,t){if(e){if(typeof e=="string")return G4(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return G4(e,t)}}function G4(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function aF(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function z4(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function oF(e,t,r){return t&&z4(e.prototype,t),r&&z4(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ov(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Pv=function(){function e(){aF(this,e),Ov(this,"interpreters",new tF.NamespacedMap([[H4.LEGACY_M_ROOM_MESSAGE,H4.parseMRoomMessage],[ic.M_MESSAGE,Hf.parseMMessage],[ic.M_EMOTE,Hf.parseMMessage],[ic.M_NOTICE,Hf.parseMMessage],[Gf.M_POLL_START,zf.parseMPoll],[Gf.M_POLL_RESPONSE,zf.parseMPoll],[Gf.M_POLL_END,zf.parseMPoll]])),Ov(this,"_unknownInterpretOrder",[ic.M_MESSAGE])}return oF(e,[{key:"unknownInterpretOrder",get:function(){var r;return(r=this._unknownInterpretOrder)!==null&&r!==void 0?r:[]},set:function(r){this._unknownInterpretOrder=r}},{key:"registerInterpreter",value:function(r,n){this.interpreters.set(r,n)}},{key:"parse",value:function(r){try{if(this.interpreters.hasNamespaced(r.type))return this.interpreters.getNamespaced(r.type)(r);var n=nF(this.unknownInterpretOrder),i;try{for(n.s();!(i=n.n()).done;){var a=i.value;if(this.interpreters.has(a)){var o=this.interpreters.get(a)(r);if(o)return o}}}catch(p){n.e(p)}finally{n.f()}return null}catch(p){if(p instanceof rF.InvalidEventError)return null;throw p}}}],[{key:"defaultInstance",get:function(){return e._defaultInstance}},{key:"unknownInterpretOrder",get:function(){return e.defaultInstance.unknownInterpretOrder},set:function(r){e.defaultInstance.unknownInterpretOrder=r}},{key:"registerInterpreter",value:function(r,n){e.defaultInstance.registerInterpreter(r,n)}},{key:"parse",value:function(r){return e.defaultInstance.parse(r)}}]),e}();u1.ExtensibleEvents=Pv;Ov(Pv,"_defaultInstance",new Pv);var IE={};Object.defineProperty(IE,"__esModule",{value:!0});var Gs={};Object.defineProperty(Gs,"__esModule",{value:!0});Gs.LegacyMsgType=void 0;Gs.isEventLike=sF;var Yf=Pt,Ss;Gs.LegacyMsgType=Ss;(function(e){e.Text="m.text",e.Notice="m.notice",e.Emote="m.emote"})(Ss||(Gs.LegacyMsgType=Ss={}));function sF(e,t){var r=e.content;return t===Ss.Text?Yf.M_MESSAGE.matches(e.type)||e.type==="m.room.message"&&(r==null?void 0:r.msgtype)==="m.text":t===Ss.Emote?Yf.M_EMOTE.matches(e.type)||e.type==="m.room.message"&&(r==null?void 0:r.msgtype)==="m.emote":t===Ss.Notice?Yf.M_NOTICE.matches(e.type)||e.type==="m.room.message"&&(r==null?void 0:r.msgtype)==="m.notice":!1}(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=u1;Object.keys(t).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===t[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return t[w]}})});var r=IE;Object.keys(r).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===r[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return r[w]}})});var n=wi;Object.keys(n).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===n[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return n[w]}})});var i=bn;Object.keys(i).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===i[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return i[w]}})});var a=cu;Object.keys(a).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===a[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return a[w]}})});var o=pu;Object.keys(o).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===o[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return o[w]}})});var p=Gs;Object.keys(p).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===p[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return p[w]}})});var u=bi;Object.keys(u).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===u[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return u[w]}})});var y=Vs;Object.keys(y).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===y[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return y[w]}})});var s=c1;Object.keys(s).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===s[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return s[w]}})});var m=p1;Object.keys(m).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===m[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return m[w]}})});var g=Hs;Object.keys(g).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===g[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return g[w]}})});var S=Ra;Object.keys(S).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===S[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return S[w]}})});var v=Pt;Object.keys(v).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===v[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return v[w]}})});var h=Xn;Object.keys(h).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===h[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return h[w]}})});var _=Ws;Object.keys(_).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===_[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return _[w]}})});var d=qs;Object.keys(d).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===d[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return d[w]}})});var l=Gt;Object.keys(l).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===l[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return l[w]}})});var c=co;Object.keys(c).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===c[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return c[w]}})});var f=mu;Object.keys(f).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===f[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return f[w]}})});var E=vu;Object.keys(E).forEach(function(w){w==="default"||w==="__esModule"||w in e&&e[w]===E[w]||Object.defineProperty(e,w,{enumerable:!0,get:function(){return E[w]}})})})(uu);var wt={},It={};const lF=Ns(OI);var ei={},Zt={},ki={},Di={},Y4;function Pn(){if(Y4)return Di;Y4=1;var e=Ae;Object.defineProperty(Di,"__esModule",{value:!0}),Di.EventTimeline=Di.Direction=void 0;var t=e(Ue),r=Ge(),n=Ia(),i=xe;let a;Di.Direction=a,function(p){p.Backward="b",p.Forward="f"}(a||(Di.Direction=a={}));class o{static setEventMetadata(u,y,s){var m,g,S,v;(m=u.sender)!==null&&m!==void 0&&(g=m.events)!==null&&g!==void 0&&g.member||(u.sender=y.getSentinelMember(u.getSender())),!((S=u.target)!==null&&S!==void 0&&(v=S.events)!==null&&v!==void 0&&v.member)&&u.getType()===i.EventType.RoomMember&&(u.target=y.getSentinelMember(u.getStateKey())),u.isState()&&s&&(u.forwardLooking=!1)}constructor(u){var y,s;this.eventTimelineSet=u,(0,t.default)(this,"roomId",void 0),(0,t.default)(this,"name",void 0),(0,t.default)(this,"events",[]),(0,t.default)(this,"baseIndex",0),(0,t.default)(this,"startState",void 0),(0,t.default)(this,"endState",void 0),(0,t.default)(this,"startToken",null),(0,t.default)(this,"endToken",null),(0,t.default)(this,"prevTimeline",null),(0,t.default)(this,"nextTimeline",null),(0,t.default)(this,"paginationRequests",{[a.Backward]:null,[a.Forward]:null}),this.roomId=(y=(s=u.room)===null||s===void 0?void 0:s.roomId)!==null&&y!==void 0?y:null,this.roomId&&(this.startState=new n.RoomState(this.roomId),this.endState=new n.RoomState(this.roomId)),this.paginationRequests={b:null,f:null},this.name=this.roomId+":"+new Date().toISOString()}initialiseState(u,{timelineWasEmpty:y}={}){var s,m;if(this.events.length>0)throw new Error("Cannot initialise state after events are added");(s=this.startState)===null||s===void 0||s.setStateEvents(u,{timelineWasEmpty:y}),(m=this.endState)===null||m===void 0||m.setStateEvents(u,{timelineWasEmpty:y})}forkLive(u){const y=this.getState(u),s=new o(this.eventTimelineSet);return s.startState=y==null?void 0:y.clone(),s.endState=y,this.endState=y==null?void 0:y.clone(),s}fork(u){const y=this.getState(u),s=new o(this.eventTimelineSet);return s.startState=y==null?void 0:y.clone(),s.endState=y==null?void 0:y.clone(),s}getRoomId(){return this.roomId}getFilter(){return this.eventTimelineSet.getFilter()}getTimelineSet(){return this.eventTimelineSet}getBaseIndex(){return this.baseIndex}getEvents(){return this.events}getState(u){if(u==o.BACKWARDS)return this.startState;if(u==o.FORWARDS)return this.endState;throw new Error("Invalid direction '"+u+"'")}getPaginationToken(u){return this.roomId?this.getState(u).paginationToken:u===a.Backward?this.startToken:this.endToken}setPaginationToken(u,y){this.roomId?this.getState(y).paginationToken=u:y===a.Backward?this.startToken=u:this.endToken=u}getNeighbouringTimeline(u){if(u==o.BACKWARDS)return this.prevTimeline;if(u==o.FORWARDS)return this.nextTimeline;throw new Error("Invalid direction '"+u+"'")}setNeighbouringTimeline(u,y){if(this.getNeighbouringTimeline(y))throw new Error("timeline already has a neighbouring timeline - cannot reset neighbour (direction: "+y+")");if(y==o.BACKWARDS)this.prevTimeline=u;else if(y==o.FORWARDS)this.nextTimeline=u;else throw new Error("Invalid direction '"+y+"'");this.setPaginationToken(null,y)}addEvent(u,y,s){let m=!!y,g;typeof y=="object"?{toStartOfTimeline:m,roomState:s,timelineWasEmpty:g}=y:y!==void 0&&r.logger.warn("Overload deprecated: `EventTimeline.addEvent(event, toStartOfTimeline, roomState?)` is deprecated in favor of the overload with `EventTimeline.addEvent(event, IAddEventOptions)`"),s||(s=m?this.startState:this.endState);const S=this.getTimelineSet();if(S.room&&(o.setEventMetadata(u,s,m),u.isState()&&S.room.getUnfilteredTimelineSet()===S)){var v;(v=s)===null||v===void 0||v.setStateEvents([u],{timelineWasEmpty:g}),(!u.sender||u.getType()===i.EventType.RoomMember&&!m)&&o.setEventMetadata(u,s,m)}let h;m?h=0:h=this.events.length,this.events.splice(h,0,u),m&&this.baseIndex++}removeEvent(u){for(let y=this.events.length-1;y>=0;y--){const s=this.events[y];if(s.getId()==u)return this.events.splice(y,1),y<this.baseIndex&&this.baseIndex--,s}return null}toString(){return this.name}}return Di.EventTimeline=o,(0,t.default)(o,"BACKWARDS",a.Backward),(0,t.default)(o,"FORWARDS",a.Forward),Di}var ml={},Mi={},Q4;function dF(){if(Q4)return Mi;Q4=1;var e=Ae;Object.defineProperty(Mi,"__esModule",{value:!0}),Mi.RelationsEvent=Mi.Relations=void 0;var t=e(Ue),r=ir(),n=Ge(),i=xe,a=At(),o=Ti();let p;Mi.RelationsEvent=p,function(y){y.Add="Relations.add",y.Remove="Relations.remove",y.Redaction="Relations.redaction"}(p||(Mi.RelationsEvent=p={}));class u extends a.TypedEventEmitter{constructor(s,m,g){super(),this.relationType=s,this.eventType=m,(0,t.default)(this,"relationEventIds",new Set),(0,t.default)(this,"relations",new Set),(0,t.default)(this,"annotationsByKey",{}),(0,t.default)(this,"annotationsBySender",{}),(0,t.default)(this,"sortedAnnotationsByKey",[]),(0,t.default)(this,"targetEvent",null),(0,t.default)(this,"creationEmitted",!1),(0,t.default)(this,"client",void 0),(0,t.default)(this,"onEventStatus",(S,v)=>{if(!S.isSending()){S.removeListener(r.MatrixEventEvent.Status,this.onEventStatus);return}v===r.EventStatus.CANCELLED&&(S.removeListener(r.MatrixEventEvent.Status,this.onEventStatus),this.removeEvent(S))}),(0,t.default)(this,"onBeforeRedaction",async S=>{if(this.relations.has(S)){if(this.relations.delete(S),this.relationType===i.RelationType.Annotation)this.removeAnnotationFromAggregation(S);else if(this.relationType===i.RelationType.Replace&&this.targetEvent&&!this.targetEvent.isState()){const v=await this.getLastReplacement();this.targetEvent.makeReplaced(v)}S.removeListener(r.MatrixEventEvent.BeforeRedaction,this.onBeforeRedaction),this.emit(p.Redaction,S)}}),this.client=g instanceof o.Room?g.client:g}async addEvent(s){if(this.relationEventIds.has(s.getId()))return;const m=s.getRelation();if(!m){n.logger.error("Event must have relation info");return}const g=m.rel_type,S=s.getType();if(this.relationType!==g||this.eventType!==S){n.logger.error("Event relation info doesn't match this container");return}if(s.isSending()&&s.on(r.MatrixEventEvent.Status,this.onEventStatus),this.relations.add(s),this.relationEventIds.add(s.getId()),this.relationType===i.RelationType.Annotation)this.addAnnotationToAggregation(s);else if(this.relationType===i.RelationType.Replace&&this.targetEvent&&!this.targetEvent.isState()){const v=await this.getLastReplacement();this.targetEvent.makeReplaced(v)}s.on(r.MatrixEventEvent.BeforeRedaction,this.onBeforeRedaction),this.emit(p.Add,s),this.maybeEmitCreated()}async removeEvent(s){if(!this.relations.has(s))return;const m=s.getRelation();if(!m){n.logger.error("Event must have relation info");return}const g=m.rel_type,S=s.getType();if(this.relationType!==g||this.eventType!==S){n.logger.error("Event relation info doesn't match this container");return}if(this.relations.delete(s),this.relationType===i.RelationType.Annotation)this.removeAnnotationFromAggregation(s);else if(this.relationType===i.RelationType.Replace&&this.targetEvent&&!this.targetEvent.isState()){const v=await this.getLastReplacement();this.targetEvent.makeReplaced(v)}this.emit(p.Remove,s)}getRelations(){return[...this.relations]}addAnnotationToAggregation(s){var m;const{key:g}=(m=s.getRelation())!==null&&m!==void 0?m:{};if(!g)return;let S=this.annotationsByKey[g];S||(S=this.annotationsByKey[g]=new Set,this.sortedAnnotationsByKey.push([g,S])),S.add(s),this.sortedAnnotationsByKey.sort((_,d)=>{const l=_[1];return d[1].size-l.size});const v=s.getSender();let h=this.annotationsBySender[v];h||(h=this.annotationsBySender[v]=new Set),h.add(s)}removeAnnotationFromAggregation(s){var m;const{key:g}=(m=s.getRelation())!==null&&m!==void 0?m:{};if(!g)return;const S=this.annotationsByKey[g];S&&(S.delete(s),this.sortedAnnotationsByKey.sort((_,d)=>{const l=_[1];return d[1].size-l.size}));const v=s.getSender(),h=this.annotationsBySender[v];h&&h.delete(s)}getSortedAnnotationsByKey(){return this.relationType!==i.RelationType.Annotation?null:this.sortedAnnotationsByKey}getAnnotationsBySender(){return this.relationType!==i.RelationType.Annotation?null:this.annotationsBySender}async getLastReplacement(){if(this.relationType!==i.RelationType.Replace||!this.targetEvent)return null;const s=this.targetEvent.getServerAggregatedRelation(i.RelationType.Replace),m=s==null?void 0:s.origin_server_ts,g=this.getRelations().reduce((S,v)=>v.getSender()!==this.targetEvent.getSender()||m&&m>v.getTs()||S&&S.getTs()>v.getTs()?S:v,null);return g!=null&&g.shouldAttemptDecryption()&&this.client.isCryptoEnabled()?await g.attemptDecryption(this.client.crypto):g!=null&&g.isBeingDecrypted()&&await g.getDecryptionPromise(),g}async setTargetEvent(s){if(!this.targetEvent){if(this.targetEvent=s,this.relationType===i.RelationType.Replace&&!this.targetEvent.isState()){const m=await this.getLastReplacement();m&&this.targetEvent.makeReplaced(m)}this.maybeEmitCreated()}}maybeEmitCreated(){this.creationEmitted||!this.targetEvent||!this.relations.size||(this.creationEmitted=!0,this.targetEvent.emit(r.MatrixEventEvent.RelationsCreated,this.relationType,this.eventType))}}return Mi.Relations=u,Mi}var J4;function CE(){if(J4)return ml;J4=1;var e=Ae;Object.defineProperty(ml,"__esModule",{value:!0}),ml.RelationsContainer=void 0;var t=e(Ue),r=dF(),n=ir();class i{constructor(o,p){this.client=o,this.room=p,(0,t.default)(this,"relations",new Map)}getChildEventsForEvent(o,p,u){var y,s;return(y=this.relations.get(o))===null||y===void 0||(s=y.get(p))===null||s===void 0?void 0:s.get(u)}getAllChildEventsForEvent(o){var p;const u=(p=this.relations.get(o))!==null&&p!==void 0?p:new Map,y=[];for(const s of u.values())for(const m of s.values())y.push(...m.getRelations());return y}aggregateParentEvent(o){const p=this.relations.get(o.getId());if(p)for(const u of p.values())for(const y of u.values())y.setTargetEvent(o)}aggregateChildEvent(o,p){if(o.isRedacted()||o.status===n.EventStatus.CANCELLED)return;const u=o.getRelation();if(!u)return;const y=()=>{if(o.isDecryptionFailure()){o.once(n.MatrixEventEvent.Decrypted,y);return}this.aggregateChildEvent(o,p)};if(o.isBeingDecrypted()||o.shouldAttemptDecryption()){o.once(n.MatrixEventEvent.Decrypted,y);return}const{event_id:s,rel_type:m}=u,g=o.getType();let S=this.relations.get(s);S||(S=new Map,this.relations.set(s,S));let v=S.get(m);v||(v=new Map,S.set(m,v));let h=v.get(g);if(!h){var _,d,l;h=new r.Relations(m,g,this.client),v.set(g,h);const c=(_=this.room)!==null&&_!==void 0?_:p==null?void 0:p.room,f=(d=(l=p==null?void 0:p.findEventById(s))!==null&&l!==void 0?l:c==null?void 0:c.findEventById(s))!==null&&d!==void 0?d:c==null?void 0:c.getPendingEvent(s);f&&h.setTargetEvent(f)}h.addEvent(o)}}return ml.RelationsContainer=i,ml}var X4;function k0(){if(X4)return ki;X4=1;var e=Ae;Object.defineProperty(ki,"__esModule",{value:!0}),ki.EventTimelineSet=ki.DuplicateStrategy=void 0;var t=e(Ue),r=Pn(),n=Ge(),i=Ti(),a=At(),o=CE();let p;p=n.logger.log.bind(n.logger);let u;ki.DuplicateStrategy=u,function(s){s.Ignore="ignore",s.Replace="replace"}(u||(ki.DuplicateStrategy=u={}));class y extends a.TypedEventEmitter{constructor(m,g={},S,v,h=null){var _,d,l;super(),this.room=m,this.thread=v,this.threadListType=h,(0,t.default)(this,"relations",void 0),(0,t.default)(this,"timelineSupport",void 0),(0,t.default)(this,"displayPendingEvents",void 0),(0,t.default)(this,"liveTimeline",void 0),(0,t.default)(this,"timelines",void 0),(0,t.default)(this,"_eventIdToTimeline",new Map),(0,t.default)(this,"filter",void 0),this.timelineSupport=Boolean(g.timelineSupport),this.liveTimeline=new r.EventTimeline(this),this.displayPendingEvents=g.pendingEvents!==!1,this.timelines=[this.liveTimeline],this._eventIdToTimeline=new Map,this.filter=g.filter,this.relations=(_=(d=this.room)===null||d===void 0?void 0:d.relations)!==null&&_!==void 0?_:new o.RelationsContainer((l=m==null?void 0:m.client)!==null&&l!==void 0?l:S)}getTimelines(){return this.timelines}getFilter(){return this.filter}setFilter(m){this.filter=m}getPendingEvents(){return!this.room||!this.displayPendingEvents?[]:this.room.getPendingEvents()}getLiveTimeline(){return this.liveTimeline}setLiveTimeline(m){this.liveTimeline=m}eventIdToTimeline(m){return this._eventIdToTimeline.get(m)}replaceEventId(m,g){const S=this._eventIdToTimeline.get(m);S&&(this._eventIdToTimeline.delete(m),this._eventIdToTimeline.set(g,S))}resetLiveTimeline(m,g){const S=!this.timelineSupport||!g,v=this.liveTimeline,h=S?v.forkLive(r.EventTimeline.FORWARDS):v.fork(r.EventTimeline.FORWARDS);S?(this.timelines=[h],this._eventIdToTimeline=new Map):this.timelines.push(h),g&&v.setPaginationToken(g,r.EventTimeline.FORWARDS),h.setPaginationToken(m??null,r.EventTimeline.BACKWARDS),this.liveTimeline=h,this.emit(i.RoomEvent.TimelineReset,this.room,this,S)}getTimelineForEvent(m){if(m==null)return null;const g=this._eventIdToTimeline.get(m);return g===void 0?null:g}findEventById(m){const g=this.getTimelineForEvent(m);if(g)return g.getEvents().find(function(S){return S.getId()==m})}addTimeline(){if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");const m=new r.EventTimeline(this);return this.timelines.push(m),m}addEventsToTimeline(m,g,S,v){if(!S)throw new Error("'timeline' not specified for EventTimelineSet.addEventsToTimeline");if(!g&&S==this.liveTimeline)throw new Error("EventTimelineSet.addEventsToTimeline cannot be used for adding events to the live timeline - use Room.addLiveEvents instead");if(this.filter&&(m=this.filter.filterRoomTimeline(m),!m.length))return;const h=g?r.EventTimeline.BACKWARDS:r.EventTimeline.FORWARDS,_=g?r.EventTimeline.FORWARDS:r.EventTimeline.BACKWARDS;let d=!1,l=!1;for(const c of m){const f=c.getId(),E=this._eventIdToTimeline.get(f);if(!E){this.addEventToTimeline(c,S,{toStartOfTimeline:g}),l=!0,d=!0;continue}if(l=!1,E==S){p("Event "+f+" already in timeline "+S);continue}const w=S.getNeighbouringTimeline(h);if(w){E==w?p("Event "+f+" in neighbouring timeline - switching to "+E):p("Event "+f+" already in a different timeline "+E),S=E;continue}n.logger.info("Already have timeline for "+f+" - joining timeline "+S+" to "+E);const I=E===this.liveTimeline,D=S===this.liveTimeline,A=h===r.EventTimeline.BACKWARDS&&I,L=h===r.EventTimeline.FORWARDS&&D;if(A||L){A&&n.logger.warn("Refusing to set a preceding existingTimeLine on our timeline as the existingTimeLine is live ("+E+")"),L&&n.logger.warn("Refusing to set our preceding timeline on a existingTimeLine as our timeline is live ("+S+")");continue}S.setNeighbouringTimeline(E,h),E.setNeighbouringTimeline(S,_),S=E,d=!0}if(l||!d){if(h===r.EventTimeline.FORWARDS&&S===this.liveTimeline){n.logger.warn({lastEventWasNew:l,didUpdate:d}),n.logger.warn(`Refusing to set forwards pagination token of live timeline ${S} to ${v}`);return}S.setPaginationToken(v??null,h)}}addLiveEvent(m,g,S=!1,v){let h=g||u.Ignore,_;if(typeof g=="object"?{duplicateStrategy:h=u.Ignore,fromCache:S=!1,roomState:v,timelineWasEmpty:_}=g:g!==void 0&&n.logger.warn("Overload deprecated: `EventTimelineSet.addLiveEvent(event, duplicateStrategy?, fromCache?, roomState?)` is deprecated in favor of the overload with `EventTimelineSet.addLiveEvent(event, IAddLiveEventOptions)`"),this.filter&&!this.filter.filterRoomTimeline([m]).length)return;const d=this._eventIdToTimeline.get(m.getId());if(d){if(h===u.Replace){p("EventTimelineSet.addLiveEvent: replacing duplicate event "+m.getId());const l=d.getEvents();for(let c=0;c<l.length;c++)if(l[c].getId()===m.getId()){v||(v=d.getState(r.EventTimeline.FORWARDS)),r.EventTimeline.setEventMetadata(m,v,!1),l[c]=m;break}}else p("EventTimelineSet.addLiveEvent: ignoring duplicate event "+m.getId());return}this.addEventToTimeline(m,this.liveTimeline,{toStartOfTimeline:!1,fromCache:S,roomState:v,timelineWasEmpty:_})}addEventToTimeline(m,g,S,v=!1,h){let _=!!S,d;if(typeof S=="object"?{toStartOfTimeline:_,fromCache:v=!1,roomState:h,timelineWasEmpty:d}=S:S!==void 0&&n.logger.warn("Overload deprecated: `EventTimelineSet.addEventToTimeline(event, timeline, toStartOfTimeline, fromCache?, roomState?)` is deprecated in favor of the overload with `EventTimelineSet.addEventToTimeline(event, timeline, IAddEventToTimelineOptions)`"),g.getTimelineSet()!==this){var l;throw new Error(`EventTimelineSet.addEventToTimeline: Timeline=${g.toString()} does not belong " + + "in timelineSet(threadId=${(l=this.thread)===null||l===void 0?void 0:l.id})`)}if(this.room&&!this.canContain(m)){var c;let w=`event=${m.getId()}`;m.threadRootId&&(w+=`(belongs to thread=${m.threadRootId})`),n.logger.warn(`EventTimelineSet.addEventToTimeline: Ignoring ${w} that does not belong in timeline=${g.toString()} timelineSet(threadId=${(c=this.thread)===null||c===void 0?void 0:c.id})`);return}const f=m.getId();g.addEvent(m,{toStartOfTimeline:_,roomState:h,timelineWasEmpty:d}),this._eventIdToTimeline.set(f,g),this.relations.aggregateParentEvent(m),this.relations.aggregateChildEvent(m,this);const E={timeline:g,liveEvent:!_&&g==this.liveTimeline&&!v};this.emit(i.RoomEvent.Timeline,m,this.room,Boolean(_),!1,E)}handleRemoteEcho(m,g,S){const v=this._eventIdToTimeline.get(g);v?(this._eventIdToTimeline.delete(g),this._eventIdToTimeline.set(S,v)):(!this.filter||this.filter.filterRoomTimeline([m]).length)&&this.addEventToTimeline(m,this.liveTimeline,{toStartOfTimeline:!1})}removeEvent(m){const g=this._eventIdToTimeline.get(m);if(!g)return null;const S=g.removeEvent(m);if(S){this._eventIdToTimeline.delete(m);const v={timeline:g};this.emit(i.RoomEvent.Timeline,S,this.room,void 0,!0,v)}return S}compareEventOrdering(m,g){if(m==g)return 0;const S=this._eventIdToTimeline.get(m),v=this._eventIdToTimeline.get(g);if(S===void 0||v===void 0)return null;if(S===v){let _,d;const l=S.getEvents();for(let c=0;c<l.length&&(_===void 0||d===void 0);c++){const f=l[c].getId();f==m&&(_=c),f==g&&(d=c)}return _-d}let h=S;for(;h;){if(h===v)return-1;h=h.getNeighbouringTimeline(r.EventTimeline.FORWARDS)}for(h=S;h;){if(h===v)return 1;h=h.getNeighbouringTimeline(r.EventTimeline.BACKWARDS)}return null}canContain(m){if(!this.room)throw new Error("Cannot call `EventTimelineSet::canContain without a `room` set. Set the room when creating the EventTimelineSet to call this method.");const{threadId:g,shouldLiveInRoom:S}=this.room.eventShouldLiveIn(m);return this.thread?this.thread.id===g:S}}return ki.EventTimelineSet=y,ki}var Ro={},Z4;function OE(){if(Z4)return Ro;Z4=1,Object.defineProperty(Ro,"__esModule",{value:!0}),Ro.EventStatus=void 0;let e;return Ro.EventStatus=e,function(t){t.NOT_SENT="not_sent",t.ENCRYPTING="encrypting",t.SENDING="sending",t.QUEUED="queued",t.SENT="sent",t.CANCELLED="cancelled"}(e||(Ro.EventStatus=e={})),Ro}var gu={};Object.defineProperty(gu,"__esModule",{value:!0});gu.RoomSummary=void 0;class uF{constructor(t,r){this.roomId=t}}gu.RoomSummary=uF;var Da={},e3;function yo(){if(e3)return Da;e3=1;var e=Ae;Object.defineProperty(Da,"__esModule",{value:!0}),Da.TypedReEmitter=Da.ReEmitter=void 0;var t=e(Ue);let r=class{constructor(a){this.target=a,(0,t.default)(this,"reEmitters",new Map)}reEmit(a,o){let p=this.reEmitters.get(a);p||(p=new Map,this.reEmitters.set(a,p));for(const u of o){const y=(...s)=>{u==="error"&&this.target.listenerCount("error")===0||this.target.emit(u,...s,a)};a.on(u,y),p.set(u,y)}}stopReEmitting(a,o){const p=this.reEmitters.get(a);if(p){for(const u of o)a.off(u,p.get(u)),p.delete(u);p.size===0&&this.reEmitters.delete(a)}}};Da.ReEmitter=r;class n extends r{constructor(a){super(a)}reEmit(a,o){super.reEmit(a,o)}stopReEmitting(a,o){super.stopReEmitting(a,o)}}return Da.TypedReEmitter=n,Da}var vl={},gl={},t3;function f1(){if(t3)return gl;t3=1,Object.defineProperty(gl,"__esModule",{value:!0}),gl.UNREAD_THREAD_NOTIFICATIONS=void 0;var e=rr;const t=new e.ServerControlledNamespacedValue("unread_thread_notifications","org.matrix.msc3773.unread_thread_notifications");return gl.UNREAD_THREAD_NOTIFICATIONS=t,gl}var yl={},r3;function cF(){if(r3)return yl;r3=1,Object.defineProperty(yl,"__esModule",{value:!0}),yl.FilterComponent=void 0;var e=y1();function t(n,i){if(i.endsWith("*")){const a=i.slice(0,-1);return n.slice(0,a.length)===a}else return n===i}class r{constructor(i,a){this.filterJson=i,this.userId=a}check(i){var a,o;const p=((a=i.getUnsigned())===null||a===void 0?void 0:a["m.relations"])||{},u=Object.keys(p),y=[];return this.userId&&p!==null&&p!==void 0&&(o=p[e.THREAD_RELATION_TYPE.name])!==null&&o!==void 0&&o.current_user_participated&&y.push(this.userId),this.checkFields(i.getRoomId(),i.getSender(),i.getType(),i.getContent()?i.getContent().url!==void 0:!1,u,y)}toJSON(){return{types:this.filterJson.types||null,not_types:this.filterJson.not_types||[],rooms:this.filterJson.rooms||null,not_rooms:this.filterJson.not_rooms||[],senders:this.filterJson.senders||null,not_senders:this.filterJson.not_senders||[],contains_url:this.filterJson.contains_url||null,[e.FILTER_RELATED_BY_SENDERS.name]:this.filterJson[e.FILTER_RELATED_BY_SENDERS.name]||[],[e.FILTER_RELATED_BY_REL_TYPES.name]:this.filterJson[e.FILTER_RELATED_BY_REL_TYPES.name]||[]}}checkFields(i,a,o,p,u,y){const s={rooms:function(v){return i===v},senders:function(v){return a===v},types:function(v){return t(o,v)}};for(const v in s){const h=s[v],_="not_"+v,d=this.filterJson[_];if(d!=null&&d.some(h))return!1;const l=this.filterJson[v];if(l&&!l.some(h))return!1}const m=this.filterJson.contains_url;if(m!==void 0&&m!==p)return!1;const g=this.filterJson[e.FILTER_RELATED_BY_REL_TYPES.name];if(g!==void 0&&!this.arrayMatchesFilter(g,u))return!1;const S=this.filterJson[e.FILTER_RELATED_BY_SENDERS.name];return!(S!==void 0&&!this.arrayMatchesFilter(S,y))}arrayMatchesFilter(i,a){return a.length>0&&i.every(o=>a.includes(o))}filter(i){return i.filter(this.check,this)}limit(){return this.filterJson.limit!==void 0?this.filterJson.limit:10}}return yl.FilterComponent=r,yl}var n3;function h1(){if(n3)return vl;n3=1;var e=Ae;Object.defineProperty(vl,"__esModule",{value:!0}),vl.Filter=void 0;var t=e(Ue),r=f1(),n=cF();function i(u,y){var s=Object.keys(u);if(Object.getOwnPropertySymbols){var m=Object.getOwnPropertySymbols(u);y&&(m=m.filter(function(g){return Object.getOwnPropertyDescriptor(u,g).enumerable})),s.push.apply(s,m)}return s}function a(u){for(var y=1;y<arguments.length;y++){var s=arguments[y]!=null?arguments[y]:{};y%2?i(Object(s),!0).forEach(function(m){(0,t.default)(u,m,s[m])}):Object.getOwnPropertyDescriptors?Object.defineProperties(u,Object.getOwnPropertyDescriptors(s)):i(Object(s)).forEach(function(m){Object.defineProperty(u,m,Object.getOwnPropertyDescriptor(s,m))})}return u}function o(u,y,s){const m=y.split(".");let g=u;for(let S=0;S<m.length-1;S++)g[m[S]]||(g[m[S]]={}),g=g[m[S]];g[m[m.length-1]]=s}class p{static fromJson(y,s,m){const g=new p(y,s);return g.setDefinition(m),g}constructor(y,s){this.userId=y,this.filterId=s,(0,t.default)(this,"definition",{}),(0,t.default)(this,"roomFilter",void 0),(0,t.default)(this,"roomTimelineFilter",void 0)}getFilterId(){return this.filterId}getDefinition(){return this.definition}setDefinition(y){this.definition=y;const s=y.room,m={};s&&(s.rooms&&(m.rooms=s.rooms),s.rooms&&(m.not_rooms=s.not_rooms)),this.roomFilter=new n.FilterComponent(m,this.userId),this.roomTimelineFilter=new n.FilterComponent((s==null?void 0:s.timeline)||{},this.userId)}getRoomTimelineFilterComponent(){return this.roomTimelineFilter}filterRoomTimeline(y){return this.roomFilter&&(y=this.roomFilter.filter(y)),this.roomTimelineFilter&&(y=this.roomTimelineFilter.filter(y)),y}setTimelineLimit(y){o(this.definition,"room.timeline.limit",y)}setUnreadThreadNotifications(y){var s,m,g;this.definition=a(a({},this.definition),{},{room:a(a({},(s=this.definition)===null||s===void 0?void 0:s.room),{},{timeline:a(a({},(m=this.definition)===null||m===void 0||(g=m.room)===null||g===void 0?void 0:g.timeline),{},{[r.UNREAD_THREAD_NOTIFICATIONS.name]:y})})})}setLazyLoadMembers(y){o(this.definition,"room.state.lazy_load_members",y)}setIncludeLeaveRooms(y){o(this.definition,"room.include_leave",y)}}return vl.Filter=p,(0,t.default)(p,"LAZY_LOADING_MESSAGES_FILTER",{lazy_load_members:!0}),vl}var Tr={},ut={},_l={},i3;function pF(){if(i3)return _l;i3=1,Object.defineProperty(_l,"__esModule",{value:!0}),_l.M_TOPIC=void 0;var e=rr;const t=new e.UnstableValue("m.topic","org.matrix.msc3765.topic");return _l.M_TOPIC=t,_l}var fF=Ae;Object.defineProperty(ut,"__esModule",{value:!0});ut.makeBeaconInfoContent=ut.makeBeaconContent=ut.getTextForLocationEvent=void 0;ut.makeEmoteMessage=EF;ut.makeHtmlEmote=yF;ut.makeHtmlMessage=vF;ut.makeHtmlNotice=gF;ut.makeLocationContent=void 0;ut.makeNotice=SF;ut.makeTextMessage=_F;ut.parseTopicContent=ut.parseLocationEvent=ut.parseBeaconInfoContent=ut.parseBeaconContent=ut.makeTopicContent=void 0;var hF=fF(Ue),D0=uu,_o=xe,PE=uE(),Lt=cE(),kE=pF();function a3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mF(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?a3(Object(r),!0).forEach(function(n){(0,hF.default)(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a3(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function vF(e,t){return{msgtype:_o.MsgType.Text,format:"org.matrix.custom.html",body:e,formatted_body:t}}function gF(e,t){return{msgtype:_o.MsgType.Notice,format:"org.matrix.custom.html",body:e,formatted_body:t}}function yF(e,t){return{msgtype:_o.MsgType.Emote,format:"org.matrix.custom.html",body:e,formatted_body:t}}function _F(e){return{msgtype:_o.MsgType.Text,body:e}}function SF(e){return{msgtype:_o.MsgType.Notice,body:e}}function EF(e){return{msgtype:_o.MsgType.Emote,body:e}}const DE=(e,t,r,n)=>{const i=`at ${new Date(r).toISOString()}`,a=t===Lt.LocationAssetType.Self?"User":void 0,o=n?`"${n}"`:void 0;return[a,"Location",o,e,i].filter(Boolean).join(" ")};ut.getTextForLocationEvent=DE;const ME=(e,t,r,n,i)=>{const a=e??DE(t,i||Lt.LocationAssetType.Self,r,n),o=r?{[Lt.M_TIMESTAMP.name]:r}:{};return mF({msgtype:_o.MsgType.Location,body:a,geo_uri:t,[Lt.M_LOCATION.name]:{description:n,uri:t},[Lt.M_ASSET.name]:{type:i||Lt.LocationAssetType.Self},[PE.TEXT_NODE_TYPE.name]:a},o)};ut.makeLocationContent=ME;const wF=e=>{var t,r;const n=Lt.M_LOCATION.findIn(e),i=Lt.M_ASSET.findIn(e),a=Lt.M_TIMESTAMP.findIn(e),o=PE.TEXT_NODE_TYPE.findIn(e),p=(t=n==null?void 0:n.uri)!==null&&t!==void 0?t:e==null?void 0:e.geo_uri,u=n==null?void 0:n.description,y=(r=i==null?void 0:i.type)!==null&&r!==void 0?r:Lt.LocationAssetType.Self,s=o??e.body;return ME(s,p,a??void 0,u,y)};ut.parseLocationEvent=wF;const bF=(e,t)=>{const r=[{body:e,mimetype:"text/plain"}];return(0,D0.isProvided)(t)&&r.push({body:t,mimetype:"text/html"}),{topic:e,[kE.M_TOPIC.name]:r}};ut.makeTopicContent=bF;const TF=e=>{var t,r,n;const i=kE.M_TOPIC.findIn(e),a=(t=i==null||(r=i.find(p=>!(0,D0.isProvided)(p.mimetype)||p.mimetype==="text/plain"))===null||r===void 0?void 0:r.body)!==null&&t!==void 0?t:e.topic,o=i==null||(n=i.find(p=>p.mimetype==="text/html"))===null||n===void 0?void 0:n.body;return{text:a,html:o}};ut.parseTopicContent=TF;const RF=(e,t,r,n,i)=>({description:r,timeout:e,live:t,[Lt.M_TIMESTAMP.name]:i||Date.now(),[Lt.M_ASSET.name]:{type:n??Lt.LocationAssetType.Self}});ut.makeBeaconInfoContent=RF;const IF=e=>{var t;const{description:r,timeout:n,live:i}=e,a=(t=Lt.M_TIMESTAMP.findIn(e))!==null&&t!==void 0?t:void 0,o=Lt.M_ASSET.findIn(e);return{description:r,timeout:n,live:i,assetType:o==null?void 0:o.type,timestamp:a}};ut.parseBeaconInfoContent=IF;const CF=(e,t,r,n)=>({[Lt.M_LOCATION.name]:{description:n,uri:e},[Lt.M_TIMESTAMP.name]:t,"m.relates_to":{rel_type:D0.REFERENCE_RELATION.name,event_id:r}});ut.makeBeaconContent=CF;const OF=e=>{var t;const r=Lt.M_LOCATION.findIn(e),n=(t=Lt.M_TIMESTAMP.findIn(e))!==null&&t!==void 0?t:void 0;return{description:r==null?void 0:r.description,uri:r==null?void 0:r.uri,timestamp:n}};ut.parseBeaconContent=OF;var PF=Ae;Object.defineProperty(Tr,"__esModule",{value:!0});Tr.isTimestampInDuration=Tr.getBeaconInfoIdentifier=Tr.BeaconEvent=Tr.Beacon=void 0;var Io=PF(Ue),Qf=ut,kF=dt(),DF=At();let Qi;Tr.BeaconEvent=Qi;(function(e){e.New="Beacon.new",e.Update="Beacon.update",e.LivenessChange="Beacon.LivenessChange",e.Destroy="Beacon.Destroy",e.LocationUpdate="Beacon.LocationUpdate"})(Qi||(Tr.BeaconEvent=Qi={}));const kv=(e,t,r)=>r>=e&&e+t>=r;Tr.isTimestampInDuration=kv;const Dv=e=>`${e.getRoomId()}_${e.getStateKey()}`;Tr.getBeaconInfoIdentifier=Dv;class MF extends DF.TypedEventEmitter{constructor(t){super(),this.rootEvent=t,(0,Io.default)(this,"roomId",void 0),(0,Io.default)(this,"_beaconInfo",void 0),(0,Io.default)(this,"_isLive",void 0),(0,Io.default)(this,"livenessWatchTimeout",void 0),(0,Io.default)(this,"_latestLocationEvent",void 0),(0,Io.default)(this,"clearLatestLocation",()=>{this._latestLocationEvent=void 0,this.emit(Qi.LocationUpdate,this.latestLocationState)}),this.setBeaconInfo(this.rootEvent),this.roomId=this.rootEvent.getRoomId()}get isLive(){return!!this._isLive}get identifier(){return Dv(this.rootEvent)}get beaconInfoId(){return this.rootEvent.getId()}get beaconInfoOwner(){return this.rootEvent.getStateKey()}get beaconInfoEventType(){return this.rootEvent.getType()}get beaconInfo(){return this._beaconInfo}get latestLocationState(){return this._latestLocationEvent&&(0,Qf.parseBeaconContent)(this._latestLocationEvent.getContent())}get latestLocationEvent(){return this._latestLocationEvent}update(t){if(Dv(t)!==this.identifier)throw new Error("Invalid updating event");t.getTs()<this.rootEvent.getTs()||(this.rootEvent=t,this.setBeaconInfo(this.rootEvent),this.emit(Qi.Update,t,this),this.clearLatestLocation())}destroy(){this.livenessWatchTimeout&&clearTimeout(this.livenessWatchTimeout),this._isLive=!1,this.emit(Qi.Destroy,this.identifier)}monitorLiveness(){if(this.livenessWatchTimeout&&clearTimeout(this.livenessWatchTimeout),this.checkLiveness(),!!this.beaconInfo)if(this.isLive){const t=this.beaconInfo.timestamp+this.beaconInfo.timeout-Date.now();t>1&&(this.livenessWatchTimeout=setTimeout(()=>{this.monitorLiveness()},t))}else this.beaconInfo.timestamp>Date.now()&&(this.livenessWatchTimeout=setTimeout(()=>{this.monitorLiveness()},this.beaconInfo.timestamp-Date.now()))}addLocations(t){var r;if(!this.isLive)return;const i=(r=t.filter(a=>{const o=a.getContent(),p=(0,Qf.parseBeaconContent)(o);if(!p.uri||!p.timestamp)return!1;const{timestamp:u}=p;return this._beaconInfo.timestamp&&kv(this._beaconInfo.timestamp,this._beaconInfo.timeout,u)&&(!this.latestLocationState||u>this.latestLocationState.timestamp)}).sort(kF.sortEventsByLatestContentTimestamp))===null||r===void 0?void 0:r[0];i&&(this._latestLocationEvent=i,this.emit(Qi.LocationUpdate,this.latestLocationState))}setBeaconInfo(t){this._beaconInfo=(0,Qf.parseBeaconInfoContent)(t.getContent()),this.checkLiveness()}checkLiveness(){var t,r;const n=this.isLive;if(!this.beaconInfo)return;const i=this.beaconInfo.timestamp>Date.now()?this.beaconInfo.timestamp-36e4:this.beaconInfo.timestamp;this._isLive=!!((t=this._beaconInfo)!==null&&t!==void 0&&t.live)&&!!i&&kv(i,(r=this._beaconInfo)===null||r===void 0?void 0:r.timeout,Date.now()),n!==this.isLive&&this.emit(Qi.LivenessChange,this.isLive,this)}}Tr.Beacon=MF;var Co={},o3;function AE(){if(o3)return Co;o3=1;var e=Ae;Object.defineProperty(Co,"__esModule",{value:!0}),Co.ReadReceipt=void 0,Co.synthesizeReceipt=y;var t=e(Ue),r=js(),n=At(),i=u(dt()),a=ir(),o=xe;function p(S){if(typeof WeakMap!="function")return null;var v=new WeakMap,h=new WeakMap;return(p=function(_){return _?h:v})(S)}function u(S,v){if(!v&&S&&S.__esModule)return S;if(S===null||typeof S!="object"&&typeof S!="function")return{default:S};var h=p(v);if(h&&h.has(S))return h.get(S);var _={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in S)if(l!=="default"&&Object.prototype.hasOwnProperty.call(S,l)){var c=d?Object.getOwnPropertyDescriptor(S,l):null;c&&(c.get||c.set)?Object.defineProperty(_,l,c):_[l]=S[l]}return _.default=S,h&&h.set(S,_),_}function y(S,v,h){var _;return new a.MatrixEvent({content:{[v.getId()]:{[h]:{[S]:{ts:v.getTs(),thread_id:(_=v.threadRootId)!==null&&_!==void 0?_:r.MAIN_ROOM_TIMELINE}}}},type:o.EventType.Receipt,room_id:v.getRoomId()})}const s=0,m=1;class g extends n.TypedEventEmitter{constructor(...v){super(...v),(0,t.default)(this,"receipts",{}),(0,t.default)(this,"receiptCacheByEventId",{}),(0,t.default)(this,"timeline",void 0)}getReadReceiptForUserId(v,h=!1,_=r.ReceiptType.Read){var d,l;const[c,f]=(d=(l=this.receipts[_])===null||l===void 0?void 0:l[v])!==null&&d!==void 0?d:[];return h?c:f??c}getEventReadUpTo(v,h=!1){var _,d,l,c,f;const E=this.getUnfilteredTimelineSet(),w=this.getReadReceiptForUserId(v,h,r.ReceiptType.Read),I=this.getReadReceiptForUserId(v,h,r.ReceiptType.ReadPrivate);let D;if(w!=null&&w.eventId&&I!==null&&I!==void 0&&I.eventId&&(D=E.compareEventOrdering(w==null?void 0:w.eventId,I==null?void 0:I.eventId)),!D&&w!==null&&w!==void 0&&(_=w.data)!==null&&_!==void 0&&_.ts&&I!==null&&I!==void 0&&(d=I.data)!==null&&d!==void 0&&d.ts){var A,L;D=(w==null||(A=w.data)===null||A===void 0?void 0:A.ts)-(I==null||(L=I.data)===null||L===void 0?void 0:L.ts)}return D?(f=D<0?I==null?void 0:I.eventId:w==null?void 0:w.eventId)!==null&&f!==void 0?f:null:(l=(c=I==null?void 0:I.eventId)!==null&&c!==void 0?c:w==null?void 0:w.eventId)!==null&&l!==void 0?l:null}addReceiptToStructure(v,h,_,d,l){var c,f;this.receipts[h]||(this.receipts[h]={}),this.receipts[h][_]||(this.receipts[h][_]=[null,null]);const E=this.receipts[h][_];let w=E[s];if(l){var I;w=(I=E[m])!==null&&I!==void 0?I:E[s]}if(w){const W=this.getUnfilteredTimelineSet().compareEventOrdering(w.eventId,v);if(W!==null&&W>=0)return}const D={eventId:v,data:d},A=l?E[s]:D,L=l?D:E[m];let F=null;A&&L&&(F=this.getUnfilteredTimelineSet().compareEventOrdering(A.eventId,L.eventId));const x=F===null||F<0,H=(c=E[m])!==null&&c!==void 0?c:E[s];l&&x?E[m]=D:l||(E[s]=D,x||(E[m]=null));const K=(f=E[m])!==null&&f!==void 0?f:E[s];if(H!==K){if(H&&this.receiptCacheByEventId[H.eventId]){const W=H.eventId;this.receiptCacheByEventId[W]=this.receiptCacheByEventId[W].filter(X=>X.type!==h||X.userId!==_),this.receiptCacheByEventId[W].length<1&&delete this.receiptCacheByEventId[W]}this.receiptCacheByEventId[v]||(this.receiptCacheByEventId[v]=[]),this.receiptCacheByEventId[v].push({userId:_,type:h,data:d})}}getReceiptsForEvent(v){return this.receiptCacheByEventId[v.getId()]||[]}addLocalEchoReceipt(v,h,_){this.addReceipt(y(v,h,_),!0)}getUsersReadUpTo(v){return this.getReceiptsForEvent(v).filter(function(h){return i.isSupportedReceiptType(h.type)}).map(function(h){return h.userId})}hasUserReadEvent(v,h){var _;const d=this.getEventReadUpTo(v,!1);if(d===h||(_=this.timeline)!==null&&_!==void 0&&_.length&&this.timeline[this.timeline.length-1].getSender()&&this.timeline[this.timeline.length-1].getSender()===v)return!0;for(let c=((l=this.timeline)===null||l===void 0?void 0:l.length)-1;c>=0;--c){var l;const f=this.timeline[c];if(f.getId()===h)return!1;if(f.getId()===d)return!0}return!1}}return Co.ReadReceipt=g,Co}var Ln={},s3;function M0(){if(s3)return Ln;s3=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.ServerSupport=Ln.Feature=void 0,Ln.buildFeatureSupportMap=n;let e;Ln.ServerSupport=e,function(i){i[i.Stable=0]="Stable",i[i.Unstable=1]="Unstable",i[i.Unsupported=2]="Unsupported"}(e||(Ln.ServerSupport=e={}));let t;Ln.Feature=t,function(i){i.Thread="Thread",i.ThreadUnreadNotifications="ThreadUnreadNotifications",i.LoginTokenRequest="LoginTokenRequest"}(t||(Ln.Feature=t={}));const r={[t.Thread]:{unstablePrefixes:["org.matrix.msc3440"],matrixVersion:"v1.3"},[t.ThreadUnreadNotifications]:{unstablePrefixes:["org.matrix.msc3771","org.matrix.msc3773"],matrixVersion:"v1.4"},[t.LoginTokenRequest]:{unstablePrefixes:["org.matrix.msc3882"]}};async function n(i){const a=new Map;for(const[s,m]of Object.entries(r)){var o,p,u,y;const g=(o=(p=i.versions)===null||p===void 0?void 0:p.includes(m.matrixVersion||""))!==null&&o!==void 0?o:!1,S=(u=(y=m.unstablePrefixes)===null||y===void 0?void 0:y.every(v=>{var h;return((h=i.unstable_features)===null||h===void 0?void 0:h[v])===!0}))!==null&&u!==void 0?u:!1;g?a.set(s,e.Stable):S?a.set(s,e.Unstable):a.set(s,e.Unsupported)}return a}return Ln}var l3;function Ti(){if(l3)return Zt;l3=1;var e=Ae;Object.defineProperty(Zt,"__esModule",{value:!0}),Zt.RoomNameType=Zt.RoomEvent=Zt.Room=Zt.NotificationCountType=Zt.KNOWN_SAFE_ROOM_VERSION=void 0;var t=e(Ue),r=k0(),n=Pn(),i=Ks,a=I(dt()),o=ir(),p=OE(),u=en,y=gu,s=Ge(),m=yo(),g=xe,S=ln(),v=h1(),h=Ia(),_=Tr,d=y1(),l=js(),c=CE(),f=AE(),E=M0();function w(Y){if(typeof WeakMap!="function")return null;var R=new WeakMap,k=new WeakMap;return(w=function(B){return B?k:R})(Y)}function I(Y,R){if(!R&&Y&&Y.__esModule)return Y;if(Y===null||typeof Y!="object"&&typeof Y!="function")return{default:Y};var k=w(R);if(k&&k.has(Y))return k.get(Y);var B={},$=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var C in Y)if(C!=="default"&&Object.prototype.hasOwnProperty.call(Y,C)){var N=$?Object.getOwnPropertyDescriptor(Y,C):null;N&&(N.get||N.set)?Object.defineProperty(B,C,N):B[C]=Y[C]}return B.default=Y,k&&k.set(Y,B),B}function D(Y,R){var k=Object.keys(Y);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(Y);R&&(B=B.filter(function($){return Object.getOwnPropertyDescriptor(Y,$).enumerable})),k.push.apply(k,B)}return k}function A(Y){for(var R=1;R<arguments.length;R++){var k=arguments[R]!=null?arguments[R]:{};R%2?D(Object(k),!0).forEach(function(B){(0,t.default)(Y,B,k[B])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Y,Object.getOwnPropertyDescriptors(k)):D(Object(k)).forEach(function(B){Object.defineProperty(Y,B,Object.getOwnPropertyDescriptor(k,B))})}return Y}const L="9";Zt.KNOWN_SAFE_ROOM_VERSION=L;const F=["1","2","3","4","5","6","7","8","9"],x=30;let H;Zt.NotificationCountType=H,function(Y){Y.Highlight="highlight",Y.Total="total"}(H||(Zt.NotificationCountType=H={}));let K;Zt.RoomEvent=K,function(Y){Y.MyMembership="Room.myMembership",Y.Tags="Room.tags",Y.AccountData="Room.accountData",Y.Receipt="Room.receipt",Y.Name="Room.name",Y.Redaction="Room.redaction",Y.RedactionCancelled="Room.redactionCancelled",Y.LocalEchoUpdated="Room.localEchoUpdated",Y.Timeline="Room.timeline",Y.TimelineReset="Room.timelineReset",Y.TimelineRefresh="Room.TimelineRefresh",Y.OldStateUpdated="Room.OldStateUpdated",Y.CurrentStateUpdated="Room.CurrentStateUpdated",Y.HistoryImportedWithinTimeline="Room.historyImportedWithinTimeline",Y.UnreadNotifications="Room.UnreadNotifications"}(K||(Zt.RoomEvent=K={}));class W extends f.ReadReceipt{constructor(R,k,B,$={}){super(),this.roomId=R,this.client=k,this.myUserId=B,this.opts=$,(0,t.default)(this,"reEmitter",void 0),(0,t.default)(this,"txnToEvent",{}),(0,t.default)(this,"notificationCounts",{}),(0,t.default)(this,"threadNotifications",new Map),(0,t.default)(this,"cachedThreadReadReceipts",new Map),(0,t.default)(this,"timelineSets",void 0),(0,t.default)(this,"threadsTimelineSets",[]),(0,t.default)(this,"filteredTimelineSets",{}),(0,t.default)(this,"timelineNeedsRefresh",!1),(0,t.default)(this,"pendingEventList",void 0),(0,t.default)(this,"blacklistUnverifiedDevices",void 0),(0,t.default)(this,"selfMembership",void 0),(0,t.default)(this,"summaryHeroes",null),(0,t.default)(this,"getTypeWarning",!1),(0,t.default)(this,"getVersionWarning",!1),(0,t.default)(this,"membersPromise",void 0),(0,t.default)(this,"name",void 0),(0,t.default)(this,"normalizedName",void 0),(0,t.default)(this,"tags",{}),(0,t.default)(this,"accountData",{}),(0,t.default)(this,"summary",null),(0,t.default)(this,"timeline",void 0),(0,t.default)(this,"oldState",void 0),(0,t.default)(this,"currentState",void 0),(0,t.default)(this,"relations",new c.RelationsContainer(this.client,this)),(0,t.default)(this,"threads",new Map),(0,t.default)(this,"lastThread",void 0),(0,t.default)(this,"visibilityEvents",new Map),(0,t.default)(this,"threadTimelineSetsPromise",null),(0,t.default)(this,"threadsReady",!1),(0,t.default)(this,"updateThreadRootEvents",(C,N,T)=>{if(C.length){var ee;if(this.updateThreadRootEvent((ee=this.threadsTimelineSets)===null||ee===void 0?void 0:ee[0],C,N,T),C.hasCurrentUserParticipated){var ne;this.updateThreadRootEvent((ne=this.threadsTimelineSets)===null||ne===void 0?void 0:ne[1],C,N,T)}}}),(0,t.default)(this,"updateThreadRootEvent",(C,N,T,ee)=>{C&&N.rootEvent&&(ee&&C.removeEvent(N.id),d.Thread.hasServerSideSupport?C.addLiveEvent(N.rootEvent,{duplicateStrategy:r.DuplicateStrategy.Replace,fromCache:!1,roomState:this.currentState}):C.addEventToTimeline(N.rootEvent,C.getLiveTimeline(),{toStartOfTimeline:T}))}),(0,t.default)(this,"applyRedaction",C=>{if(C.isRedaction()){const N=C.event.redacts,T=N?this.findEventById(N):void 0;if(T){if(T.makeRedacted(C),T.isState()){const ee=this.currentState.getStateEvents(T.getType(),T.getStateKey());(ee==null?void 0:ee.getId())===T.getId()&&this.currentState.setStateEvents([T])}this.emit(K.Redaction,C,this),this.visibilityEvents.delete(N),T.isVisibilityEvent()&&this.redactVisibilityChangeEvent(C)}}}),this.setMaxListeners(100),this.reEmitter=new m.TypedReEmitter(this),$.pendingEventOrdering=$.pendingEventOrdering||S.PendingEventOrdering.Chronological,this.name=R,this.normalizedName=R,this.timelineSets=[new r.EventTimelineSet(this,$)],this.reEmitter.reEmit(this.getUnfilteredTimelineSet(),[K.Timeline,K.TimelineReset]),this.fixUpLegacyTimelineFields(),this.opts.pendingEventOrdering===S.PendingEventOrdering.Detached&&(this.pendingEventList=[],this.client.store.getPendingEvents(this.roomId).then(C=>{const N=this.client.getEventMapper({toDevice:!1,decrypt:!1});C.forEach(async T=>{const ee=N(T);ee.getType()===g.EventType.RoomMessageEncrypted&&this.client.isCryptoEnabled()&&await ee.attemptDecryption(this.client.crypto),ee.setStatus(p.EventStatus.NOT_SENT),this.addPendingEvent(ee,ee.getTxnId())})})),this.opts.lazyLoadMembers?this.membersPromise=void 0:this.membersPromise=Promise.resolve(!1)}async createThreadsTimelineSets(){var R;if(this.threadTimelineSetsPromise)return this.threadTimelineSetsPromise;if((R=this.client)!==null&&R!==void 0&&R.supportsExperimentalThreads())try{this.threadTimelineSetsPromise=Promise.all([this.createThreadTimelineSet(),this.createThreadTimelineSet(d.ThreadFilterType.My)]);const k=await this.threadTimelineSetsPromise;return this.threadsTimelineSets.push(...k),k}catch{return this.threadTimelineSetsPromise=null,null}return null}async decryptCriticalEvents(){if(!this.client.isCryptoEnabled())return;const R=this.getEventReadUpTo(this.client.getUserId(),!0),k=this.getLiveTimeline().getEvents(),B=k.findIndex(C=>C.event.event_id===R),$=k.slice(B).filter(C=>C.shouldAttemptDecryption()).reverse().map(C=>C.attemptDecryption(this.client.crypto,{isRetry:!0}));await Promise.allSettled($)}async decryptAllEvents(){if(!this.client.isCryptoEnabled())return;const R=this.getUnfilteredTimelineSet().getLiveTimeline().getEvents().filter(k=>k.shouldAttemptDecryption()).reverse().map(k=>k.attemptDecryption(this.client.crypto,{isRetry:!0}));await Promise.allSettled(R)}getCreator(){var R;const k=this.currentState.getStateEvents(g.EventType.RoomCreate,"");return(R=k==null?void 0:k.getContent().creator)!==null&&R!==void 0?R:null}getVersion(){var R;const k=this.currentState.getStateEvents(g.EventType.RoomCreate,"");return k?(R=k.getContent().room_version)!==null&&R!==void 0?R:"1":(this.getVersionWarning||(s.logger.warn("[getVersion] Room "+this.roomId+" does not have an m.room.create event"),this.getVersionWarning=!0),"1")}shouldUpgradeToVersion(){return F.includes(this.getVersion())?null:L}async getRecommendedVersion(){let k=(await this.client.getCapabilities())["m.room_versions"];if(!k){k={default:L,available:{}};for(const $ of F)k.available[$]=S.RoomVersionStability.Stable}let B=this.checkVersionAgainstCapability(k);if(B.urgent&&B.needsUpgrade)if(s.logger.warn("Refreshing room version capability because the server looks to be supporting a newer room version we don't know about."),k=(await this.client.getCapabilities(!0))["m.room_versions"],k)B=this.checkVersionAgainstCapability(k);else return s.logger.warn("No room version capability - assuming upgrade required."),B;return B}checkVersionAgainstCapability(R){const k=this.getVersion();s.logger.log(`[${this.roomId}] Current version: ${k}`),s.logger.log(`[${this.roomId}] Version capability: `,R);const B={version:k,needsUpgrade:!1,urgent:!1};return k===R.default||Object.keys(R.available).filter(C=>R.available[C]==="stable").includes(k)||(B.version=R.default,B.needsUpgrade=!0,B.urgent=!!this.getVersion().match(/^[0-9]+[0-9.]*$/g),B.urgent?s.logger.warn(`URGENT upgrade required on ${this.roomId}`):s.logger.warn(`Non-urgent upgrade required on ${this.roomId}`)),B}userMayUpgradeRoom(R){return this.currentState.maySendStateEvent(g.EventType.RoomTombstone,R)}getPendingEvents(){if(!this.pendingEventList)throw new Error("Cannot call getPendingEvents with pendingEventOrdering == "+this.opts.pendingEventOrdering);return this.pendingEventList}removePendingEvent(R){if(!this.pendingEventList)throw new Error("Cannot call removePendingEvent with pendingEventOrdering == "+this.opts.pendingEventOrdering);const k=a.removeElement(this.pendingEventList,function(B){return B.getId()==R},!1);return this.savePendingEvents(),k}hasPendingEvent(R){var k,B;return(k=(B=this.pendingEventList)===null||B===void 0?void 0:B.some($=>$.getId()===R))!==null&&k!==void 0?k:!1}getPendingEvent(R){var k,B;return(k=(B=this.pendingEventList)===null||B===void 0?void 0:B.find($=>$.getId()===R))!==null&&k!==void 0?k:null}getLiveTimeline(){return this.getUnfilteredTimelineSet().getLiveTimeline()}getLastActiveTimestamp(){const k=this.getLiveTimeline().getEvents();return k.length?k[k.length-1].getTs():Number.MIN_SAFE_INTEGER}getMyMembership(){var R;return(R=this.selfMembership)!==null&&R!==void 0?R:"leave"}getDMInviter(){const R=this.getMember(this.myUserId);if(R)return R.getDMInviter();if(this.selfMembership==="invite"&&this.getInvitedAndJoinedMemberCount()===2){var k;return(k=this.summaryHeroes)===null||k===void 0?void 0:k[0]}}guessDMUserId(){const R=this.getMember(this.myUserId);if(R){const $=R.getDMInviter();if($)return $}if(Array.isArray(this.summaryHeroes)&&this.summaryHeroes.length)return this.summaryHeroes[0];const B=this.currentState.getMembers().find($=>$.userId!==this.myUserId);return B?B.userId:this.myUserId}getAvatarFallbackMember(){if(this.getInvitedAndJoinedMemberCount()>2)return;const k=Array.isArray(this.summaryHeroes)&&this.summaryHeroes.length;if(k){const $=this.summaryHeroes.map(C=>this.getMember(C)).find(C=>!!C);if($)return $}const B=this.currentState.getMembers();if(B.length<=2){const $=B.find(C=>C.userId!==this.myUserId);if($)return $}if(k){const $=this.summaryHeroes.map(C=>this.client.getUser(C)).find(C=>!!C);if($){const C=new u.RoomMember(this.roomId,$.userId);return C.user=$,C}}}updateMyMembership(R){const k=this.selfMembership;this.selfMembership=R,k!==R&&(R==="leave"&&this.cleanupAfterLeaving(),this.emit(K.MyMembership,this,R,k))}async loadMembersFromServer(){const R=this.client.store.getSyncToken();return(await this.client.members(this.roomId,void 0,"leave",R??void 0)).chunk}async loadMembers(){let R=!1,k=await this.client.store.getOutOfBandMembers(this.roomId);return(k===null||this.client.isCryptoEnabled()&&this.client.isRoomEncrypted(this.roomId))&&(R=!0,k=await this.loadMembersFromServer(),s.logger.log(`LL: got ${k.length} members from server for room ${this.roomId}`)),{memberEvents:k.map(this.client.getEventMapper()),fromServer:R}}loadMembersIfNeeded(){if(this.membersPromise)return this.membersPromise;this.currentState.markOutOfBandMembersStarted();const R=this.loadMembers().then(k=>(this.currentState.setOutOfBandMembers(k.memberEvents),this.client.isCryptoEnabled()&&this.client.isRoomEncrypted(this.roomId)&&this.client.crypto.trackRoomDevices(this.roomId),k.fromServer)).catch(k=>{throw this.membersPromise=void 0,this.currentState.markOutOfBandMembersFailed(),k});return R.then(k=>{if(k){const B=this.currentState.getMembers().filter(C=>C.isOutOfBand()).map(C=>{var N;return(N=C.events.member)===null||N===void 0?void 0:N.event});return s.logger.log(`LL: telling store to write ${B.length} members for room ${this.roomId}`),this.client.store.setOutOfBandMembers(this.roomId,B).catch(C=>{s.logger.log("LL: storing OOB room members failed, oh well",C)})}}).catch(k=>{s.logger.error(k)}),this.membersPromise=R,this.membersPromise}async clearLoadedMembersIfNeeded(){this.opts.lazyLoadMembers&&this.membersPromise&&(await this.loadMembersIfNeeded(),await this.client.store.clearOutOfBandMembers(this.roomId),this.currentState.clearOutOfBandMembers(),this.membersPromise=void 0)}cleanupAfterLeaving(){this.clearLoadedMembersIfNeeded().catch(R=>{s.logger.error(`error after clearing loaded members from room ${this.roomId} after leaving`),s.logger.log(R)})}async refreshLiveTimeline(){const R=this.getLiveTimeline(),k=R.getPaginationToken(n.EventTimeline.FORWARDS),B=R.getPaginationToken(n.EventTimeline.BACKWARDS),$=R.getEvents(),C=$[$.length-1];s.logger.log(`[refreshLiveTimeline for ${this.roomId}] at mostRecentEventInTimeline=${C&&C.getId()} liveTimelineBefore=${R.toString()} forwardPaginationToken=${k} backwardPaginationToken=${B}`);const N=this.getUnfilteredTimelineSet();let T;C?(this.resetLiveTimeline(null,null),this.emit(K.TimelineRefresh,this,N),T=await this.client.getEventTimeline(N,C.getId())):T=await this.client.getLatestTimeline(N);const ee=N.getLiveTimeline();!ee||ee.getPaginationToken(n.Direction.Forward)===null&&ee.getPaginationToken(n.Direction.Backward)===null&&ee.getEvents().length===0?(s.logger.log(`[refreshLiveTimeline for ${this.roomId}] using our new live timeline`),T.setPaginationToken(k,n.EventTimeline.FORWARDS),N.setLiveTimeline(T),this.fixUpLegacyTimelineFields()):s.logger.log(`[refreshLiveTimeline for ${this.roomId}] \`/sync\` or some other request beat us to creating a new live timeline after we reset it. We'll use that instead since any events in the scrollback from this timeline will include the history.`),this.setTimelineNeedsRefresh(!1),this.emit(K.TimelineRefresh,this,N)}resetLiveTimeline(R,k){for(const B of this.timelineSets)B.resetLiveTimeline(R??void 0,k??void 0);this.fixUpLegacyTimelineFields()}fixUpLegacyTimelineFields(){const R=this.oldState,k=this.currentState;this.timeline=this.getLiveTimeline().getEvents(),this.oldState=this.getLiveTimeline().getState(n.EventTimeline.BACKWARDS),this.currentState=this.getLiveTimeline().getState(n.EventTimeline.FORWARDS),R!==this.oldState&&this.emit(K.OldStateUpdated,this,R,this.oldState),k!==this.currentState&&(this.emit(K.CurrentStateUpdated,this,k,this.currentState),this.reEmitter.stopReEmitting(k,[h.RoomStateEvent.Events,h.RoomStateEvent.Members,h.RoomStateEvent.NewMember,h.RoomStateEvent.Update,h.RoomStateEvent.Marker,_.BeaconEvent.New,_.BeaconEvent.Update,_.BeaconEvent.Destroy,_.BeaconEvent.LivenessChange]),this.reEmitter.reEmit(this.currentState,[h.RoomStateEvent.Events,h.RoomStateEvent.Members,h.RoomStateEvent.NewMember,h.RoomStateEvent.Update,h.RoomStateEvent.Marker,_.BeaconEvent.New,_.BeaconEvent.Update,_.BeaconEvent.Destroy,_.BeaconEvent.LivenessChange]))}async hasUnverifiedDevices(){if(!this.client.isRoomEncrypted(this.roomId))return!1;const R=await this.getEncryptionTargetMembers();for(const k of R)if(this.client.getStoredDevicesForUser(k.userId).some($=>$.isUnverified()))return!0;return!1}getTimelineSets(){return this.timelineSets}getUnfilteredTimelineSet(){return this.timelineSets[0]}getTimelineForEvent(R){const k=this.findEventById(R),B=this.findThreadForEvent(k);return B?B.timelineSet.getLiveTimeline():this.getUnfilteredTimelineSet().getTimelineForEvent(R)}addTimeline(){return this.getUnfilteredTimelineSet().addTimeline()}setTimelineNeedsRefresh(R){this.timelineNeedsRefresh=R}getTimelineNeedsRefresh(){return this.timelineNeedsRefresh}findEventById(R){let k=this.getUnfilteredTimelineSet().findEventById(R);if(!k){const B=this.getThreads();for(let $=0;$<B.length;$++)if(k=B[$].findEventById(R),k)return k}return k}getUnreadNotificationCount(R=H.Total){let k=this.getRoomUnreadNotificationCount(R);if(this.client.canSupport.get(E.Feature.ThreadUnreadNotifications)!==E.ServerSupport.Unsupported)for(const $ of this.threadNotifications.values()){var B;k+=(B=$[R])!==null&&B!==void 0?B:0}return k}getUnreadCountForEventContext(R=H.Total,k){var B;return(B=!!k.threadRootId&&!k.isThreadRoot?this.getThreadUnreadNotificationCount(k.threadRootId,R):this.getRoomUnreadNotificationCount(R))!==null&&B!==void 0?B:0}getRoomUnreadNotificationCount(R=H.Total){var k;return(k=this.notificationCounts[R])!==null&&k!==void 0?k:0}getThreadUnreadNotificationCount(R,k=H.Total){var B,$;return(B=($=this.threadNotifications.get(R))===null||$===void 0?void 0:$[k])!==null&&B!==void 0?B:0}hasThreadUnreadNotification(){for(const B of this.threadNotifications.values()){var R,k;if(((R=B.highlight)!==null&&R!==void 0?R:0)>0||((k=B.total)!==null&&k!==void 0?k:0)>0)return!0}return!1}setThreadUnreadNotificationCount(R,k,B){var $,C;const N=A({highlight:($=this.threadNotifications.get(R))===null||$===void 0?void 0:$.highlight,total:(C=this.threadNotifications.get(R))===null||C===void 0?void 0:C.total},{[k]:B});this.threadNotifications.set(R,N),this.emit(K.UnreadNotifications,N,R)}get threadsAggregateNotificationType(){let R=null;for(const $ of this.threadNotifications.values()){var k,B;if(((k=$.highlight)!==null&&k!==void 0?k:0)>0)return H.Highlight;((B=$.total)!==null&&B!==void 0?B:0)>0&&!R&&(R=H.Total)}return R}resetThreadUnreadNotificationCount(R){if(R)for(const[k]of this.threadNotifications)R.includes(k)||this.threadNotifications.delete(k);else this.threadNotifications.clear();this.emit(K.UnreadNotifications)}setUnreadNotificationCount(R,k){this.notificationCounts[R]=k,this.emit(K.UnreadNotifications,this.notificationCounts)}setSummary(R){const k=R["m.heroes"],B=R["m.joined_member_count"],$=R["m.invited_member_count"];Number.isInteger(B)&&this.currentState.setJoinedMemberCount(B),Number.isInteger($)&&this.currentState.setInvitedMemberCount($),Array.isArray(k)&&(this.summaryHeroes=k.filter(C=>C!==this.myUserId))}setBlacklistUnverifiedDevices(R){this.blacklistUnverifiedDevices=R}getBlacklistUnverifiedDevices(){return this.blacklistUnverifiedDevices===void 0?null:this.blacklistUnverifiedDevices}getAvatarUrl(R,k,B,$,C=!0){const N=this.currentState.getStateEvents(g.EventType.RoomAvatar,"");if(!N&&!C)return null;const T=N?N.getContent().url:null;return T?(0,i.getHttpUriForMxc)(R,T,k,B,$):null}getMxcAvatarUrl(){var R,k;return((R=this.currentState.getStateEvents(g.EventType.RoomAvatar,""))===null||R===void 0||(k=R.getContent())===null||k===void 0?void 0:k.url)||null}getCanonicalAlias(){const R=this.currentState.getStateEvents(g.EventType.RoomCanonicalAlias,"");return R&&R.getContent().alias||null}getAltAliases(){const R=this.currentState.getStateEvents(g.EventType.RoomCanonicalAlias,"");return R?R.getContent().alt_aliases||[]:[]}addEventsToTimeline(R,k,B,$){B.getTimelineSet().addEventsToTimeline(R,k,B,$)}getThread(R){var k;return(k=this.threads.get(R))!==null&&k!==void 0?k:null}getThreads(){return Array.from(this.threads.values())}getMember(R){return this.currentState.getMember(R)}getMembers(){return this.currentState.getMembers()}getJoinedMembers(){return this.getMembersWithMembership("join")}getJoinedMemberCount(){return this.currentState.getJoinedMemberCount()}getInvitedMemberCount(){return this.currentState.getInvitedMemberCount()}getInvitedAndJoinedMemberCount(){return this.getInvitedMemberCount()+this.getJoinedMemberCount()}getMembersWithMembership(R){return this.currentState.getMembers().filter(function(k){return k.membership===R})}async getEncryptionTargetMembers(){await this.loadMembersIfNeeded();let R=this.getMembersWithMembership("join");return this.shouldEncryptForInvitedMembers()&&(R=R.concat(this.getMembersWithMembership("invite"))),R}shouldEncryptForInvitedMembers(){var R;const k=this.currentState.getStateEvents(g.EventType.RoomHistoryVisibility,"");return(k==null||(R=k.getContent())===null||R===void 0?void 0:R.history_visibility)!=="joined"}getDefaultRoomName(R){return this.calculateRoomName(R,!0)}hasMembershipState(R,k){const B=this.getMember(R);return B?B.membership===k:!1}getOrCreateFilteredTimelineSet(R,{prepopulateTimeline:k=!0,useSyncEvents:B=!0,pendingEvents:$=!0}={}){if(this.filteredTimelineSets[R.filterId])return this.filteredTimelineSets[R.filterId];const C=Object.assign({filter:R,pendingEvents:$},this.opts),N=new r.EventTimelineSet(this,C);this.reEmitter.reEmit(N,[K.Timeline,K.TimelineReset]),B&&(this.filteredTimelineSets[R.filterId]=N,this.timelineSets.push(N));const T=this.getLiveTimeline();if(k){T.getEvents().forEach(function(ne){N.addLiveEvent(ne)});let ee=T;for(;ee.getNeighbouringTimeline(n.EventTimeline.BACKWARDS);)ee=ee.getNeighbouringTimeline(n.EventTimeline.BACKWARDS);N.getLiveTimeline().setPaginationToken(ee.getPaginationToken(n.EventTimeline.BACKWARDS),n.EventTimeline.BACKWARDS)}else if(B){const ee=T.getPaginationToken(n.Direction.Forward);N.getLiveTimeline().setPaginationToken(ee,n.Direction.Backward)}return N}async getThreadListFilter(R=d.ThreadFilterType.All){const k=this.client.getUserId(),B=new v.Filter(k),$={room:{timeline:{[d.FILTER_RELATED_BY_REL_TYPES.name]:[d.THREAD_RELATION_TYPE.name]}}};R===d.ThreadFilterType.My&&($.room.timeline[d.FILTER_RELATED_BY_SENDERS.name]=[k]),B.setDefinition($);const C=await this.client.getOrCreateFilter(`THREAD_PANEL_${this.roomId}_${R}`,B);return B.filterId=C,B}async createThreadTimelineSet(R){let k;if(d.Thread.hasServerSideListSupport)k=new r.EventTimelineSet(this,A(A({},this.opts),{},{pendingEvents:!1}),void 0,void 0,R??d.ThreadFilterType.All),this.reEmitter.reEmit(k,[K.Timeline,K.TimelineReset]);else if(d.Thread.hasServerSideSupport){const B=await this.getThreadListFilter(R);k=this.getOrCreateFilteredTimelineSet(B,{prepopulateTimeline:!1,useSyncEvents:!1,pendingEvents:!1})}else k=new r.EventTimelineSet(this,{pendingEvents:!1}),Array.from(this.threads).forEach(([,B])=>{if(B.length===0)return;const $=B.timeline.some(C=>C.getSender()===this.client.getUserId());(R!==d.ThreadFilterType.My||$)&&k.getLiveTimeline().addEvent(B.rootEvent,{toStartOfTimeline:!1})});return k}processThreadRoots(R,k){for(const B of R)n.EventTimeline.setEventMetadata(B,this.currentState,k),this.getThread(B.getId())||this.createThread(B.getId(),B,[],k)}async fetchRoomThreads(){if(!(this.threadsReady||!this.client.supportsExperimentalThreads())){if(d.Thread.hasServerSideListSupport)await Promise.all([this.fetchRoomThreadList(d.ThreadFilterType.All),this.fetchRoomThreadList(d.ThreadFilterType.My)]);else{const B=await this.getThreadListFilter(),{chunk:$}=await this.client.createMessagesRequest(this.roomId,"",Number.MAX_SAFE_INTEGER,n.Direction.Backward,B);if(!$.length)return;const C=$.map(this.client.getEventMapper()).sort((ee,ne)=>{const se=ee.getServerAggregatedRelation(d.THREAD_RELATION_TYPE.name),me=ne.getServerAggregatedRelation(d.THREAD_RELATION_TYPE.name);return se.latest_event.origin_server_ts-me.latest_event.origin_server_ts});let N;const T=this.getLiveTimeline().getState(n.EventTimeline.FORWARDS);for(const ee of C){var R;const ne={duplicateStrategy:r.DuplicateStrategy.Ignore,fromCache:!1,roomState:T};(R=this.threadsTimelineSets[0])===null||R===void 0||R.addLiveEvent(ee,ne);const se=ee.getServerAggregatedRelation(d.THREAD_RELATION_TYPE.name);if(se!=null&&se.current_user_participated){var k;(k=this.threadsTimelineSets[1])===null||k===void 0||k.addLiveEvent(ee,ne),N=ee}}this.processThreadRoots(C,!0),this.client.decryptEventIfNeeded(C[C.length-1]),N&&this.client.decryptEventIfNeeded(N)}this.on(d.ThreadEvent.NewReply,this.onThreadNewReply),this.on(d.ThreadEvent.Delete,this.onThreadDelete),this.threadsReady=!0}}async fetchRoomThreadList(R){const k=R===d.ThreadFilterType.My?this.threadsTimelineSets[1]:this.threadsTimelineSets[0],{chunk:B,end:$}=await this.client.createThreadListMessagesRequest(this.roomId,null,void 0,n.Direction.Backward,k.threadListType,k.getFilter());if(k.getLiveTimeline().setPaginationToken($??null,n.Direction.Backward),!B.length)return;const C=B.map(this.client.getEventMapper());this.processThreadRoots(C,!0);const N=this.getLiveTimeline().getState(n.EventTimeline.FORWARDS);for(const T of C)k.addLiveEvent(T,{duplicateStrategy:r.DuplicateStrategy.Replace,fromCache:!1,roomState:N})}onThreadNewReply(R){this.updateThreadRootEvents(R,!1,!0)}onThreadDelete(R){var k;this.threads.delete(R.id);const B=this.getTimelineForEvent(R.id),$=B==null||(k=B.getEvents())===null||k===void 0?void 0:k.find(C=>C.getId()===R.id);$?R.clearEventMetadata($):s.logger.debug("onThreadDelete: Could not find root event in room timeline");for(const C of this.threadsTimelineSets)C.removeEvent(R.id)}removeFilteredTimelineSet(R){const k=this.filteredTimelineSets[R.filterId];delete this.filteredTimelineSets[R.filterId];const B=this.timelineSets.indexOf(k);B>-1&&this.timelineSets.splice(B,1)}eventShouldLiveIn(R,k,B){var $,C;if(!(($=this.client)!==null&&$!==void 0&&$.supportsExperimentalThreads()))return{shouldLiveInRoom:!0,shouldLiveInThread:!1};if(R.isThreadRoot||B!=null&&B.has(R.getId()))return{shouldLiveInRoom:!0,shouldLiveInThread:!0,threadId:R.getId()};if(R.isRelation(d.THREAD_RELATION_TYPE.name))return{shouldLiveInRoom:!1,shouldLiveInThread:!0,threadId:R.threadRootId};const N=R.getAssociatedId(),T=(C=this.findEventById(N))!==null&&C!==void 0?C:k==null?void 0:k.find(ee=>ee.getId()===N);return T&&(R.isRelation()||R.isRedaction())?this.eventShouldLiveIn(T,k,B):B!=null&&B.has(R.relationEventId)?{shouldLiveInRoom:!0,shouldLiveInThread:!0,threadId:R.relationEventId}:{shouldLiveInRoom:!0,shouldLiveInThread:!1}}findThreadForEvent(R){if(!R)return null;const{threadId:k}=this.eventShouldLiveIn(R);return k?this.getThread(k):null}addThreadedEvents(R,k,B=!1){let $=this.getThread(R);if(!$){var C;const N=(C=this.findEventById(R))!==null&&C!==void 0?C:k.find(T=>T.getId()===R);$=this.createThread(R,N,k,B)}$.addEvents(k,B)}processThreadedEvents(R,k){R.forEach(this.applyRedaction);const B={};for(const C of R){var $;const{threadId:N,shouldLiveInThread:T}=this.eventShouldLiveIn(C);T&&!B[N]&&(B[N]=[]),($=B[N])===null||$===void 0||$.push(C)}Object.entries(B).map(([C,N])=>this.addThreadedEvents(C,N,k))}createThread(R,k,B=[],$){var C,N,T;if(this.threads.has(R))return this.threads.get(R);if(k){const se=this.relations.getAllChildEventsForEvent(k.getId());se!=null&&se.length&&(B=B.concat(se.filter(me=>!me.isRelation(g.RelationType.Replace))))}const ee=new d.Thread(R,k,{room:this,client:this.client,pendingEventOrdering:this.opts.pendingEventOrdering,receipts:(C=this.cachedThreadReadReceipts.get(R))!==null&&C!==void 0?C:[]});this.cachedThreadReadReceipts.delete(R),ee.addEvents(B,!1),this.threads.set(ee.id,ee),this.reEmitter.reEmit(ee,[d.ThreadEvent.Delete,d.ThreadEvent.Update,d.ThreadEvent.NewReply,K.Timeline,K.TimelineReset]);const ne=((N=this.lastThread)===null||N===void 0?void 0:N.rootEvent)&&(k==null?void 0:k.localTimestamp)&&((T=this.lastThread.rootEvent)===null||T===void 0?void 0:T.localTimestamp)<(k==null?void 0:k.localTimestamp);return(!this.lastThread||ne)&&(this.lastThread=ee),this.threadsReady&&this.updateThreadRootEvents(ee,$,!1),this.emit(d.ThreadEvent.New,ee,$),ee}processLiveEvent(R){if(this.applyRedaction(R),R.isVisibilityEvent()&&this.applyNewVisibilityEvent(R),this.applyPendingVisibilityEvents(R),!R.getUnsigned().transaction_id&&R.getSender()===this.myUserId){for(const B in this.txnToEvent)if(this.txnToEvent[B].getId()===R.getId()){s.logger.debug("processLiveEvent: found sent event without txn ID: ",B,R.getId());const C=R.getUnsigned();C.transaction_id=B,R.setUnsigned(C);break}}}addLiveEvent(R,k){const{duplicateStrategy:B,timelineWasEmpty:$,fromCache:C}=k;for(const N of this.timelineSets)N.addLiveEvent(R,{duplicateStrategy:B,fromCache:C,timelineWasEmpty:$});R.sender&&R.getType()!==g.EventType.RoomRedaction&&this.addReceipt((0,f.synthesizeReceipt)(R.sender.userId,R,l.ReceiptType.Read),!0)}addPendingEvent(R,k){if(R.status!==p.EventStatus.SENDING&&R.status!==p.EventStatus.NOT_SENT)throw new Error("addPendingEvent called on an event with status "+R.status);if(this.txnToEvent[k])throw new Error("addPendingEvent called on an event with known txnId "+k);if(n.EventTimeline.setEventMetadata(R,this.getLiveTimeline().getState(n.EventTimeline.FORWARDS),!1),this.txnToEvent[k]=R,this.pendingEventList){if(this.pendingEventList.some(B=>B.status===p.EventStatus.NOT_SENT)&&(s.logger.warn("Setting event as NOT_SENT due to messages in the same state"),R.setStatus(p.EventStatus.NOT_SENT)),this.pendingEventList.push(R),this.savePendingEvents(),R.isRelation()&&this.aggregateNonLiveRelation(R),R.isRedaction()){const B=R.event.redacts;let $=this.pendingEventList.find(C=>C.getId()===B);!$&&B&&($=this.findEventById(B)),$&&($.markLocallyRedacted(R),this.emit(K.Redaction,R,this))}}else for(const B of this.timelineSets)B.getFilter()?B.getFilter().filterRoomTimeline([R]).length&&B.addEventToTimeline(R,B.getLiveTimeline(),{toStartOfTimeline:!1}):B.addEventToTimeline(R,B.getLiveTimeline(),{toStartOfTimeline:!1});this.emit(K.LocalEchoUpdated,R,this)}savePendingEvents(){if(this.pendingEventList){const R=this.pendingEventList.map(k=>A(A({},k.event),{},{txn_id:k.getTxnId()})).filter(k=>{const B=k.type===g.EventType.RoomMessageEncrypted,$=this.client.isRoomEncrypted(this.roomId);return B||!$});this.client.store.setPendingEvents(this.roomId,R)}}aggregateNonLiveRelation(R){this.relations.aggregateChildEvent(R)}getEventForTxnId(R){return this.txnToEvent[R]}handleRemoteEcho(R,k){const B=k.getId(),$=R.getId(),C=k.status;s.logger.debug(`Got remote echo for event ${B} -> ${$} old status ${C}`),delete this.txnToEvent[R.getUnsigned().transaction_id],this.pendingEventList&&this.removePendingEvent(B),k.handleRemoteEcho(R.event);const{shouldLiveInRoom:N,threadId:T}=this.eventShouldLiveIn(R),ee=T?this.getThread(T):null;if(ee==null||ee.timelineSet.handleRemoteEcho(k,B,$),N)for(const ne of this.timelineSets)ne.handleRemoteEcho(k,B,$);this.emit(K.LocalEchoUpdated,k,this,B,C)}updatePendingEvent(R,k,B){if(s.logger.log(`setting pendingEvent status to ${k} in ${R.getRoomId()} event ID ${R.getId()} -> ${B}`),k==p.EventStatus.SENT&&!B)throw new Error("updatePendingEvent called with status=SENT, but no new event id");if(k==p.EventStatus.SENT&&this.getTimelineForEvent(B)){const ee=this.findEventById(B);if(!(ee==null?void 0:ee.getUnsigned().transaction_id)&&ee){const se=ee.getUnsigned();se.transaction_id=R.getTxnId(),ee.setUnsigned(se),this.removeEvent(ee.getId()),this.handleRemoteEcho(ee,R)}return}const $=R.status,C=R.getId();if(!$)throw new Error("updatePendingEventStatus called on an event which is not a local echo.");const N=X[$];if(!(N!=null&&N.includes(k)))throw new Error(`Invalid EventStatus transition ${$}->${k}`);if(R.setStatus(k),k==p.EventStatus.SENT){R.replaceLocalEventId(B);const{shouldLiveInRoom:T,threadId:ee}=this.eventShouldLiveIn(R),ne=ee?this.getThread(ee):void 0;if(ne==null||ne.timelineSet.replaceEventId(C,B),T)for(const se of this.timelineSets)se.replaceEventId(C,B)}else if(k==p.EventStatus.CANCELLED){if(this.pendingEventList){const T=this.getPendingEvent(C);this.removePendingEvent(C),T!=null&&T.isRedaction()&&this.revertRedactionLocalEcho(T)}this.removeEvent(C)}this.savePendingEvents(),this.emit(K.LocalEchoUpdated,R,this,C,$)}revertRedactionLocalEcho(R){const k=R.event.redacts;if(!k)return;const B=this.getUnfilteredTimelineSet().findEventById(k);B&&(B.unmarkLocallyRedacted(),this.emit(K.RedactionCancelled,R,this),B.isRelation()&&this.aggregateNonLiveRelation(B))}addLiveEvents(R,k,B=!1){let $=k,C=!1;if(typeof k=="object"?{duplicateStrategy:$,fromCache:B=!1,timelineWasEmpty:C}=k:k!==void 0&&s.logger.warn("Overload deprecated: `Room.addLiveEvents(events, duplicateStrategy?, fromCache?)` is deprecated in favor of the overload with `Room.addLiveEvents(events, IAddLiveEventOptions)`"),$&&["replace","ignore"].indexOf($)===-1)throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");for(let se=0;se<this.timelineSets.length;se++){const me=this.timelineSets[se].getLiveTimeline();if(me.getPaginationToken(n.EventTimeline.FORWARDS))throw new Error("live timeline "+se+" is no longer live - it has a pagination token ("+me.getPaginationToken(n.EventTimeline.FORWARDS)+")");if(me.getNeighbouringTimeline(n.EventTimeline.FORWARDS))throw new Error(`live timeline ${se} is no longer live - it has a neighbouring timeline`)}const N=this.findThreadRoots(R),T={},ee={duplicateStrategy:$,fromCache:B,timelineWasEmpty:C};for(const se of R){var ne;if(this.processLiveEvent(se),se.getUnsigned().transaction_id){const M=this.txnToEvent[se.getUnsigned().transaction_id];if(M){this.handleRemoteEcho(se,M);continue}}const{shouldLiveInRoom:me,shouldLiveInThread:q,threadId:oe}=this.eventShouldLiveIn(se,R,N);q&&!T[oe??""]&&(T[oe??""]=[]),(ne=T[oe??""])===null||ne===void 0||ne.push(se),me&&this.addLiveEvent(se,ee)}Object.entries(T).forEach(([se,me])=>{this.addThreadedEvents(se,me,!1)})}partitionThreadedEvents(R){if(this.client.supportsExperimentalThreads()){const $=this.findThreadRoots(R);return R.reduce((C,N)=>{const{shouldLiveInRoom:T,shouldLiveInThread:ee,threadId:ne}=this.eventShouldLiveIn(N,R,$);return T&&C[0].push(N),ee&&(N.setThreadId(ne??""),C[1].push(N)),C},[[],[]])}else return[R,[]]}findThreadRoots(R){const k=new Set;for(const $ of R)if($.isRelation(d.THREAD_RELATION_TYPE.name)){var B;k.add((B=$.relationEventId)!==null&&B!==void 0?B:"")}return k}addReceipt(R,k=!1){const B=R.getContent();Object.keys(B).forEach($=>{Object.keys(B[$]).forEach(C=>{Object.keys(B[$][C]).forEach(N=>{var T;const ee=B[$][C][N],se=!ee.thread_id||ee.thread_id===l.MAIN_ROOM_TIMELINE?this:this.threads.get((T=ee.thread_id)!==null&&T!==void 0?T:"");if(se)se.addReceiptToStructure($,C,N,ee,k);else{var me;this.cachedThreadReadReceipts.set(ee.thread_id,[...(me=this.cachedThreadReadReceipts.get(ee.thread_id))!==null&&me!==void 0?me:[],{event:R,synthetic:k}])}})})}),this.emit(K.Receipt,R,this)}addEphemeralEvents(R){for(const k of R)k.getType()===g.EventType.Typing?this.currentState.setTypingEvent(k):k.getType()===g.EventType.Receipt&&this.addReceipt(k)}removeEvents(R){for(const k of R)this.removeEvent(k)}removeEvent(R){let k=!1;for(const B of this.timelineSets){const $=B.removeEvent(R);$&&($.isRedaction()&&this.revertRedactionLocalEcho($),k=!0)}return k}recalculate(){const R=this.currentState.getStateEvents(g.EventType.RoomMember,this.myUserId);if(R){const B=R.getContent().membership;this.updateMyMembership(B),B==="invite"&&(R.getUnsigned().invite_room_state||[]).forEach(C=>{this.currentState.getStateEvents(C.type,C.state_key)||this.currentState.setStateEvents([new o.MatrixEvent({type:C.type,state_key:C.state_key,content:C.content,event_id:"$fake"+Date.now(),room_id:this.roomId,user_id:this.myUserId})])})}const k=this.name;this.name=this.calculateRoomName(this.myUserId),this.normalizedName=(0,a.normalize)(this.name),this.summary=new y.RoomSummary(this.roomId,{title:this.name}),k!==this.name&&this.emit(K.Name,this)}addTags(R){this.tags=R.getContent().tags||{},this.emit(K.Tags,R,this)}addAccountData(R){for(const k of R){k.getType()==="m.tag"&&this.addTags(k);const B=this.accountData[k.getType()];this.accountData[k.getType()]=k,this.emit(K.AccountData,k,this,B)}}getAccountData(R){return this.accountData[R]}maySendMessage(){return this.getMyMembership()==="join"&&(this.client.isRoomEncrypted(this.roomId)?this.currentState.maySendEvent(g.EventType.RoomMessageEncrypted,this.myUserId):this.currentState.maySendEvent(g.EventType.RoomMessage,this.myUserId))}canInvite(R){let k=this.getMyMembership()==="join";const B=this.currentState.getStateEvents(g.EventType.RoomPowerLevels,""),$=B&&B.getContent(),C=this.getMember(R);return $&&C&&$.invite>C.powerLevel&&(k=!1),k}getJoinRule(){return this.currentState.getJoinRule()}getHistoryVisibility(){return this.currentState.getHistoryVisibility()}getGuestAccess(){return this.currentState.getGuestAccess()}getType(){const R=this.currentState.getStateEvents(g.EventType.RoomCreate,"");if(!R){this.getTypeWarning||(s.logger.warn("[getType] Room "+this.roomId+" does not have an m.room.create event"),this.getTypeWarning=!0);return}return R.getContent()[g.RoomCreateTypeField]}isSpaceRoom(){return this.getType()===g.RoomType.Space}isCallRoom(){return this.getType()===g.RoomType.UnstableCall}isElementVideoRoom(){return this.getType()===g.RoomType.ElementVideo}roomNameGenerator(R){if(this.client.roomNameGenerator){const k=this.client.roomNameGenerator(this.roomId,R);if(k!==null)return k}switch(R.type){case G.Actual:return R.name;case G.Generated:switch(R.subtype){case"Inviting":return`Inviting ${j(R.names,R.count)}`;default:return j(R.names,R.count)}case G.EmptyRoom:return R.oldName?`Empty room (was ${R.oldName})`:"Empty room"}}calculateRoomName(R,k=!1){if(!k){const oe=this.currentState.getStateEvents(g.EventType.RoomName,"");if(oe!=null&&oe.getContent().name)return this.roomNameGenerator({type:G.Actual,name:oe.getContent().name})}const B=this.getCanonicalAlias();if(B)return this.roomNameGenerator({type:G.Actual,name:B});const $=this.currentState.getJoinedMemberCount(),C=this.currentState.getInvitedMemberCount();let N=$+C-1,T=[];const ee=this.currentState.getStateEvents(g.UNSTABLE_ELEMENT_FUNCTIONAL_USERS.name,"");Array.isArray(ee==null?void 0:ee.getContent().service_members)&&(T=ee.getContent().service_members);let ne=[];if(this.summaryHeroes)this.summaryHeroes.forEach(oe=>{if(T.includes(oe)){N--;return}const M=this.getMember(oe);ne.push(M?M.name:oe)});else{let oe=this.currentState.getMembers().filter(M=>M.userId!==R&&(M.membership==="invite"||M.membership==="join"));oe=oe.filter(({userId:M})=>T.includes(M)?(N--,!1):!0),oe.sort((M,O)=>a.compare(M.userId,O.userId)),oe=oe.slice(0,5),ne=oe.map(M=>M.name)}if(N)return this.roomNameGenerator({type:G.Generated,names:ne,count:N});if(this.getMyMembership()=="join"){const oe=this.currentState.getStateEvents(g.EventType.RoomThirdPartyInvite);if(oe!=null&&oe.length){const M=oe.map(O=>O.getContent().display_name);return this.roomNameGenerator({type:G.Generated,subtype:"Inviting",names:M,count:M.length+1})}}let me=ne;me.length||(me=this.currentState.getMembers().filter(oe=>oe.userId!==R&&oe.membership!=="invite"&&oe.membership!=="join").map(oe=>oe.name));let q;return me.length&&(q=this.roomNameGenerator({type:G.Generated,names:me,count:me.length+1})),this.roomNameGenerator({type:G.EmptyRoom,oldName:q})}applyNewVisibilityEvent(R){const k=R.asVisibilityChange();if(!k)return;const B=R.getSender();if(!B||!(g.EVENT_VISIBILITY_CHANGE_TYPE.name&&this.currentState.maySendStateEvent(g.EVENT_VISIBILITY_CHANGE_TYPE.name,B)||g.EVENT_VISIBILITY_CHANGE_TYPE.altName&&this.currentState.maySendStateEvent(g.EVENT_VISIBILITY_CHANGE_TYPE.altName,B)))return;const C=this.visibilityEvents.get(k.eventId);if(C){let T=C.length-1;const ee=Math.max(0,C.length-x);for(;T>=ee&&!(C[T].getTs()<R.getTs());--T);T===-1?C.unshift(R):C.splice(T+1,0,R)}else this.visibilityEvents.set(k.eventId,[R]);const N=this.findEventById(k.eventId);N&&N.applyVisibilityEvent(k)}redactVisibilityChangeEvent(R){if(!R.isVisibilityEvent)throw new Error("expected a visibility change event");const k=R.getRelation(),B=k==null?void 0:k.event_id,$=this.visibilityEvents.get(B);if(!$)return;const C=$.findIndex(N=>N.getId()===R.getId());if(C!==-1&&($.splice(C,1),C===$.length)){const N=this.findEventById(B);if(!N)return;if(C===0)this.visibilityEvents.delete(B),N.applyVisibilityEvent();else{const ee=$[$.length-1].asVisibilityChange();if(!ee)throw new Error("at this stage, visibility changes should be well-formed");N.applyVisibilityEvent(ee)}}}applyPendingVisibilityEvents(R){const k=this.visibilityEvents.get(R.getId());if(!k||k.length==0)return;const B=k[k.length-1],$=B.asVisibilityChange();$&&($.visible,!(B.getTs()<R.getTs())&&R.applyVisibilityEvent($))}}Zt.Room=W;const X={[p.EventStatus.ENCRYPTING]:[p.EventStatus.SENDING,p.EventStatus.NOT_SENT,p.EventStatus.CANCELLED],[p.EventStatus.SENDING]:[p.EventStatus.ENCRYPTING,p.EventStatus.QUEUED,p.EventStatus.NOT_SENT,p.EventStatus.SENT],[p.EventStatus.QUEUED]:[p.EventStatus.SENDING,p.EventStatus.CANCELLED],[p.EventStatus.SENT]:[],[p.EventStatus.NOT_SENT]:[p.EventStatus.SENDING,p.EventStatus.QUEUED,p.EventStatus.CANCELLED],[p.EventStatus.CANCELLED]:[]};let G;Zt.RoomNameType=G,function(Y){Y[Y.EmptyRoom=0]="EmptyRoom",Y[Y.Generated=1]="Generated",Y[Y.Actual=2]="Actual"}(G||(Zt.RoomNameType=G={}));function j(Y,R){const k=R-1;return Y.length?Y.length===1&&k<=1?Y[0]:Y.length===2&&k<=2?`${Y[0]} and ${Y[1]}`:k>1?`${Y[0]} and ${k} others`:`${Y[0]} and 1 other`:"Empty room"}return Zt}var Sl={},ht={};Object.defineProperty(ht,"__esModule",{value:!0});ht.TweakName=ht.RuleId=ht.PushRuleKind=ht.PushRuleActionName=ht.DMMemberCountCondition=ht.ConditionOperator=ht.ConditionKind=void 0;ht.isDmMemberCountCondition=NF;let Mv;ht.PushRuleActionName=Mv;(function(e){e.DontNotify="dont_notify",e.Notify="notify",e.Coalesce="coalesce"})(Mv||(ht.PushRuleActionName=Mv={}));let Av;ht.TweakName=Av;(function(e){e.Highlight="highlight",e.Sound="sound"})(Av||(ht.TweakName=Av={}));let Nv;ht.ConditionOperator=Nv;(function(e){e.ExactEquals="==",e.LessThan="<",e.GreaterThan=">",e.GreaterThanOrEqual=">=",e.LessThanOrEqual="<="})(Nv||(ht.ConditionOperator=Nv={}));const AF="2";ht.DMMemberCountCondition=AF;function NF(e){return e==="==2"||e==="2"}let Lv;ht.ConditionKind=Lv;(function(e){e.EventMatch="event_match",e.ContainsDisplayName="contains_display_name",e.RoomMemberCount="room_member_count",e.SenderNotificationPermission="sender_notification_permission",e.CallStarted="call_started",e.CallStartedPrefix="org.matrix.msc3914.call_started"})(Lv||(ht.ConditionKind=Lv={}));let xv;ht.PushRuleKind=xv;(function(e){e.Override="override",e.ContentSpecific="content",e.RoomSpecific="room",e.SenderSpecific="sender",e.Underride="underride"})(xv||(ht.PushRuleKind=xv={}));let Uv;ht.RuleId=Uv;(function(e){e.Master=".m.rule.master",e.ContainsDisplayName=".m.rule.contains_display_name",e.ContainsUserName=".m.rule.contains_user_name",e.AtRoomNotification=".m.rule.roomnotif",e.DM=".m.rule.room_one_to_one",e.EncryptedDM=".m.rule.encrypted_room_one_to_one",e.Message=".m.rule.message",e.EncryptedMessage=".m.rule.encrypted",e.InviteToSelf=".m.rule.invite_for_me",e.MemberEvent=".m.rule.member_event",e.IncomingCall=".m.rule.call",e.SuppressNotices=".m.rule.suppress_notices",e.Tombstone=".m.rule.tombstone"})(Uv||(ht.RuleId=Uv={}));var d3;function A0(){if(d3)return Sl;d3=1;var e=Ae;Object.defineProperty(Sl,"__esModule",{value:!0}),Sl.PushProcessor=void 0;var t=e(Ue),r=dt(),n=Ge(),i=ht,a=xe;function o(g,S){var v=Object.keys(g);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(g);S&&(h=h.filter(function(_){return Object.getOwnPropertyDescriptor(g,_).enumerable})),v.push.apply(v,h)}return v}function p(g){for(var S=1;S<arguments.length;S++){var v=arguments[S]!=null?arguments[S]:{};S%2?o(Object(v),!0).forEach(function(h){(0,t.default)(g,h,v[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(v)):o(Object(v)).forEach(function(h){Object.defineProperty(g,h,Object.getOwnPropertyDescriptor(v,h))})}return g}const u=[i.PushRuleKind.Override,i.PushRuleKind.ContentSpecific,i.PushRuleKind.RoomSpecific,i.PushRuleKind.SenderSpecific,i.PushRuleKind.Underride],y=[{rule_id:".m.rule.reaction",default:!0,enabled:!0,conditions:[{kind:i.ConditionKind.EventMatch,key:"type",pattern:"m.reaction"}],actions:[i.PushRuleActionName.DontNotify]},{rule_id:".org.matrix.msc3786.rule.room.server_acl",default:!0,enabled:!0,conditions:[{kind:i.ConditionKind.EventMatch,key:"type",pattern:a.EventType.RoomServerAcl},{kind:i.ConditionKind.EventMatch,key:"state_key",pattern:""}],actions:[]}],s=[{rule_id:".org.matrix.msc3914.rule.room.call",default:!0,enabled:!0,conditions:[{kind:i.ConditionKind.EventMatch,key:"type",pattern:"org.matrix.msc3401.call"},{kind:i.ConditionKind.CallStarted}],actions:[i.PushRuleActionName.Notify,{set_tweak:i.TweakName.Sound,value:"default"}]}];class m{constructor(S){this.client=S}static actionListToActionsObject(S){const v={notify:!1,tweaks:{}};for(const h of S)h===i.PushRuleActionName.Notify?v.notify=!0:typeof h=="object"&&(h.value===void 0&&(h.value=!0),v.tweaks[h.set_tweak]=h.value);return v}static rewriteDefaultRules(S){var v;let h=JSON.parse(JSON.stringify(S));h||(h={}),h.global||(h.global={}),h.global.override||(h.global.override=[]),h.global.override||(h.global.underride=[]);const _=h.global.override;for(const l of y){const c=_.find(f=>f.rule_id===l.rule_id);if(c)c.default=l.default,c.conditions=l.conditions,c.actions=l.actions;else{const f=l.rule_id;n.logger.warn(`Adding default global override for ${f}`),_.push(l)}}const d=(v=h.global.underride)!==null&&v!==void 0?v:[];for(const l of s){const c=d.find(f=>f.rule_id===l.rule_id);if(c)c.default=l.default,c.conditions=l.conditions,c.actions=l.actions;else{const f=l.rule_id;n.logger.warn(`Adding default global underride for ${f}`),d.push(l)}}return h}matchingRuleFromKindSet(S,v){for(const h of u){const _=v[h];if(_)for(const d of _){if(!d.enabled)continue;const l=this.templateRuleToRaw(h,d);if(l&&this.ruleMatchesEvent(l,S))return p(p({},d),{},{kind:h})}}return null}templateRuleToRaw(S,v){const h={rule_id:v.rule_id,actions:v.actions,conditions:[]};switch(S){case i.PushRuleKind.Underride:case i.PushRuleKind.Override:h.conditions=v.conditions;break;case i.PushRuleKind.RoomSpecific:if(!v.rule_id)return null;h.conditions.push({kind:i.ConditionKind.EventMatch,key:"room_id",value:v.rule_id});break;case i.PushRuleKind.SenderSpecific:if(!v.rule_id)return null;h.conditions.push({kind:i.ConditionKind.EventMatch,key:"user_id",value:v.rule_id});break;case i.PushRuleKind.ContentSpecific:if(!v.pattern)return null;h.conditions.push({kind:i.ConditionKind.EventMatch,key:"content.body",pattern:v.pattern});break}return h}eventFulfillsCondition(S,v){switch(S.kind){case i.ConditionKind.EventMatch:return this.eventFulfillsEventMatchCondition(S,v);case i.ConditionKind.ContainsDisplayName:return this.eventFulfillsDisplayNameCondition(S,v);case i.ConditionKind.RoomMemberCount:return this.eventFulfillsRoomMemberCountCondition(S,v);case i.ConditionKind.SenderNotificationPermission:return this.eventFulfillsSenderNotifPermCondition(S,v);case i.ConditionKind.CallStarted:case i.ConditionKind.CallStartedPrefix:return this.eventFulfillsCallStartedCondition(S,v)}return!1}eventFulfillsSenderNotifPermCondition(S,v){const h=S.key;if(!h)return!1;const _=this.client.getRoom(v.getRoomId());return _!=null&&_.currentState?_.currentState.mayTriggerNotifOfType(h,v.getSender()):!1}eventFulfillsRoomMemberCountCondition(S,v){if(!S.is)return!1;const h=this.client.getRoom(v.getRoomId());if(!h||!h.currentState||!h.currentState.members)return!1;const _=h.currentState.getJoinedMemberCount(),d=S.is.match(/^([=<>]*)(\d*)$/);if(!d)return!1;const l=d[1],c=parseInt(d[2]);if(isNaN(c))return!1;switch(l){case"":case"==":return _==c;case"<":return _<c;case">":return _>c;case"<=":return _<=c;case">=":return _>=c;default:return!1}}eventFulfillsDisplayNameCondition(S,v){var h;let _=v.getContent();if(v.isEncrypted()&&v.getClearContent()&&(_=v.getClearContent()),!_||!_.body||typeof _.body!="string")return!1;const d=this.client.getRoom(v.getRoomId()),l=d==null||(h=d.currentState)===null||h===void 0?void 0:h.getMember(this.client.credentials.userId);if(!l)return!1;const c=l.name,f=new RegExp("(^|\\W)"+(0,r.escapeRegExp)(c)+"(\\W|$)","i");return _.body.search(f)>-1}eventFulfillsEventMatchCondition(S,v){if(!S.key)return!1;const h=this.valueForDottedKey(S.key,v);if(typeof h!="string")return!1;if(S.value)return S.value===h;if(typeof S.pattern!="string")return!1;const _=S.key==="content.body"?this.createCachedRegex("(^|\\W)",S.pattern,"(\\W|$)"):this.createCachedRegex("^",S.pattern,"$");return!!h.match(_)}eventFulfillsCallStartedCondition(S,v){return["m.ring","m.prompt"].includes(v.getContent()["m.intent"])&&!("m.terminated"in v.getContent())&&(v.getPrevContent()["m.terminated"]!==v.getContent()["m.terminated"]||(0,r.deepCompare)(v.getPrevContent(),{}))}createCachedRegex(S,v,h){return m.cachedGlobToRegex[v]||(m.cachedGlobToRegex[v]=new RegExp(S+(0,r.globToRegexp)(v)+h,"i")),m.cachedGlobToRegex[v]}valueForDottedKey(S,v){const h=S.split(".");let _;const d=h[0];for(d==="content"?(_=v.getContent(),h.shift()):d==="type"?(_=v.getType(),h.shift()):_=v.event;h.length>0;){const l=h.shift();if((0,r.isNullOrUndefined)(_[l]))return null;_=_[l]}return _}matchingRuleForEventWithRulesets(S,v){return!v||S.getSender()===this.client.credentials.userId?null:this.matchingRuleFromKindSet(S,v.global)}pushActionsForEventAndRulesets(S,v){const h=this.matchingRuleForEventWithRulesets(S,v);if(!h)return{};const _=m.actionListToActionsObject(h.actions);return _.tweaks.highlight===void 0&&(_.tweaks.highlight=h.kind==i.PushRuleKind.ContentSpecific),_}ruleMatchesEvent(S,v){var h;return!((h=S.conditions)!==null&&h!==void 0&&h.some(_=>!this.eventFulfillsCondition(_,v)))}actionsForEvent(S){return this.pushActionsForEventAndRulesets(S,this.client.pushRules)}getPushRuleById(S){for(const h of["global"]){var v;if(((v=this.client.pushRules)===null||v===void 0?void 0:v[h])!==void 0){for(const _ of u)if(this.client.pushRules[h][_]!==void 0){for(const d of this.client.pushRules[h][_])if(d.rule_id===S)return d}}}return null}}return Sl.PushProcessor=m,(0,t.default)(m,"cachedGlobToRegex",{}),Sl}var zt={},LF=Ae;Object.defineProperty(zt,"__esModule",{value:!0});zt.KeySignatureUploadError=zt.InvalidStoreState=zt.InvalidStoreError=zt.InvalidCryptoStoreState=zt.InvalidCryptoStoreError=void 0;var NE=LF(Ue);let Rp;zt.InvalidStoreState=Rp;(function(e){e[e.ToggledLazyLoading=0]="ToggledLazyLoading"})(Rp||(zt.InvalidStoreState=Rp={}));class LE extends Error{constructor(t,r){const n=`Store is invalid because ${t}, please stop the client, delete all data and start the client again`;super(n),this.reason=t,this.value=r,this.name="InvalidStoreError"}}zt.InvalidStoreError=LE;(0,NE.default)(LE,"TOGGLED_LAZY_LOADING",Rp.ToggledLazyLoading);let Ip;zt.InvalidCryptoStoreState=Ip;(function(e){e.TooNew="TOO_NEW"})(Ip||(zt.InvalidCryptoStoreState=Ip={}));class xE extends Error{constructor(t){const r=`Crypto store is invalid because ${t}, please stop the client, delete all data and start the client again`;super(r),this.reason=t,this.name="InvalidCryptoStoreError"}}zt.InvalidCryptoStoreError=xE;(0,NE.default)(xE,"TOO_NEW",Ip.TooNew);class xF extends Error{constructor(t,r){super(t),this.value=r}}zt.KeySignatureUploadError=xF;var kn={},El={},Oo={},u3;function UE(){if(u3)return Oo;u3=1,Object.defineProperty(Oo,"__esModule",{value:!0}),Oo.Method=void 0;let e;return Oo.Method=e,function(t){t.Get="GET",t.Put="PUT",t.Post="POST",t.Delete="DELETE"}(e||(Oo.Method=e={})),Oo}var ti={},c3;function N0(){if(c3)return ti;c3=1;var e=Ae;Object.defineProperty(ti,"__esModule",{value:!0}),ti.MatrixError=ti.HTTPError=ti.ConnectionError=void 0;var t=e(Ue);class r extends Error{constructor(o,p){super(o),this.httpStatus=p}}ti.HTTPError=r;class n extends r{constructor(o={},p,u,y){let s=o.error||"Unknown message";p&&(s=`[${p}] ${s}`),u&&(s=`${s} (${u})`),super(`MatrixError: ${s}`,p),this.httpStatus=p,this.url=u,this.event=y,(0,t.default)(this,"errcode",void 0),(0,t.default)(this,"data",void 0),this.errcode=o.errcode,this.name=o.errcode||"Unknown error code",this.data=o}}ti.MatrixError=n;class i extends Error{constructor(o,p){super(o+(p?`: ${p.message}`:""))}get name(){return"ConnectionError"}}return ti.ConnectionError=i,ti}var Po={},p3;function $E(){if(p3)return Po;p3=1,Object.defineProperty(Po,"__esModule",{value:!0}),Po.HttpApiEvent=void 0;let e;return Po.HttpApiEvent=e,function(t){t.SessionLoggedOut="Session.logged_out",t.NoConsent="no_consent"}(e||(Po.HttpApiEvent=e={})),Po}var Ma={},ac={};/*! + * content-type + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */var f3;function UF(){if(f3)return ac;f3=1;var e=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,t=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,r=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,n=/\\([\u000b\u0020-\u00ff])/g,i=/([\\"])/g,a=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;ac.format=o,ac.parse=p;function o(m){if(!m||typeof m!="object")throw new TypeError("argument obj is required");var g=m.parameters,S=m.type;if(!S||!a.test(S))throw new TypeError("invalid type");var v=S;if(g&&typeof g=="object")for(var h,_=Object.keys(g).sort(),d=0;d<_.length;d++){if(h=_[d],!r.test(h))throw new TypeError("invalid parameter name");v+="; "+h+"="+y(g[h])}return v}function p(m){if(!m)throw new TypeError("argument string is required");var g=typeof m=="object"?u(m):m;if(typeof g!="string")throw new TypeError("argument string is required to be a string");var S=g.indexOf(";"),v=S!==-1?g.substr(0,S).trim():g.trim();if(!a.test(v))throw new TypeError("invalid media type");var h=new s(v.toLowerCase());if(S!==-1){var _,d,l;for(e.lastIndex=S;d=e.exec(g);){if(d.index!==S)throw new TypeError("invalid parameter format");S+=d[0].length,_=d[1].toLowerCase(),l=d[2],l[0]==='"'&&(l=l.substr(1,l.length-2).replace(n,"$1")),h.parameters[_]=l}if(S!==g.length)throw new TypeError("invalid parameter format")}return h}function u(m){var g;if(typeof m.getHeader=="function"?g=m.getHeader("content-type"):typeof m.headers=="object"&&(g=m.headers&&m.headers["content-type"]),typeof g!="string")throw new TypeError("content-type header is missing from object");return g}function y(m){var g=String(m);if(r.test(g))return g;if(g.length>0&&!t.test(g))throw new TypeError("invalid parameter value");return'"'+g.replace(i,"\\$1")+'"'}function s(m){this.parameters=Object.create(null),this.type=m}return ac}var h3;function FE(){if(h3)return Ma;h3=1,Object.defineProperty(Ma,"__esModule",{value:!0}),Ma.anySignal=a,Ma.parseErrorResponse=o,Ma.retryNetworkOperation=y,Ma.timeoutSignal=i;var e=UF(),t=Ge(),r=dt(),n=N0();function i(s){const m=new AbortController;return setTimeout(()=>{m.abort()},s),m.signal}function a(s){const m=new AbortController;function g(){for(const v of s)v.removeEventListener("abort",S)}function S(){m.abort(),g()}for(const v of s){if(v.aborted){S();break}v.addEventListener("abort",S)}return{signal:m.signal,cleanup:g}}function o(s,m){var g,S;let v;try{v=u(s)}catch(h){return h}return((g=v)===null||g===void 0?void 0:g.type)==="application/json"&&m?new n.MatrixError(JSON.parse(m),s.status,p(s)?s.responseURL:s.url):((S=v)===null||S===void 0?void 0:S.type)==="text/plain"?new n.HTTPError(`Server returned ${s.status} error: ${m}`,s.status):new n.HTTPError(`Server returned ${s.status} error`,s.status)}function p(s){return"getResponseHeader"in s}function u(s){let m;if(p(s)?m=s.getResponseHeader("Content-Type"):m=s.headers.get("Content-Type"),!m)return null;try{return(0,e.parse)(m)}catch(g){throw new Error(`Error parsing Content-Type '${m}': ${g}`)}}async function y(s,m){let g=0,S=null;for(;g<s;)try{if(g>0){const v=1e3*Math.pow(2,g);t.logger.log(`network operation failed ${g} times, retrying in ${v}ms...`),await(0,r.sleep)(v)}return await m()}catch(v){if(v instanceof n.ConnectionError)g+=1,S=v;else throw v}throw S}return Ma}var m3;function $F(){if(m3)return El;m3=1;var e=Ae;Object.defineProperty(El,"__esModule",{value:!0}),El.FetchHttpApi=void 0;var t=e(Ue),r=u(dt()),n=UE(),i=N0(),a=$E(),o=FE();function p(s){if(typeof WeakMap!="function")return null;var m=new WeakMap,g=new WeakMap;return(p=function(S){return S?g:m})(s)}function u(s,m){if(!m&&s&&s.__esModule)return s;if(s===null||typeof s!="object"&&typeof s!="function")return{default:s};var g=p(m);if(g&&g.has(s))return g.get(s);var S={},v=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var h in s)if(h!=="default"&&Object.prototype.hasOwnProperty.call(s,h)){var _=v?Object.getOwnPropertyDescriptor(s,h):null;_&&(_.get||_.set)?Object.defineProperty(S,h,_):S[h]=s[h]}return S.default=s,g&&g.set(s,S),S}class y{constructor(m,g){var S;this.eventEmitter=m,this.opts=g,(0,t.default)(this,"abortController",new AbortController),r.checkObjectHasKeys(g,["baseUrl","prefix"]),g.onlyData=!!g.onlyData,g.useAuthorizationHeader=(S=g.useAuthorizationHeader)!==null&&S!==void 0?S:!0}abort(){this.abortController.abort(),this.abortController=new AbortController}fetch(m,g){return this.opts.fetchFn?this.opts.fetchFn(m,g):$e.fetch(m,g)}setIdBaseUrl(m){this.opts.idBaseUrl=m}idServerRequest(m,g,S,v,h){if(!this.opts.idBaseUrl)throw new Error("No identity server base URL set");let _,d;m===n.Method.Get?_=S:d=S;const l=this.getUrl(g,_,v,this.opts.idBaseUrl),c={json:!0,headers:{}};return h&&(c.headers.Authorization=`Bearer ${h}`),this.requestOtherUrl(m,l,d,c)}authedRequest(m,g,S,v,h={}){S||(S={}),this.opts.accessToken&&(this.opts.useAuthorizationHeader?(h.headers||(h.headers={}),h.headers.Authorization||(h.headers.Authorization="Bearer "+this.opts.accessToken),S.access_token&&delete S.access_token):S.access_token||(S.access_token=this.opts.accessToken));const _=this.request(m,g,S,v,h);return _.catch(d=>{d.errcode=="M_UNKNOWN_TOKEN"&&!(h!=null&&h.inhibitLogoutEmit)?this.eventEmitter.emit(a.HttpApiEvent.SessionLoggedOut,d):d.errcode=="M_CONSENT_NOT_GIVEN"&&this.eventEmitter.emit(a.HttpApiEvent.NoConsent,d.message,d.data.consent_uri)}),_}request(m,g,S,v,h){const _=this.getUrl(g,S,h==null?void 0:h.prefix,h==null?void 0:h.baseUrl);return this.requestOtherUrl(m,_,v,h)}async requestOtherUrl(m,g,S,v={}){var h,_,d,l;const c=Object.assign({},v.headers||{}),f=(h=v.json)!==null&&h!==void 0?h:!0,E=f&&(S==null||(_=S.constructor)===null||_===void 0?void 0:_.name)===Object.name;f&&(E&&!c["Content-Type"]&&(c["Content-Type"]="application/json"),c.Accept||(c.Accept="application/json"));const w=(d=v.localTimeoutMs)!==null&&d!==void 0?d:this.opts.localTimeoutMs,I=(l=v.keepAlive)!==null&&l!==void 0?l:!1,D=[this.abortController.signal];w!==void 0&&D.push((0,o.timeoutSignal)(w)),v.abortSignal&&D.push(v.abortSignal);let A;E?A=JSON.stringify(S):A=S;const{signal:L,cleanup:F}=(0,o.anySignal)(D);let x;try{x=await this.fetch(g,{signal:L,method:m,body:A,headers:c,mode:"cors",redirect:"follow",referrer:"",referrerPolicy:"no-referrer",cache:"no-cache",credentials:"omit",keepalive:I})}catch(H){throw H.name==="AbortError"?H:new i.ConnectionError("fetch failed",H)}finally{F()}if(!x.ok)throw(0,o.parseErrorResponse)(x,await x.text());return this.opts.onlyData?f?x.json():x.text():x}getUrl(m,g,S,v){const h=new URL((v??this.opts.baseUrl)+(S??this.opts.prefix)+m);return g&&r.encodeParams(g,h.searchParams),h}}return El.FetchHttpApi=y,El}var Vr={},v3;function FF(){if(v3)return Vr;v3=1,Object.defineProperty(Vr,"__esModule",{value:!0}),Vr.MediaPrefix=Vr.IdentityPrefix=Vr.ClientPrefix=void 0;let e;Vr.ClientPrefix=e,function(n){n.R0="/_matrix/client/r0",n.V1="/_matrix/client/v1",n.V3="/_matrix/client/v3",n.Unstable="/_matrix/client/unstable"}(e||(Vr.ClientPrefix=e={}));let t;Vr.IdentityPrefix=t,function(n){n.V1="/_matrix/identity/api/v1",n.V2="/_matrix/identity/v2"}(t||(Vr.IdentityPrefix=t={}));let r;return Vr.MediaPrefix=r,function(n){n.R0="/_matrix/media/r0"}(r||(Vr.MediaPrefix=r={})),Vr}var wl={},g3;function BF(){if(g3)return wl;g3=1,Object.defineProperty(wl,"__esModule",{value:!0}),wl.clearTimeout=p,wl.setTimeout=o;var e=Ge();const t=1e3;let r=0,n;const i=[],a=function(...m){};function o(m,g,...S){g=g||0,g<0&&(g=0);const v=Date.now()+g,h=r++,_={runAt:v,func:m,params:S,key:h},d=s(i,function(l){return l.runAt-v});return i.splice(d,0,_),u(),h}function p(m){if(i.length===0)return;let g;for(g=0;g<i.length;g++)if(i[g].key==m){i.splice(g,1);break}g===0&&u()}function u(){n&&$e.clearTimeout(n);const m=i[0];if(!m)return;const g=Date.now(),S=Math.min(m.runAt-g,t);n=$e.setTimeout(y,S)}function y(){const m=Date.now(),g=[];for(;;){const S=i[0];if(!S||S.runAt>m)break;const v=i.shift();a("runCallbacks: popping",v.key),g.push(v)}u();for(const S of g)try{S.func.apply($e,S.params)}catch(v){e.logger.error("Uncaught exception in callback function",v)}}function s(m,g){let S=0,v=m.length;for(;S<v;){const h=S+v>>1;g(m[h])>0?v=h:S=h+1}return S}return wl}(function(e){var t=Ae;Object.defineProperty(e,"__esModule",{value:!0});var r={MatrixHttpApi:!0};e.MatrixHttpApi=void 0;var n=t(Ue),i=$F(),a=FF();Object.keys(a).forEach(function(h){h==="default"||h==="__esModule"||Object.prototype.hasOwnProperty.call(r,h)||h in e&&e[h]===a[h]||Object.defineProperty(e,h,{enumerable:!0,get:function(){return a[h]}})});var o=S(dt()),p=S(BF()),u=UE();Object.keys(u).forEach(function(h){h==="default"||h==="__esModule"||Object.prototype.hasOwnProperty.call(r,h)||h in e&&e[h]===u[h]||Object.defineProperty(e,h,{enumerable:!0,get:function(){return u[h]}})});var y=N0();Object.keys(y).forEach(function(h){h==="default"||h==="__esModule"||Object.prototype.hasOwnProperty.call(r,h)||h in e&&e[h]===y[h]||Object.defineProperty(e,h,{enumerable:!0,get:function(){return y[h]}})});var s=FE();Object.keys(s).forEach(function(h){h==="default"||h==="__esModule"||Object.prototype.hasOwnProperty.call(r,h)||h in e&&e[h]===s[h]||Object.defineProperty(e,h,{enumerable:!0,get:function(){return s[h]}})});var m=$E();Object.keys(m).forEach(function(h){h==="default"||h==="__esModule"||Object.prototype.hasOwnProperty.call(r,h)||h in e&&e[h]===m[h]||Object.defineProperty(e,h,{enumerable:!0,get:function(){return m[h]}})});function g(h){if(typeof WeakMap!="function")return null;var _=new WeakMap,d=new WeakMap;return(g=function(l){return l?d:_})(h)}function S(h,_){if(!_&&h&&h.__esModule)return h;if(h===null||typeof h!="object"&&typeof h!="function")return{default:h};var d=g(_);if(d&&d.has(h))return d.get(h);var l={},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in h)if(f!=="default"&&Object.prototype.hasOwnProperty.call(h,f)){var E=c?Object.getOwnPropertyDescriptor(h,f):null;E&&(E.get||E.set)?Object.defineProperty(l,f,E):l[f]=h[f]}return l.default=h,d&&d.set(h,l),l}class v extends i.FetchHttpApi{constructor(..._){super(..._),(0,n.default)(this,"uploads",[])}uploadContent(_,d={}){var l,c,f,E,w;const I=(l=d.includeFilename)!==null&&l!==void 0?l:!0,D=(c=d.abortController)!==null&&c!==void 0?c:new AbortController,A=(f=(E=d.type)!==null&&E!==void 0?E:_.type)!==null&&f!==void 0?f:"application/octet-stream",L=(w=d.name)!==null&&w!==void 0?w:_.name,F={loaded:0,total:0,abortController:D},x=o.defer();if($e.XMLHttpRequest){const H=new $e.XMLHttpRequest,K=function(){H.abort(),x.reject(new Error("Timeout"))};let W=p.setTimeout(K,3e4);H.onreadystatechange=function(){switch(H.readyState){case $e.XMLHttpRequest.DONE:p.clearTimeout(W);try{if(H.status===0)throw new DOMException(H.statusText,"AbortError");if(!H.responseText)throw new Error("No response body.");H.status>=400?x.reject((0,s.parseErrorResponse)(H,H.responseText)):x.resolve(JSON.parse(H.responseText))}catch(G){if(G.name==="AbortError"){x.reject(G);return}x.reject(new y.ConnectionError("request failed",G))}break}},H.upload.onprogress=G=>{var j;p.clearTimeout(W),F.loaded=G.loaded,F.total=G.total,W=p.setTimeout(K,3e4),(j=d.progressHandler)===null||j===void 0||j.call(d,{loaded:G.loaded,total:G.total})};const X=this.getUrl("/upload",void 0,a.MediaPrefix.R0);I&&L&&X.searchParams.set("filename",encodeURIComponent(L)),!this.opts.useAuthorizationHeader&&this.opts.accessToken&&X.searchParams.set("access_token",encodeURIComponent(this.opts.accessToken)),H.open(u.Method.Post,X.href),this.opts.useAuthorizationHeader&&this.opts.accessToken&&H.setRequestHeader("Authorization","Bearer "+this.opts.accessToken),H.setRequestHeader("Content-Type",A),H.send(_),D.signal.addEventListener("abort",()=>{H.abort()})}else{const H={};I&&L&&(H.filename=L);const K={"Content-Type":A};this.authedRequest(u.Method.Post,"/upload",H,_,{prefix:a.MediaPrefix.R0,headers:K,abortSignal:D.signal}).then(W=>this.opts.onlyData?W:W.json()).then(x.resolve,x.reject)}return F.promise=x.promise.finally(()=>{o.removeElement(this.uploads,H=>H===F)}),D.signal.addEventListener("abort",()=>{o.removeElement(this.uploads,H=>H===F),x.reject(new DOMException("Aborted","AbortError"))}),this.uploads.push(F),F.promise}cancelUpload(_){const d=this.uploads.find(l=>l.promise===_);return d?(d.abortController.abort(),!0):!1}getCurrentUploads(){return this.uploads}getContentUri(){return{base:this.opts.baseUrl,path:a.MediaPrefix.R0+"/upload",params:{access_token:this.opts.accessToken}}}}e.MatrixHttpApi=v})(kn);var y3;function m1(){if(y3)return ei;y3=1;var e=Ae;Object.defineProperty(ei,"__esModule",{value:!0}),ei.SyncState=ei.SyncApi=void 0,ei._createAndReEmitRoom=H;var t=e(Ue),r=Zr,n=Ti(),i=c(dt()),a=h1(),o=Pn(),p=A0(),u=Ge(),y=zt,s=ln(),m=kn,g=xe,S=Ia(),v=en,h=Tr,_=f1(),d=M0();function l(K){if(typeof WeakMap!="function")return null;var W=new WeakMap,X=new WeakMap;return(l=function(G){return G?X:W})(K)}function c(K,W){if(!W&&K&&K.__esModule)return K;if(K===null||typeof K!="object"&&typeof K!="function")return{default:K};var X=l(W);if(X&&X.has(K))return X.get(K);var G={},j=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in K)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(K,Y)){var R=j?Object.getOwnPropertyDescriptor(K,Y):null;R&&(R.get||R.set)?Object.defineProperty(G,Y,R):G[Y]=K[Y]}return G.default=K,X&&X.set(K,G),G}const f=80*1e3,E=3;let w;ei.SyncState=w,function(K){K.Error="ERROR",K.Prepared="PREPARED",K.Stopped="STOPPED",K.Syncing="SYNCING",K.Catchup="CATCHUP",K.Reconnecting="RECONNECTING"}(w||(ei.SyncState=w={}));const I=["org.matrix.msc2716v3"];function D(K,W){return`FILTER_SYNC_${K}`+(W?"_"+W:"")}function A(...K){u.logger.log(...K)}var L;(function(K){K.Offline="offline",K.Online="online",K.Unavailable="unavailable"})(L||(L={}));class F{constructor(W,X={}){var G;this.client=W,this.opts=X,(0,t.default)(this,"_peekRoom",null),(0,t.default)(this,"currentSyncRequest",void 0),(0,t.default)(this,"abortController",void 0),(0,t.default)(this,"syncState",null),(0,t.default)(this,"syncStateData",void 0),(0,t.default)(this,"catchingUp",!1),(0,t.default)(this,"running",!1),(0,t.default)(this,"keepAliveTimer",void 0),(0,t.default)(this,"connectionReturnedDefer",void 0),(0,t.default)(this,"notifEvents",[]),(0,t.default)(this,"failedSyncCount",0),(0,t.default)(this,"storeIsInvalid",!1),(0,t.default)(this,"getPushRules",async()=>{try{A("Getting push rules...");const j=await this.client.getPushRules();A("Got push rules"),this.client.pushRules=j}catch(j){return u.logger.error("Getting push rules failed",j),this.shouldAbortSync(j)?void 0:(A("Waiting for saved sync before retrying push rules..."),await this.recoverFromSyncStartupError(this.savedSyncPromise,j),this.getPushRules())}}),(0,t.default)(this,"buildDefaultFilter",()=>{const j=new a.Filter(this.client.credentials.userId);return this.client.canSupport.get(d.Feature.ThreadUnreadNotifications)!==d.ServerSupport.Unsupported&&j.setUnreadThreadNotifications(!0),j}),(0,t.default)(this,"checkLazyLoadStatus",async()=>{if(A("Checking lazy load status..."),this.opts.lazyLoadMembers&&this.client.isGuest()&&(this.opts.lazyLoadMembers=!1),this.opts.lazyLoadMembers&&(A("Checking server lazy load support..."),await this.client.doesServerSupportLazyLoading()?(A("Enabling lazy load on sync filter..."),this.opts.filter||(this.opts.filter=this.buildDefaultFilter()),this.opts.filter.setLazyLoadMembers(!0)):(A("LL: lazy loading requested but not supported by server, so disabling"),this.opts.lazyLoadMembers=!1)),A("Checking whether lazy loading has changed in store..."),await this.wasLazyLoadingToggled(this.opts.lazyLoadMembers)){this.storeIsInvalid=!0;const R=new y.InvalidStoreError(y.InvalidStoreState.ToggledLazyLoading,!!this.opts.lazyLoadMembers);this.updateSyncState(w.Error,{error:R}),u.logger.warn("InvalidStoreError: store is not usable: stopping sync.");return}if(this.opts.lazyLoadMembers){var Y;(Y=this.opts.crypto)===null||Y===void 0||Y.enableLazyLoading()}try{A("Storing client options..."),await this.client.storeClientOptions(),A("Stored client options")}catch(R){throw u.logger.error("Storing client options failed",R),R}}),(0,t.default)(this,"getFilter",async()=>{A("Getting filter...");let j;this.opts.filter?j=this.opts.filter:j=this.buildDefaultFilter();let Y;try{Y=await this.client.getOrCreateFilter(D(this.client.credentials.userId),j)}catch(R){return u.logger.error("Getting filter failed",R),this.shouldAbortSync(R)?{}:(A("Waiting for saved sync before retrying filter..."),await this.recoverFromSyncStartupError(this.savedSyncPromise,R),this.getFilter())}return{filter:j,filterId:Y}}),(0,t.default)(this,"savedSyncPromise",void 0),(0,t.default)(this,"onOnline",()=>{A("Browser thinks we are back online"),this.startKeepAlives(0)}),this.opts.initialSyncLimit=(G=this.opts.initialSyncLimit)!==null&&G!==void 0?G:8,this.opts.resolveInvitesToProfiles=this.opts.resolveInvitesToProfiles||!1,this.opts.pollTimeout=this.opts.pollTimeout||30*1e3,this.opts.pendingEventOrdering=this.opts.pendingEventOrdering||s.PendingEventOrdering.Chronological,this.opts.experimentalThreadSupport=this.opts.experimentalThreadSupport===!0,X.canResetEntireTimeline||(X.canResetEntireTimeline=j=>!1),W.getNotifTimelineSet()&&W.reEmitter.reEmit(W.getNotifTimelineSet(),[n.RoomEvent.Timeline,n.RoomEvent.TimelineReset])}createRoom(W){const X=H(this.client,W,this.opts);return X.on(S.RoomStateEvent.Marker,(G,j)=>{this.onMarkerStateEvent(X,G,j)}),X}onMarkerStateEvent(W,X,{timelineWasEmpty:G}={}){if(G){u.logger.debug(`MarkerState: Ignoring markerEventId=${X.getId()} in roomId=${W.roomId} because the timeline was empty before the marker arrived which means there is nothing to refresh.`);return}I.includes(W.getVersion())||X.getSender()===W.getCreator()?(u.logger.debug(`MarkerState: Timeline needs to be refreshed because a new markerEventId=${X.getId()} was sent in roomId=${W.roomId}`),W.setTimelineNeedsRefresh(!0),W.emit(n.RoomEvent.HistoryImportedWithinTimeline,X,W)):u.logger.debug(`MarkerState: Ignoring markerEventId=${X.getId()} in roomId=${W.roomId} because MSC2716 is not supported in the room version or for any room version, the marker wasn't sent by the room creator.`)}async syncLeftRooms(){var W;const X=this.client,G=new a.Filter(this.client.credentials.userId);G.setTimelineLimit(1),G.setIncludeLeaveRooms(!0);const j=this.opts.pollTimeout+f,R={timeout:0,filter:await X.getOrCreateFilter(D(X.credentials.userId,"LEFT_ROOMS"),G)},k=await X.http.authedRequest(m.Method.Get,"/sync",R,void 0,{localTimeoutMs:j});let B=[];return(W=k.rooms)!==null&&W!==void 0&&W.leave&&(B=this.mapSyncResponseToRoomArray(k.rooms.leave)),(await Promise.all(B.map(async C=>{const N=C.room;if(!C.isBrandNewRoom)return;C.timeline=C.timeline||{prev_batch:null,events:[]};const T=this.mapSyncEventsFormat(C.timeline,N),ee=this.mapSyncEventsFormat(C.state,N);return N.getLiveTimeline().setPaginationToken(C.timeline.prev_batch,o.EventTimeline.BACKWARDS),await this.injectRoomEvents(N,ee,T),N.recalculate(),X.store.storeRoom(N),X.emit(s.ClientEvent.Room,N),this.processEventsForNotifs(N,T),N}))).filter(Boolean)}peek(W){var X;if(((X=this._peekRoom)===null||X===void 0?void 0:X.roomId)===W)return Promise.resolve(this._peekRoom);const G=this.client;return this._peekRoom=this.createRoom(W),this.client.roomInitialSync(W,20).then(j=>{j.messages=j.messages||{chunk:[]},j.messages.chunk=j.messages.chunk||[],j.state=j.state||[];const Y=i.deepCopy(j.state).map(G.getEventMapper()),R=j.state.map(G.getEventMapper()),k=j.messages.chunk.map(G.getEventMapper());return Array.isArray(j.presence)&&j.presence.map(G.getEventMapper()).forEach(function(B){let $=G.store.getUser(B.getContent().user_id);$?$.setPresenceEvent(B):($=x(G,B.getContent().user_id),$.setPresenceEvent(B),G.store.storeUser($)),G.emit(s.ClientEvent.Event,B)}),j.messages.start&&(this._peekRoom.oldState.paginationToken=j.messages.start),this._peekRoom.oldState.setStateEvents(Y),this._peekRoom.currentState.setStateEvents(R),this.resolveInvites(this._peekRoom),this._peekRoom.recalculate(),this._peekRoom.addEventsToTimeline(k.reverse(),!0,this._peekRoom.getLiveTimeline(),j.messages.start),G.store.storeRoom(this._peekRoom),G.emit(s.ClientEvent.Room,this._peekRoom),this.peekPoll(this._peekRoom),this._peekRoom})}stopPeeking(){this._peekRoom=null}peekPoll(W,X){var G;if(this._peekRoom!==W){A("Stopped peeking in room %s",W.roomId);return}this.client.http.authedRequest(m.Method.Get,"/events",{room_id:W.roomId,timeout:String(30*1e3),from:X},void 0,{localTimeoutMs:50*1e3,abortSignal:(G=this.abortController)===null||G===void 0?void 0:G.signal}).then(j=>{if(this._peekRoom!==W){A("Stopped peeking in room %s",W.roomId);return}j.chunk.filter(function(R){return R.type==="m.presence"}).map(this.client.getEventMapper()).forEach(R=>{let k=this.client.store.getUser(R.getContent().user_id);k?k.setPresenceEvent(R):(k=x(this.client,R.getContent().user_id),k.setPresenceEvent(R),this.client.store.storeUser(k)),this.client.emit(s.ClientEvent.Event,R)});const Y=j.chunk.filter(function(R){return R.room_id===W.roomId&&R.event_id}).map(this.client.getEventMapper());W.addLiveEvents(Y),this.peekPoll(W,j.end)},j=>{u.logger.error("[%s] Peek poll failed: %s",W.roomId,j),setTimeout(()=>{this.peekPoll(W,X)},30*1e3)})}getSyncState(){return this.syncState}getSyncStateData(){var W;return(W=this.syncStateData)!==null&&W!==void 0?W:null}async recoverFromSyncStartupError(W,X){await W;const G=this.startKeepAlives();this.updateSyncState(w.Error,{error:X}),await G}async wasLazyLoadingToggled(W=!1){let X=!1;if(!await this.client.store.isNewlyCreated()){const j=await this.client.store.getClientOptions();return j&&(X=!!j.lazyLoadMembers),X!==W}return!1}shouldAbortSync(W){return W.errcode==="M_UNKNOWN_TOKEN"?(u.logger.warn("Token no longer valid - assuming logout"),this.stop(),this.updateSyncState(w.Error,{error:W}),!0):!1}async sync(){var W,X;if(this.running=!0,this.abortController=new AbortController,(W=$e.window)===null||W===void 0||(X=W.addEventListener)===null||X===void 0||X.call(W,"online",this.onOnline,!1),this.client.isGuest())return this.doSync({});A("Getting saved sync token...");const G=this.client.store.getSavedSyncToken().then(R=>(A("Got saved sync token"),R));this.savedSyncPromise=this.client.store.getSavedSync().then(R=>{if(A(`Got reply from saved sync, exists? ${!!R}`),R)return this.syncFromCache(R)}).catch(R=>{u.logger.error("Getting saved sync failed",R)}),await this.getPushRules(),await this.checkLazyLoadStatus();const{filterId:j,filter:Y}=await this.getFilter();if(Y){if(this.client.resetNotifTimelineSet(),!this.currentSyncRequest){let R=j;const k=await G;if(k)A("Sending first sync request...");else{A("Sending initial sync request...");const B=this.buildDefaultFilter();B.setDefinition(Y.getDefinition()),B.setTimelineLimit(this.opts.initialSyncLimit),R=JSON.stringify(B.getDefinition())}this.currentSyncRequest=this.doSyncRequest({filter:R},k)}return A("Waiting for saved sync before starting sync processing..."),await this.savedSyncPromise,this.doSync({filter:j})}}stop(){var W,X,G;A("SyncApi.stop"),(W=$e.window)===null||W===void 0||(X=W.removeEventListener)===null||X===void 0||X.call(W,"online",this.onOnline,!1),this.running=!1,(G=this.abortController)===null||G===void 0||G.abort(),this.keepAliveTimer&&(clearTimeout(this.keepAliveTimer),this.keepAliveTimer=void 0)}retryImmediately(){return this.connectionReturnedDefer?(this.startKeepAlives(0),!0):!1}async syncFromCache(W){A("sync(): not doing HTTP hit, instead returning stored /sync data");const X=W.nextBatch;this.client.store.setSyncToken(X);const G={nextSyncToken:X,catchingUp:!1,fromCache:!0},j={next_batch:X,rooms:W.roomsData,account_data:{events:W.accountData}};try{await this.processSyncResponse(G,j)}catch(Y){u.logger.error("Error processing cached sync",Y)}this.storeIsInvalid||this.updateSyncState(w.Prepared,G)}async doSync(W){for(;this.running;){const X=this.client.store.getSyncToken();let G;try{this.currentSyncRequest||(this.currentSyncRequest=this.doSyncRequest(W,X)),G=await this.currentSyncRequest}catch(Y){if(await this.onSyncError(Y))return;continue}finally{this.currentSyncRequest=void 0}this.client.store.setSyncToken(G.next_batch),this.failedSyncCount=0,await this.client.store.setSyncData(G);const j={oldSyncToken:X??void 0,nextSyncToken:G.next_batch,catchingUp:this.catchingUp};this.opts.crypto&&await this.opts.crypto.onSyncWillProcess(j);try{await this.processSyncResponse(j,G)}catch(Y){u.logger.error("Caught /sync error",Y),this.client.emit(s.ClientEvent.SyncUnexpectedError,Y)}j.catchingUp=this.catchingUp,W.hasSyncedBefore||(this.updateSyncState(w.Prepared,j),W.hasSyncedBefore=!0),this.opts.crypto&&await this.opts.crypto.onSyncCompleted(j),this.updateSyncState(w.Syncing,j),this.client.store.wantsSave()&&(this.opts.crypto&&await this.opts.crypto.saveDeviceList(0),this.client.store.save())}this.running||(A("Sync no longer running: exiting."),this.connectionReturnedDefer&&(this.connectionReturnedDefer.reject(),this.connectionReturnedDefer=void 0),this.updateSyncState(w.Stopped))}doSyncRequest(W,X){var G;const j=this.getSyncParams(W,X);return this.client.http.authedRequest(m.Method.Get,"/sync",j,void 0,{localTimeoutMs:j.timeout+f,abortSignal:(G=this.abortController)===null||G===void 0?void 0:G.signal})}getSyncParams(W,X){let G=this.opts.pollTimeout;(this.getSyncState()!==w.Syncing||this.catchingUp)&&(this.catchingUp=!0,G=0);let j=W.filter;this.client.isGuest()&&!j&&(j=this.getGuestFilter());const Y={filter:j,timeout:G};return this.opts.disablePresence&&(Y.set_presence=L.Offline),X?Y.since=X:Y._cacheBuster=Date.now(),[w.Reconnecting,w.Error].includes(this.getSyncState())&&(Y.timeout=0),Y}async onSyncError(W){if(!this.running)return A("Sync no longer running: exiting"),this.connectionReturnedDefer&&(this.connectionReturnedDefer.reject(),this.connectionReturnedDefer=void 0),this.updateSyncState(w.Stopped),!0;if(u.logger.error("/sync error %s",W),this.shouldAbortSync(W))return!0;this.failedSyncCount++,u.logger.log("Number of consecutive failed sync requests:",this.failedSyncCount),A("Starting keep-alive");const X=this.startKeepAlives();return this.currentSyncRequest=void 0,this.updateSyncState(this.failedSyncCount>=E?w.Error:w.Reconnecting,{error:W}),await X&&this.getSyncState()===w.Error&&this.updateSyncState(w.Catchup,{catchingUp:!0}),!1}async processSyncResponse(W,X){var G,j,Y;const R=this.client;if(Array.isArray((G=X.presence)===null||G===void 0?void 0:G.events)&&X.presence.events.map(R.getEventMapper()).forEach(function(C){let N=R.store.getUser(C.getSender());N?N.setPresenceEvent(C):(N=x(R,C.getSender()),N.setPresenceEvent(C),R.store.storeUser(N)),R.emit(s.ClientEvent.Event,C)}),Array.isArray((j=X.account_data)===null||j===void 0?void 0:j.events)){const C=X.account_data.events.map(R.getEventMapper()),N=C.reduce((T,ee)=>(T[ee.getType()]=R.store.getAccountData(ee.getType()),T),{});R.store.storeAccountDataEvents(C),C.forEach(function(T){if(T.getType()===g.EventType.PushRules){const ne=T.getContent();R.pushRules=p.PushProcessor.rewriteDefaultRules(ne)}const ee=N[T.getType()];return R.emit(s.ClientEvent.AccountData,T,ee),T})}if(Array.isArray((Y=X.to_device)===null||Y===void 0?void 0:Y.events)&&X.to_device.events.length>0){const C=[];X.to_device.events.filter(N=>{var T;return N.type===g.EventType.RoomMessageEncrypted&&!["m.olm.v1.curve25519-aes-sha2"].includes((T=N.content)===null||T===void 0?void 0:T.algorithm)?(u.logger.log("Ignoring invalid encrypted to-device event from "+N.sender),!1):!0}).map(R.getEventMapper({toDevice:!0})).map(N=>{if(N.getType()==="m.key.verification.cancel"){const T=N.getContent().transaction_id;T&&C.push(T)}return N}).forEach(function(N){const T=N.getContent();if(N.getType()=="m.room.message"&&T.msgtype=="m.bad.encrypted"){u.logger.log("Ignoring undecryptable to-device event from "+N.getSender());return}if(N.getType()==="m.key.verification.start"||N.getType()==="m.key.verification.request"){const ee=T.transaction_id;C.includes(ee)&&N.flagCancelled()}R.emit(s.ClientEvent.ToDeviceEvent,N)})}else this.catchingUp=!1;let k=[],B=[],$=[];if(X.rooms&&(X.rooms.invite&&(k=this.mapSyncResponseToRoomArray(X.rooms.invite)),X.rooms.join&&(B=this.mapSyncResponseToRoomArray(X.rooms.join)),X.rooms.leave&&($=this.mapSyncResponseToRoomArray(X.rooms.leave))),this.notifEvents=[],await i.promiseMapSeries(k,async C=>{var N;const T=C.room,ee=this.mapSyncEventsFormat(C.invite_state,T);await this.injectRoomEvents(T,ee);const ne=(N=T.currentState.getStateEvents(g.EventType.RoomMember,R.getUserId()))===null||N===void 0?void 0:N.getSender();if(R.isCryptoEnabled()){const se=await R.crypto.cryptoStore.takeParkedSharedHistory(T.roomId);for(const me of se)me.senderId===ne&&await R.crypto.olmDevice.addInboundGroupSession(T.roomId,me.senderKey,me.forwardingCurve25519KeyChain,me.sessionId,me.sessionKey,me.keysClaimed,!0,{sharedHistory:!0,untrusted:!0})}C.isBrandNewRoom?(T.recalculate(),R.store.storeRoom(T),R.emit(s.ClientEvent.Room,T)):T.recalculate(),ee.forEach(function(se){R.emit(s.ClientEvent.Event,se)})}),await i.promiseMapSeries(B,async C=>{var N;const T=C.room,ee=this.mapSyncEventsFormat(C.state,T),ne=this.mapSyncEventsFormat(C.timeline,T,!1),se=this.mapSyncEventsFormat(C.ephemeral),me=this.mapSyncEventsFormat(C.account_data),q=R.isRoomEncrypted(T.roomId);if(C.unread_notifications){var oe;if(T.setUnreadNotificationCount(n.NotificationCountType.Total,(oe=C.unread_notifications.notification_count)!==null&&oe!==void 0?oe:0),!q||T.getUnreadNotificationCount(n.NotificationCountType.Highlight)<=0){var M;T.setUnreadNotificationCount(n.NotificationCountType.Highlight,(M=C.unread_notifications.highlight_count)!==null&&M!==void 0?M:0)}}const O=(N=C[_.UNREAD_THREAD_NOTIFICATIONS.name])!==null&&N!==void 0?N:C[_.UNREAD_THREAD_NOTIFICATIONS.altName];if(O){T.resetThreadUnreadNotificationCount(Object.keys(O));for(const[de,ue]of Object.entries(O)){var z;T.setThreadUnreadNotificationCount(de,n.NotificationCountType.Total,(z=ue.notification_count)!==null&&z!==void 0?z:0);const pe=T.getThreadUnreadNotificationCount(de,n.NotificationCountType.Highlight)<=0;if(!q||q&&pe){var J;T.setThreadUnreadNotificationCount(de,n.NotificationCountType.Highlight,(J=ue.highlight_count)!==null&&J!==void 0?J:0)}}}else T.resetThreadUnreadNotificationCount();if(C.timeline=C.timeline||{},C.isBrandNewRoom)C.timeline.prev_batch!==null&&T.getLiveTimeline().setPaginationToken(C.timeline.prev_batch,o.EventTimeline.BACKWARDS);else if(C.timeline.limited){let de=!0;for(let ue=ne.length-1;ue>=0;ue--){const pe=ne[ue].getId();if(T.getTimelineForEvent(pe)){A(`Already have event ${pe} in limited sync - not resetting`),de=!1,ne.splice(0,ue);break}}if(de){var re;T.resetLiveTimeline(C.timeline.prev_batch,this.opts.canResetEntireTimeline(T.roomId)?null:(re=W.oldSyncToken)!==null&&re!==void 0?re:null),R.resetNotifTimelineSet()}}if(this.opts.crypto)for(const de of ee.concat(ne))de.isState()&&de.getType()===g.EventType.RoomEncryption&&de.getStateKey()===""&&await this.opts.crypto.onCryptoEvent(T,de);try{await this.injectRoomEvents(T,ee,ne,W.fromCache)}catch(de){u.logger.error(`Failed to process events on room ${T.roomId}:`,de)}C.summary&&T.setSummary(C.summary),T.addEphemeralEvents(se),T.addAccountData(me),T.recalculate(),C.isBrandNewRoom&&(R.store.storeRoom(T),R.emit(s.ClientEvent.Room,T)),this.processEventsForNotifs(T,ne);const le=de=>R.emit(s.ClientEvent.Event,de);ee.forEach(le),ne.forEach(le),se.forEach(le),me.forEach(le),T.decryptCriticalEvents()}),await i.promiseMapSeries($,async C=>{const N=C.room,T=this.mapSyncEventsFormat(C.state,N),ee=this.mapSyncEventsFormat(C.timeline,N),ne=this.mapSyncEventsFormat(C.account_data);await this.injectRoomEvents(N,T,ee),N.addAccountData(ne),N.recalculate(),C.isBrandNewRoom&&(R.store.storeRoom(N),R.emit(s.ClientEvent.Room,N)),this.processEventsForNotifs(N,ee),T.forEach(function(se){R.emit(s.ClientEvent.Event,se)}),ee.forEach(function(se){R.emit(s.ClientEvent.Event,se)}),ne.forEach(function(se){R.emit(s.ClientEvent.Event,se)})}),W.oldSyncToken&&this.notifEvents.length&&(this.notifEvents.sort(function(C,N){return C.getTs()-N.getTs()}),this.notifEvents.forEach(function(C){var N;(N=R.getNotifTimelineSet())===null||N===void 0||N.addLiveEvent(C)})),X.device_lists&&this.opts.crypto&&await this.opts.crypto.handleDeviceListChanges(W,X.device_lists),this.opts.crypto&&X.device_one_time_keys_count){const C=X.device_one_time_keys_count.signed_curve25519||0;this.opts.crypto.updateOneTimeKeyCount(C)}if(this.opts.crypto&&(X.device_unused_fallback_key_types||X["org.matrix.msc2732.device_unused_fallback_key_types"])){const C=X.device_unused_fallback_key_types||X["org.matrix.msc2732.device_unused_fallback_key_types"];this.opts.crypto.setNeedsNewFallback(Array.isArray(C)&&!C.includes("signed_curve25519"))}}startKeepAlives(W){return W===void 0&&(W=2e3+Math.floor(Math.random()*5e3)),this.keepAliveTimer!==null&&clearTimeout(this.keepAliveTimer),W>0?this.keepAliveTimer=setTimeout(this.pokeKeepAlive.bind(this),W):this.pokeKeepAlive(),this.connectionReturnedDefer||(this.connectionReturnedDefer=i.defer()),this.connectionReturnedDefer.promise}pokeKeepAlive(W=!1){var X;const G=()=>{clearTimeout(this.keepAliveTimer),this.connectionReturnedDefer&&(this.connectionReturnedDefer.resolve(W),this.connectionReturnedDefer=void 0)};this.client.http.request(m.Method.Get,"/_matrix/client/versions",void 0,void 0,{prefix:"",localTimeoutMs:15*1e3,abortSignal:(X=this.abortController)===null||X===void 0?void 0:X.signal}).then(()=>{G()},j=>{j.httpStatus==400||j.httpStatus==404?this.keepAliveTimer=setTimeout(G,2e3):(W=!0,this.keepAliveTimer=setTimeout(this.pokeKeepAlive.bind(this,W),5e3+Math.floor(Math.random()*5e3)),this.updateSyncState(w.Error,{error:j}))})}mapSyncResponseToRoomArray(W){const X=this.client;return Object.keys(W).map(G=>{const j=W[G];let Y=X.store.getRoom(G),R=!1;return Y||(Y=this.createRoom(G),R=!0),j.room=Y,j.isBrandNewRoom=R,j})}mapSyncEventsFormat(W,X,G=!0){if(!W||!Array.isArray(W.events))return[];const j=this.client.getEventMapper({decrypt:G});return W.events.map(function(Y){return X&&(Y.room_id=X.roomId),j(Y)})}resolveInvites(W){if(!W||!this.opts.resolveInvitesToProfiles)return;const X=this.client;W.getMembersWithMembership("invite").forEach(function(G){if(G.requestedProfileInfo)return;G.requestedProfileInfo=!0;const j=X.getUser(G.userId);let Y;j?Y=Promise.resolve({avatar_url:j.avatarUrl,displayname:j.displayName}):Y=X.getProfileInfo(G.userId),Y.then(function(R){const k=G.events.member;(k==null?void 0:k.getContent().membership)==="invite"&&(k.getContent().avatar_url=R.avatar_url,k.getContent().displayname=R.displayname,G.setMembershipEvent(k,W.currentState))},function(R){})})}async injectRoomEvents(W,X,G,j=!1){const Y=W.getLiveTimeline(),R=Y.getEvents().length==0;if(R){for(const k of X)this.client.getPushActionsForEvent(k);Y.initialiseState(X,{timelineWasEmpty:R})}this.resolveInvites(W),W.recalculate(),R||(W.oldState.setStateEvents(X||[]),W.currentState.setStateEvents(X||[])),W.addLiveEvents(G||[],{fromCache:j,timelineWasEmpty:R}),this.client.processBeaconEvents(W,G)}processEventsForNotifs(W,X){if(this.client.getNotifTimelineSet())for(const j of X){var G;const Y=this.client.getPushActionsForEvent(j);Y!=null&&Y.notify&&(G=Y.tweaks)!==null&&G!==void 0&&G.highlight&&this.notifEvents.push(j)}}getGuestFilter(){return"{}"}updateSyncState(W,X){const G=this.syncState;this.syncState=W,this.syncStateData=X,this.client.emit(s.ClientEvent.Sync,this.syncState,G,X)}}ei.SyncApi=F;function x(K,W){const X=new r.User(W);return K.reEmitter.reEmit(X,[r.UserEvent.AvatarUrl,r.UserEvent.DisplayName,r.UserEvent.Presence,r.UserEvent.CurrentlyActive,r.UserEvent.LastPresenceTs]),X}function H(K,W,X){const{timelineSupport:G}=K,j=new n.Room(W,K,K.getUserId(),{lazyLoadMembers:X.lazyLoadMembers,pendingEventOrdering:X.pendingEventOrdering,timelineSupport:G});return K.reEmitter.reEmit(j,[n.RoomEvent.Name,n.RoomEvent.Redaction,n.RoomEvent.RedactionCancelled,n.RoomEvent.Receipt,n.RoomEvent.Tags,n.RoomEvent.LocalEchoUpdated,n.RoomEvent.AccountData,n.RoomEvent.MyMembership,n.RoomEvent.Timeline,n.RoomEvent.TimelineReset,S.RoomStateEvent.Events,S.RoomStateEvent.Members,S.RoomStateEvent.NewMember,S.RoomStateEvent.Update,h.BeaconEvent.New,h.BeaconEvent.Update,h.BeaconEvent.Destroy,h.BeaconEvent.LivenessChange]),j.on(S.RoomStateEvent.NewMember,(Y,R,k)=>{var B;k.user=(B=K.getUser(k.userId))!==null&&B!==void 0?B:void 0,K.reEmitter.reEmit(k,[v.RoomMemberEvent.Name,v.RoomMemberEvent.Typing,v.RoomMemberEvent.PowerLevel,v.RoomMemberEvent.Membership])}),j}return ei}var bl={},_3;function jF(){if(_3)return bl;_3=1;var e=Ae;Object.defineProperty(bl,"__esModule",{value:!0}),bl.StubStore=void 0;var t=e(Ue);class r{constructor(){(0,t.default)(this,"accountData",{}),(0,t.default)(this,"fromToken",null)}isNewlyCreated(){return Promise.resolve(!0)}getSyncToken(){return this.fromToken}setSyncToken(i){this.fromToken=i}storeRoom(i){}getRoom(i){return null}getRooms(){return[]}removeRoom(i){}getRoomSummaries(){return[]}storeUser(i){}getUser(i){return null}getUsers(){return[]}scrollback(i,a){return[]}storeEvents(i,a,o,p){}storeFilter(i){}getFilter(i,a){return null}getFilterIdByName(i){return null}setFilterIdByName(i,a){}storeAccountDataEvents(i){}getAccountData(i){}setSyncData(i){return Promise.resolve()}wantsSave(){return!1}save(){}startup(){return Promise.resolve()}getSavedSync(){return Promise.resolve(null)}getSavedSyncToken(){return Promise.resolve(null)}deleteAllData(){return Promise.resolve()}getOutOfBandMembers(){return Promise.resolve(null)}setOutOfBandMembers(i,a){return Promise.resolve()}clearOutOfBandMembers(){return Promise.resolve()}getClientOptions(){return Promise.resolve(void 0)}storeClientOptions(i){return Promise.resolve()}async getPendingEvents(i){return[]}setPendingEvents(i,a){return Promise.resolve()}async saveToDeviceBatches(i){return Promise.resolve()}getOldestToDeviceBatch(){return Promise.resolve(null)}async removeToDeviceBatch(i){return Promise.resolve()}}return bl.StubStore=r,bl}var at={};const st={},KF=Object.freeze(Object.defineProperty({__proto__:null,default:st},Symbol.toStringTag,{value:"Module"}));function BE(){return st.randomBytes(16)}var jE=[];for(var oc=0;oc<256;++oc)jE[oc]=(oc+256).toString(16).substr(1);function L0(e,t){var r=t||0,n=jE;return[n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],"-",n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]],n[e[r++]]].join("")}var S3,Jf,Xf=0,Zf=0;function VF(e,t,r){var n=t&&r||0,i=t||[];e=e||{};var a=e.node||S3,o=e.clockseq!==void 0?e.clockseq:Jf;if(a==null||o==null){var p=e.random||(e.rng||BE)();a==null&&(a=S3=[p[0]|1,p[1],p[2],p[3],p[4],p[5]]),o==null&&(o=Jf=(p[6]<<8|p[7])&16383)}var u=e.msecs!==void 0?e.msecs:new Date().getTime(),y=e.nsecs!==void 0?e.nsecs:Zf+1,s=u-Xf+(y-Zf)/1e4;if(s<0&&e.clockseq===void 0&&(o=o+1&16383),(s<0||u>Xf)&&e.nsecs===void 0&&(y=0),y>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Xf=u,Zf=y,Jf=o,u+=122192928e5;var m=((u&268435455)*1e4+y)%4294967296;i[n++]=m>>>24&255,i[n++]=m>>>16&255,i[n++]=m>>>8&255,i[n++]=m&255;var g=u/4294967296*1e4&268435455;i[n++]=g>>>8&255,i[n++]=g&255,i[n++]=g>>>24&15|16,i[n++]=g>>>16&255,i[n++]=o>>>8|128,i[n++]=o&255;for(var S=0;S<6;++S)i[n+S]=a[S];return t||L0(i)}function qF(e){var t=[];return e.replace(/[a-fA-F0-9]{2}/g,function(r){t.push(parseInt(r,16))}),t}function WF(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}const HF="6ba7b810-9dad-11d1-80b4-00c04fd430c8",GF="6ba7b811-9dad-11d1-80b4-00c04fd430c8";function KE(e,t,r){var n=function(i,a,o,p){var u=o&&p||0;if(typeof i=="string"&&(i=WF(i)),typeof a=="string"&&(a=qF(a)),!Array.isArray(i))throw TypeError("value must be an array of bytes");if(!Array.isArray(a)||a.length!==16)throw TypeError("namespace must be uuid string or an Array of 16 byte values");var y=r(a.concat(i));if(y[6]=y[6]&15|t,y[8]=y[8]&63|128,o)for(var s=0;s<16;++s)o[u+s]=y[s];return o||L0(y)};try{n.name=e}catch{}return n.DNS=HF,n.URL=GF,n}function zF(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),st.createHash("md5").update(e).digest()}const YF=KE("v3",48,zF),QF=YF;function JF(e,t,r){var n=t&&r||0;typeof e=="string"&&(t=e==="binary"?new Array(16):null,e=null),e=e||{};var i=e.random||(e.rng||BE)();if(i[6]=i[6]&15|64,i[8]=i[8]&63|128,t)for(var a=0;a<16;++a)t[n+a]=i[a];return t||L0(i)}function XF(e){return Array.isArray(e)?e=Buffer.from(e):typeof e=="string"&&(e=Buffer.from(e,"utf8")),st.createHash("sha1").update(e).digest()}const ZF=KE("v5",80,XF),eB=ZF,tB=Object.freeze(Object.defineProperty({__proto__:null,v1:VF,v3:QF,v4:JF,v5:eB},Symbol.toStringTag,{value:"Module"})),yu=Ns(tB);var xn={},eh={},Cp={},rB={get exports(){return Cp},set exports(e){Cp=e}},E3;function VE(){if(E3)return Cp;E3=1;var e=rB.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(t){return t.encoding?"rtpmap:%d %s/%s/%s":t.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(t){return t.address!=null?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(t){return t.subtype!=null?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(t){return"extmap:%d"+(t.direction?"/%s":"%v")+(t["encrypt-uri"]?" %s":"%v")+" %s"+(t.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(t){return t.sessionConfig!=null?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(t){var r="candidate:%s %d %s %d %s %d typ %s";return r+=t.raddr!=null?" raddr %s rport %d":"%v%v",r+=t.tcptype!=null?" tcptype %s":"%v",t.generation!=null&&(r+=" generation %d"),r+=t["network-id"]!=null?" network-id %d":"%v",r+=t["network-cost"]!=null?" network-cost %d":"%v",r}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(t){var r="ssrc:%d";return t.attribute!=null&&(r+=" %s",t.value!=null&&(r+=":%s")),r}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(t){return t.maxMessageSize!=null?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(t){return t.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(t){return"imageattr:%s %s %s"+(t.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(t){return"simulcast:%s %s"+(t.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(t){return"ts-refclk:%s"+(t.clksrcExt!=null?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(t){var r="mediaclk:";return r+=t.id!=null?"id=%s %s":"%v%s",r+=t.mediaClockValue!=null?"=%s":"",r+=t.rateNumerator!=null?" rate=%s":"",r+=t.rateDenominator!=null?"/%s":"",r}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};return Object.keys(e).forEach(function(t){var r=e[t];r.forEach(function(n){n.reg||(n.reg=/(.*)/),n.format||(n.format="%s")})}),Cp}var w3;function nB(){return w3||(w3=1,function(e){var t=function(p){return String(Number(p))===p?Number(p):p},r=function(p,u,y,s){if(s&&!y)u[s]=t(p[1]);else for(var m=0;m<y.length;m+=1)p[m+1]!=null&&(u[y[m]]=t(p[m+1]))},n=function(p,u,y){var s=p.name&&p.names;p.push&&!u[p.push]?u[p.push]=[]:s&&!u[p.name]&&(u[p.name]={});var m=p.push?{}:s?u[p.name]:u;r(y.match(p.reg),m,p.names,p.name),p.push&&u[p.push].push(m)},i=VE(),a=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(p){var u={},y=[],s=u;return p.split(/(\r\n|\r|\n)/).filter(a).forEach(function(m){var g=m[0],S=m.slice(2);g==="m"&&(y.push({rtp:[],fmtp:[]}),s=y[y.length-1]);for(var v=0;v<(i[g]||[]).length;v+=1){var h=i[g][v];if(h.reg.test(S))return n(h,s,S)}}),u.media=y,u};var o=function(p,u){var y=u.split(/=(.+)/,2);return y.length===2?p[y[0]]=t(y[1]):y.length===1&&u.length>1&&(p[y[0]]=void 0),p};e.parseParams=function(p){return p.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(p){return p.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(p){for(var u=[],y=p.split(" ").map(t),s=0;s<y.length;s+=3)u.push({component:y[s],ip:y[s+1],port:y[s+2]});return u},e.parseImageAttributes=function(p){return p.split(" ").map(function(u){return u.substring(1,u.length-1).split(",").reduce(o,{})})},e.parseSimulcastStreamList=function(p){return p.split(";").map(function(u){return u.split(",").map(function(y){var s,m=!1;return y[0]!=="~"?s=t(y):(s=t(y.substring(1,y.length)),m=!0),{scid:s,paused:m}})})}}(eh)),eh}var th,b3;function iB(){if(b3)return th;b3=1;var e=VE(),t=/%[sdv%]/g,r=function(o){var p=1,u=arguments,y=u.length;return o.replace(t,function(s){if(p>=y)return s;var m=u[p];switch(p+=1,s){case"%%":return"%";case"%s":return String(m);case"%d":return Number(m);case"%v":return""}})},n=function(o,p,u){var y=p.format instanceof Function?p.format(p.push?u:u[p.name]):p.format,s=[o+"="+y];if(p.names)for(var m=0;m<p.names.length;m+=1){var g=p.names[m];p.name?s.push(u[p.name][g]):s.push(u[p.names[m]])}else s.push(u[p.name]);return r.apply(null,s)},i=["v","o","s","i","u","e","p","c","b","t","r","z","a"],a=["i","c","b","a"];return th=function(o,p){p=p||{},o.version==null&&(o.version=0),o.name==null&&(o.name=" "),o.media.forEach(function(m){m.payloads==null&&(m.payloads="")});var u=p.outerOrder||i,y=p.innerOrder||a,s=[];return u.forEach(function(m){e[m].forEach(function(g){g.name in o&&o[g.name]!=null?s.push(n(m,g,o)):g.push in o&&o[g.push]!=null&&o[g.push].forEach(function(S){s.push(n(m,g,S))})})}),o.media.forEach(function(m){s.push(n("m",e.m[0],m)),y.forEach(function(g){e[g].forEach(function(S){S.name in m&&m[S.name]!=null?s.push(n(g,S,m)):S.push in m&&m[S.push]!=null&&m[S.push].forEach(function(v){s.push(n(g,S,v))})})})}),s.join(`\r +`)+`\r +`},th}var T3;function aB(){if(T3)return xn;T3=1;var e=nB(),t=iB();return xn.write=t,xn.parse=e.parse,xn.parseParams=e.parseParams,xn.parseFmtpConfig=e.parseFmtpConfig,xn.parsePayloads=e.parsePayloads,xn.parseRemoteCandidates=e.parseRemoteCandidates,xn.parseImageAttributes=e.parseImageAttributes,xn.parseSimulcastStreamList=e.parseSimulcastStreamList,xn}var ko={},R3;function _u(){if(R3)return ko;R3=1,Object.defineProperty(ko,"__esModule",{value:!0}),ko.randomLowercaseString=i,ko.randomString=n,ko.randomUppercaseString=a;const e="abcdefghijklmnopqrstuvwxyz",t="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r="0123456789";function n(p){return o(p,t+e+r)}function i(p){return o(p,e)}function a(p){return o(p,t)}function o(p,u){let y="";for(let s=0;s<p;++s)y+=u.charAt(Math.floor(Math.random()*u.length));return y}return ko}var Ai={},I3;function x0(){if(I3)return Ai;I3=1,Object.defineProperty(Ai,"__esModule",{value:!0}),Ai.SDPStreamMetadataPurpose=Ai.SDPStreamMetadataKey=void 0;const e="org.matrix.msc3077.sdp_stream_metadata";Ai.SDPStreamMetadataKey=e;let t;return Ai.SDPStreamMetadataPurpose=t,function(r){r.Usermedia="m.usermedia",r.Screenshare="m.screenshare"}(t||(Ai.SDPStreamMetadataPurpose=t={})),Ai}var Un={},Aa={},C3;function oB(){if(C3)return Aa;C3=1,Object.defineProperty(Aa,"__esModule",{value:!0}),Aa.releaseContext=Aa.acquireContext=void 0;let e=null,t=0;const r=()=>(e===null&&(e=new AudioContext),t++,e);Aa.acquireContext=r;const n=()=>{if(t--,t===0){var i;(i=e)===null||i===void 0||i.close(),e=null}};return Aa.releaseContext=n,Aa}var O3;function qE(){if(O3)return Un;O3=1;var e=Ae;Object.defineProperty(Un,"__esModule",{value:!0}),Un.SPEAKING_THRESHOLD=Un.CallFeedEvent=Un.CallFeed=void 0;var t=e(Ue),r=x0(),n=oB(),i=Ge(),a=At(),o=Eu();const p=200,u=-60;Un.SPEAKING_THRESHOLD=u;const y=8;let s;Un.CallFeedEvent=s,function(g){g.NewStream="new_stream",g.MuteStateChanged="mute_state_changed",g.LocalVolumeChanged="local_volume_changed",g.VolumeChanged="volume_changed",g.ConnectedChanged="connected_changed",g.Speaking="speaking",g.Disposed="disposed"}(s||(Un.CallFeedEvent=s={}));class m extends a.TypedEventEmitter{constructor(S){super(),(0,t.default)(this,"stream",void 0),(0,t.default)(this,"sdpMetadataStreamId",void 0),(0,t.default)(this,"userId",void 0),(0,t.default)(this,"deviceId",void 0),(0,t.default)(this,"purpose",void 0),(0,t.default)(this,"speakingVolumeSamples",void 0),(0,t.default)(this,"client",void 0),(0,t.default)(this,"call",void 0),(0,t.default)(this,"roomId",void 0),(0,t.default)(this,"audioMuted",void 0),(0,t.default)(this,"videoMuted",void 0),(0,t.default)(this,"localVolume",1),(0,t.default)(this,"measuringVolumeActivity",!1),(0,t.default)(this,"audioContext",void 0),(0,t.default)(this,"analyser",void 0),(0,t.default)(this,"frequencyBinCount",void 0),(0,t.default)(this,"speakingThreshold",u),(0,t.default)(this,"speaking",!1),(0,t.default)(this,"volumeLooperTimeout",void 0),(0,t.default)(this,"_disposed",!1),(0,t.default)(this,"_connected",!1),(0,t.default)(this,"onAddTrack",()=>{this.emit(s.NewStream,this.stream)}),(0,t.default)(this,"onCallState",v=>{v===o.CallState.Connected?this.connected=!0:v===o.CallState.Connecting&&(this.connected=!1)}),(0,t.default)(this,"volumeLooper",()=>{if(!this.analyser||!this.measuringVolumeActivity)return;this.analyser.getFloatFrequencyData(this.frequencyBinCount);let v=-1/0;for(const _ of this.frequencyBinCount)_>v&&(v=_);this.speakingVolumeSamples.shift(),this.speakingVolumeSamples.push(v),this.emit(s.VolumeChanged,v);let h=!1;for(const _ of this.speakingVolumeSamples)if(_>this.speakingThreshold){h=!0;break}this.speaking!==h&&(this.speaking=h,this.emit(s.Speaking,this.speaking)),this.volumeLooperTimeout=setTimeout(this.volumeLooper,p)}),this.client=S.client,this.call=S.call,this.roomId=S.roomId,this.userId=S.userId,this.deviceId=S.deviceId,this.purpose=S.purpose,this.audioMuted=S.audioMuted,this.videoMuted=S.videoMuted,this.speakingVolumeSamples=new Array(y).fill(-1/0),this.sdpMetadataStreamId=S.stream.id,this.updateStream(null,S.stream),this.stream=S.stream,this.hasAudioTrack&&this.initVolumeMeasuring(),S.call&&(S.call.addListener(o.CallEvent.State,this.onCallState),this.onCallState(S.call.state))}get connected(){return this.isLocal()||this._connected}set connected(S){this._connected=S,this.emit(s.ConnectedChanged,this.connected)}get hasAudioTrack(){return this.stream.getAudioTracks().length>0}updateStream(S,v){v!==S&&(S&&(S.removeEventListener("addtrack",this.onAddTrack),this.measureVolumeActivity(!1)),this.stream=v,v.addEventListener("addtrack",this.onAddTrack),this.hasAudioTrack?this.initVolumeMeasuring():this.measureVolumeActivity(!1),this.emit(s.NewStream,this.stream))}initVolumeMeasuring(){if(!this.hasAudioTrack)return;this.audioContext||(this.audioContext=(0,n.acquireContext)()),this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=512,this.analyser.smoothingTimeConstant=.1,this.audioContext.createMediaStreamSource(this.stream).connect(this.analyser),this.frequencyBinCount=new Float32Array(this.analyser.frequencyBinCount)}getMember(){var S;const v=this.client.getRoom(this.roomId);return(S=v==null?void 0:v.getMember(this.userId))!==null&&S!==void 0?S:null}isLocal(){return this.userId===this.client.getUserId()&&(this.deviceId===void 0||this.deviceId===this.client.getDeviceId())}isAudioMuted(){return this.stream.getAudioTracks().length===0||this.audioMuted}isVideoMuted(){return this.stream.getVideoTracks().length===0||this.videoMuted}isSpeaking(){return this.speaking}setNewStream(S){this.updateStream(this.stream,S)}setAudioVideoMuted(S,v){S!==null&&(this.audioMuted!==S&&this.speakingVolumeSamples.fill(-1/0),this.audioMuted=S),v!==null&&(this.videoMuted=v),this.emit(s.MuteStateChanged,this.audioMuted,this.videoMuted)}measureVolumeActivity(S){if(S){if(!this.analyser||!this.frequencyBinCount||!this.hasAudioTrack)return;this.measuringVolumeActivity=!0,this.volumeLooper()}else this.measuringVolumeActivity=!1,this.speakingVolumeSamples.fill(-1/0),this.emit(s.VolumeChanged,-1/0)}setSpeakingThreshold(S){this.speakingThreshold=S}clone(){const S=this.client.getMediaHandler(),v=this.stream.clone();return i.logger.log(`callFeed cloning stream ${this.stream.id} newStream ${v.id}`),this.purpose===r.SDPStreamMetadataPurpose.Usermedia?S.userMediaStreams.push(v):S.screensharingStreams.push(v),new m({client:this.client,roomId:this.roomId,userId:this.userId,deviceId:this.deviceId,stream:v,purpose:this.purpose,audioMuted:this.audioMuted,videoMuted:this.videoMuted})}dispose(){var S,v;clearTimeout(this.volumeLooperTimeout),(S=this.stream)===null||S===void 0||S.removeEventListener("addtrack",this.onAddTrack),(v=this.call)===null||v===void 0||v.removeListener(o.CallEvent.State,this.onCallState),this.audioContext&&(this.audioContext=void 0,this.analyser=void 0,(0,n.releaseContext)()),this._disposed=!0,this.emit(s.Disposed)}get disposed(){return this._disposed}set disposed(S){this._disposed=S}getLocalVolume(){return this.localVolume}setLocalVolume(S){this.localVolume=S,this.emit(s.LocalVolumeChanged,S)}}return Un.CallFeed=m,Un}var Tl={},P3;function Su(){if(P3)return Tl;P3=1;var e=Ae;Object.defineProperty(Tl,"__esModule",{value:!0}),Tl.DeviceInfo=void 0;var t=e(Ue),r;(function(i){i[i.Blocked=-1]="Blocked",i[i.Unverified=0]="Unverified",i[i.Verified=1]="Verified"})(r||(r={}));class n{static fromStorage(a,o){const p=new n(o);for(const u in a)a.hasOwnProperty(u)&&(p[u]=a[u]);return p}constructor(a){this.deviceId=a,(0,t.default)(this,"algorithms",[]),(0,t.default)(this,"keys",{}),(0,t.default)(this,"verified",r.Unverified),(0,t.default)(this,"known",!1),(0,t.default)(this,"unsigned",{}),(0,t.default)(this,"signatures",{})}toStorage(){return{algorithms:this.algorithms,keys:this.keys,verified:this.verified,known:this.known,unsigned:this.unsigned,signatures:this.signatures}}getFingerprint(){return this.keys["ed25519:"+this.deviceId]}getIdentityKey(){return this.keys["curve25519:"+this.deviceId]}getDisplayName(){return this.unsigned.device_display_name||null}isBlocked(){return this.verified==r.Blocked}isVerified(){return this.verified==r.Verified}isUnverified(){return this.verified==r.Unverified}isKnown(){return this.known===!0}}return Tl.DeviceInfo=n,(0,t.default)(n,"DeviceVerification",{VERIFIED:r.Verified,UNVERIFIED:r.Unverified,BLOCKED:r.Blocked}),Tl}var ot={},Ni={},k3;function WE(){if(k3)return Ni;k3=1;var e=Ae;Object.defineProperty(Ni,"__esModule",{value:!0}),Ni.CallEventHandlerEvent=Ni.CallEventHandler=void 0;var t=e(Ue),r=Ge(),n=Eu(),i=xe,a=ln(),o=zs(),p=Ti();const u=3e3;let y;Ni.CallEventHandlerEvent=y,function(m){m.Incoming="Call.incoming"}(y||(Ni.CallEventHandlerEvent=y={}));class s{constructor(g){(0,t.default)(this,"calls",void 0),(0,t.default)(this,"callEventBuffer",void 0),(0,t.default)(this,"nextSeqByCall",new Map),(0,t.default)(this,"toDeviceEventBuffers",new Map),(0,t.default)(this,"client",void 0),(0,t.default)(this,"candidateEventsByCall",void 0),(0,t.default)(this,"eventBufferPromiseChain",void 0),(0,t.default)(this,"onSync",()=>{const S=this.callEventBuffer;this.callEventBuffer=[],this.eventBufferPromiseChain?this.eventBufferPromiseChain=this.eventBufferPromiseChain.then(()=>this.evaluateEventBuffer(S)):this.eventBufferPromiseChain=this.evaluateEventBuffer(S)}),(0,t.default)(this,"onRoomTimeline",S=>{this.callEventBuffer.push(S)}),(0,t.default)(this,"onToDeviceEvent",S=>{const v=S.getContent();if(!v.call_id){this.callEventBuffer.push(S);return}if(this.nextSeqByCall.has(v.call_id)||this.nextSeqByCall.set(v.call_id,0),v.seq===void 0){this.callEventBuffer.push(S);return}const h=this.nextSeqByCall.get(v.call_id)||0;if(v.seq!==h){this.toDeviceEventBuffers.has(v.call_id)||this.toDeviceEventBuffers.set(v.call_id,[]);const _=this.toDeviceEventBuffers.get(v.call_id),d=_.findIndex(l=>l.getContent().seq>v.seq);d===-1?_.push(S):_.splice(d,0,S)}else{const _=v.call_id;this.callEventBuffer.push(S),this.nextSeqByCall.set(_,v.seq+1);const d=this.toDeviceEventBuffers.get(_);let l=d&&d.shift();for(;l&&l.getContent().seq===this.nextSeqByCall.get(_);)this.callEventBuffer.push(l),this.nextSeqByCall.set(_,l.getContent().seq+1),l=d.shift()}}),this.client=g,this.calls=new Map,this.callEventBuffer=[],this.candidateEventsByCall=new Map}start(){this.client.on(a.ClientEvent.Sync,this.onSync),this.client.on(p.RoomEvent.Timeline,this.onRoomTimeline),this.client.on(a.ClientEvent.ToDeviceEvent,this.onToDeviceEvent)}stop(){this.client.removeListener(a.ClientEvent.Sync,this.onSync),this.client.removeListener(p.RoomEvent.Timeline,this.onRoomTimeline),this.client.removeListener(a.ClientEvent.ToDeviceEvent,this.onToDeviceEvent)}async evaluateEventBuffer(g){await Promise.all(g.map(h=>this.client.decryptEventIfNeeded(h)));const S=g.filter(h=>{const _=h.getType();return _.startsWith("m.call.")||_.startsWith("org.matrix.call.")}),v=new Set;for(const h of S){const _=h.getType();(_===i.EventType.CallAnswer||_===i.EventType.CallHangup)&&v.add(h.getContent().call_id)}for(const h of S){const _=h.getType(),d=h.getContent().call_id;if(!(_===i.EventType.CallInvite&&v.has(d)))try{await this.handleCallEvent(h)}catch(l){r.logger.error("Caught exception handling call event",l)}}}async handleCallEvent(g){var S,v;this.client.emit(a.ClientEvent.ReceivedVoipEvent,g);const h=g.getContent(),_=g.getRoomId()||((S=this.client.groupCallEventHandler.getGroupCallById(h.conf_id))===null||S===void 0||(v=S.room)===null||v===void 0?void 0:v.roomId),d=h.conf_id,l=g.getType(),c=g.getSender();let f=h.call_id?this.calls.get(h.call_id):void 0,E,w;if(d){if(w=this.client.groupCallEventHandler.getGroupCallById(d),!w){r.logger.warn(`Cannot find a group call ${d} for event ${l}. Ignoring event.`);return}if(E=h.device_id,!E){r.logger.warn(`Cannot find a device id for ${c}. Ignoring event.`),w.emit(o.GroupCallEvent.Error,new o.GroupCallUnknownDeviceError(c));return}if(h.dest_session_id!==this.client.getSessionId()){r.logger.warn("Call event does not match current session id, ignoring.");return}}const I=c===this.client.credentials.userId&&(E===void 0||E===this.client.getDeviceId());if(_){if(l===i.EventType.CallInvite){var D,A;if(I||g.getLocalAge()>h.lifetime-u||f&&f.state===n.CallState.Ended||(f&&r.logger.log(`WARN: Already have a MatrixCall with id ${h.call_id} but got an invite. Clobbering.`),h.invitee&&h.invitee!==this.client.getUserId()))return;const H=((D=this.client.getTurnServersExpiry())!==null&&D!==void 0?D:0)-Date.now();if(r.logger.info("Current turn creds expire in "+H+" ms"),f=(A=(0,n.createNewMatrixCall)(this.client,_,{forceTURN:this.client.forceTURN,opponentDeviceId:E,groupCallId:d,opponentSessionId:h.sender_session_id}))!==null&&A!==void 0?A:void 0,!f){r.logger.log("Incoming call ID "+h.call_id+" but this client doesn't support WebRTC");return}f.callId=h.call_id;try{await f.initWithInvite(g)}catch(W){if(W instanceof n.CallError)if(W.code===o.GroupCallErrorCode.UnknownDevice){var L;(L=w)===null||L===void 0||L.emit(o.GroupCallEvent.Error,W)}else r.logger.error(W)}if(this.calls.set(f.callId,f),this.candidateEventsByCall.get(f.callId))for(const W of this.candidateEventsByCall.get(f.callId))f.onRemoteIceCandidatesReceived(W);let K;for(const W of this.calls.values()){var F;const X=[n.CallState.WaitLocalMedia,n.CallState.CreateOffer,n.CallState.InviteSent].includes(W.state);if(f.roomId===W.roomId&&W.direction===n.CallDirection.Outbound&&((F=f.getOpponentMember())===null||F===void 0?void 0:F.userId)===W.invitee&&X){K=W;break}}K?K.callId>f.callId?(r.logger.log("Glare detected: answering incoming call "+f.callId+" and canceling outgoing call "+K.callId),K.replacedBy(f)):(r.logger.log("Glare detected: rejecting incoming call "+f.callId+" and keeping outgoing call "+K.callId),f.hangup(n.CallErrorCode.Replaced,!0)):this.client.emit(y.Incoming,f);return}else if(l===i.EventType.CallCandidates){if(I)return;f?f.onRemoteIceCandidatesReceived(g):(this.candidateEventsByCall.has(h.call_id)||this.candidateEventsByCall.set(h.call_id,[]),this.candidateEventsByCall.get(h.call_id).push(g));return}else if([i.EventType.CallHangup,i.EventType.CallReject].includes(l)){if(f)f.state!==n.CallState.Ended&&(l===i.EventType.CallHangup?f.onHangupReceived(h):f.onRejectReceived(h),f.state===n.CallState.Ended&&this.calls.delete(h.call_id));else{var x;f=(x=(0,n.createNewMatrixCall)(this.client,_,{opponentDeviceId:E,opponentSessionId:h.sender_session_id}))!==null&&x!==void 0?x:void 0,f&&(f.callId=h.call_id,f.initWithHangup(g),this.calls.set(h.call_id,f))}return}if(!f||!f.hasPeerConnection){r.logger.info(`Discarding possible call event ${g.getId()} as we don't have a call/peerConn`,l);return}if(g.getContent().party_id!==f.ourPartyId)switch(l){case i.EventType.CallAnswer:I?f.state===n.CallState.Ringing&&f.onAnsweredElsewhere(h):f.onAnswerReceived(g);break;case i.EventType.CallSelectAnswer:f.onSelectAnswerReceived(g);break;case i.EventType.CallNegotiate:f.onNegotiateReceived(g);break;case i.EventType.CallAssertedIdentity:case i.EventType.CallAssertedIdentityPrefix:f.onAssertedIdentityReceived(g);break;case i.EventType.CallSDPStreamMetadataChanged:case i.EventType.CallSDPStreamMetadataChangedPrefix:f.onSDPStreamMetadataChangedReceived(g);break}}}}return Ni.CallEventHandler=s,Ni}var Li={},D3;function HE(){if(D3)return Li;D3=1;var e=Ae;Object.defineProperty(Li,"__esModule",{value:!0}),Li.GroupCallEventHandlerEvent=Li.GroupCallEventHandler=void 0;var t=e(Ue),r=ln(),n=zs(),i=Ia(),a=Ge(),o=xe,p=m1();let u;Li.GroupCallEventHandlerEvent=u,function(s){s.Incoming="GroupCall.incoming",s.Outgoing="GroupCall.outgoing",s.Ended="GroupCall.ended",s.Participants="GroupCall.participants"}(u||(Li.GroupCallEventHandlerEvent=u={}));class y{constructor(m){this.client=m,(0,t.default)(this,"groupCalls",new Map),(0,t.default)(this,"roomDeferreds",new Map),(0,t.default)(this,"onRoomsChanged",g=>{this.createGroupCallForRoom(g)}),(0,t.default)(this,"onRoomStateChanged",(g,S)=>{if(g.getType()===o.EventType.GroupCallPrefix){const h=g.getStateKey(),_=g.getContent(),d=this.groupCalls.get(S.roomId);!d&&!_["m.terminated"]?this.createGroupCallFromRoomStateEvent(g):d&&d.groupCallId===h?_["m.terminated"]?d.terminate(!1):_["m.type"]!==d.type&&a.logger.warn(`The group call type changed for room: ${S.roomId}. Changing the group call type is currently unsupported.`):d&&d.groupCallId!==h&&a.logger.warn(`Multiple group calls detected for room: ${S.roomId}. Multiple group calls are currently unsupported.`)}})}async start(){this.client.getSyncState()!==p.SyncState.Syncing&&(a.logger.debug("Waiting for client to start syncing..."),await new Promise(g=>{const S=()=>{if(this.client.getSyncState()===p.SyncState.Syncing)return this.client.off(r.ClientEvent.Sync,S),g()};this.client.on(r.ClientEvent.Sync,S)}));const m=this.client.getRooms();for(const g of m)this.createGroupCallForRoom(g);this.client.on(r.ClientEvent.Room,this.onRoomsChanged),this.client.on(i.RoomStateEvent.Events,this.onRoomStateChanged)}stop(){this.client.removeListener(i.RoomStateEvent.Events,this.onRoomStateChanged)}getRoomDeferred(m){let g=this.roomDeferreds.get(m);if(g===void 0){let S;g={prom:new Promise(v=>{S=v})},g.resolve=S,this.roomDeferreds.set(m,g)}return g}waitUntilRoomReadyForGroupCalls(m){return this.getRoomDeferred(m).prom}getGroupCallById(m){return[...this.groupCalls.values()].find(g=>g.groupCallId===m)}createGroupCallForRoom(m){const g=m.currentState.getStateEvents(o.EventType.GroupCallPrefix),S=g.sort((v,h)=>h.getTs()-v.getTs());for(const v of S)if(!v.getContent()["m.terminated"]){a.logger.debug(`Choosing group call ${v.getStateKey()} with TS ${v.getTs()} for room ${m.roomId} from ${g.length} possible calls.`),this.createGroupCallFromRoomStateEvent(v);break}a.logger.info("Group call event handler processed room",m.roomId),this.getRoomDeferred(m.roomId).resolve()}createGroupCallFromRoomStateEvent(m){const g=m.getRoomId(),S=m.getContent(),v=this.client.getRoom(g);if(!v){a.logger.warn(`Couldn't find room ${g} for GroupCall`);return}const h=m.getStateKey(),_=S["m.type"];if(!Object.values(n.GroupCallType).includes(_)){a.logger.warn(`Received invalid group call type ${_} for room ${g}.`);return}const d=S["m.intent"];if(!Object.values(n.GroupCallIntent).includes(d)){a.logger.warn(`Received invalid group call intent ${_} for room ${g}.`);return}const l=Boolean(S["io.element.ptt"]);let c;if(S!=null&&S.dataChannelsEnabled&&S!==null&&S!==void 0&&S.dataChannelOptions){const{ordered:E,maxPacketLifeTime:w,maxRetransmits:I,protocol:D}=S.dataChannelOptions;c={ordered:E,maxPacketLifeTime:w,maxRetransmits:I,protocol:D}}const f=new n.GroupCall(this.client,v,_,l,d,h,S==null?void 0:S.dataChannelsEnabled,c);return this.groupCalls.set(v.roomId,f),this.client.emit(u.Incoming,f),f}}return Li.GroupCallEventHandler=y,Li}var M3;function zs(){if(M3)return ot;M3=1;var e=Ae;Object.defineProperty(ot,"__esModule",{value:!0}),ot.OtherUserSpeakingError=ot.GroupCallUnknownDeviceError=ot.GroupCallType=ot.GroupCallTerminationReason=ot.GroupCallState=ot.GroupCallIntent=ot.GroupCallEvent=ot.GroupCallErrorCode=ot.GroupCallError=ot.GroupCall=void 0;var t=e(Ue),r=At(),n=qE(),i=Eu(),a=Ia(),o=Ge(),p=yo(),u=x0(),y=xe,s=WE(),m=HE(),g=dt();function S(F,x){var H=Object.keys(F);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(F);x&&(K=K.filter(function(W){return Object.getOwnPropertyDescriptor(F,W).enumerable})),H.push.apply(H,K)}return H}function v(F){for(var x=1;x<arguments.length;x++){var H=arguments[x]!=null?arguments[x]:{};x%2?S(Object(H),!0).forEach(function(K){(0,t.default)(F,K,H[K])}):Object.getOwnPropertyDescriptors?Object.defineProperties(F,Object.getOwnPropertyDescriptors(H)):S(Object(H)).forEach(function(K){Object.defineProperty(F,K,Object.getOwnPropertyDescriptor(H,K))})}return F}let h;ot.GroupCallIntent=h,function(F){F.Ring="m.ring",F.Prompt="m.prompt",F.Room="m.room"}(h||(ot.GroupCallIntent=h={}));let _;ot.GroupCallType=_,function(F){F.Video="m.video",F.Voice="m.voice"}(_||(ot.GroupCallType=_={}));let d;ot.GroupCallTerminationReason=d,function(F){F.CallEnded="call_ended"}(d||(ot.GroupCallTerminationReason=d={}));let l;ot.GroupCallEvent=l,function(F){F.GroupCallStateChanged="group_call_state_changed",F.ActiveSpeakerChanged="active_speaker_changed",F.CallsChanged="calls_changed",F.UserMediaFeedsChanged="user_media_feeds_changed",F.ScreenshareFeedsChanged="screenshare_feeds_changed",F.LocalScreenshareStateChanged="local_screenshare_state_changed",F.LocalMuteStateChanged="local_mute_state_changed",F.ParticipantsChanged="participants_changed",F.Error="error"}(l||(ot.GroupCallEvent=l={}));let c;ot.GroupCallErrorCode=c,function(F){F.NoUserMedia="no_user_media",F.UnknownDevice="unknown_device",F.PlaceCallFailed="place_call_failed"}(c||(ot.GroupCallErrorCode=c={}));class f extends Error{constructor(x,H,K){K?(super(H+": "+K),(0,t.default)(this,"code",void 0)):(super(H),(0,t.default)(this,"code",void 0)),this.code=x}}ot.GroupCallError=f;class E extends f{constructor(x){super(c.UnknownDevice,"No device found for "+x),this.userId=x}}ot.GroupCallUnknownDeviceError=E;class w extends Error{constructor(){super("Cannot unmute: another user is speaking")}}ot.OtherUserSpeakingError=w;let I;ot.GroupCallState=I,function(F){F.LocalCallFeedUninitialized="local_call_feed_uninitialized",F.InitializingLocalCallFeed="initializing_local_call_feed",F.LocalCallFeedInitialized="local_call_feed_initialized",F.Entered="entered",F.Ended="ended"}(I||(ot.GroupCallState=I={}));const D=1e3*60*60;function A(F){var x;return((x=F.getOpponentMember())===null||x===void 0?void 0:x.userId)||F.invitee||null}class L extends r.TypedEventEmitter{constructor(x,H,K,W,X,G,j,Y){var R,k;super(),this.client=x,this.room=H,this.type=K,this.isPtt=W,this.intent=X,this.dataChannelsEnabled=j,this.dataChannelOptions=Y,(0,t.default)(this,"activeSpeakerInterval",1e3),(0,t.default)(this,"retryCallInterval",5e3),(0,t.default)(this,"participantTimeout",1e3*15),(0,t.default)(this,"pttMaxTransmitTime",1e3*20),(0,t.default)(this,"activeSpeaker",void 0),(0,t.default)(this,"localCallFeed",void 0),(0,t.default)(this,"localScreenshareFeed",void 0),(0,t.default)(this,"localDesktopCapturerSourceId",void 0),(0,t.default)(this,"userMediaFeeds",[]),(0,t.default)(this,"screenshareFeeds",[]),(0,t.default)(this,"groupCallId",void 0),(0,t.default)(this,"calls",new Map),(0,t.default)(this,"callHandlers",new Map),(0,t.default)(this,"activeSpeakerLoopInterval",void 0),(0,t.default)(this,"retryCallLoopInterval",void 0),(0,t.default)(this,"retryCallCounts",new Map),(0,t.default)(this,"reEmitter",void 0),(0,t.default)(this,"transmitTimer",null),(0,t.default)(this,"participantsExpirationTimer",null),(0,t.default)(this,"resendMemberStateTimer",null),(0,t.default)(this,"initWithAudioMuted",!1),(0,t.default)(this,"initWithVideoMuted",!1),(0,t.default)(this,"_state",I.LocalCallFeedUninitialized),(0,t.default)(this,"_participants",new Map),(0,t.default)(this,"_creationTs",null),(0,t.default)(this,"_enteredViaAnotherSession",!1),(0,t.default)(this,"onIncomingCall",B=>{var $;if(B.roomId!==this.room.roomId)return;if(B.state!==i.CallState.Ringing){o.logger.warn("Incoming call no longer in ringing state. Ignoring.");return}if(!B.groupCallId||B.groupCallId!==this.groupCallId){o.logger.log(`Incoming call with groupCallId ${B.groupCallId} ignored because it doesn't match the current group call`),B.reject();return}const C=B.getOpponentMember();if(C===void 0){o.logger.warn("Incoming call with no member. Ignoring.");return}const N=($=this.calls.get(C))!==null&&$!==void 0?$:new Map,T=N.get(B.getOpponentDeviceId());(T==null?void 0:T.callId)!==B.callId&&(o.logger.log(`GroupCall: incoming call from ${C.userId} with ID ${B.callId}`),T&&this.disposeCall(T,i.CallErrorCode.Replaced),this.initCall(B),B.answerWithCallFeeds(this.getLocalFeeds().map(ee=>ee.clone())),N.set(B.getOpponentDeviceId(),B),this.calls.set(C,N),this.emit(l.CallsChanged,this.calls))}),(0,t.default)(this,"onRetryCallLoop",()=>{let B=!1;for(const[N,T]of this.participants){const ee=this.calls.get(N);let ne=this.retryCallCounts.get(N);for(const[se,me]of T){var $,C;const q=ee==null?void 0:ee.get(se),oe=($=(C=ne)===null||C===void 0?void 0:C.get(se))!==null&&$!==void 0?$:0;(q==null?void 0:q.getOpponentSessionId())!==me.sessionId&&this.wantsOutgoingCall(N.userId,se)&&oe<3&&(ne===void 0&&(ne=new Map,this.retryCallCounts.set(N,ne)),ne.set(se,oe+1),B=!0)}}B&&this.placeOutgoingCalls()}),(0,t.default)(this,"onCallFeedsChanged",B=>{const $=A(B),C=B.getOpponentDeviceId();if(!$)throw new Error("Cannot change call feeds without user id");const N=this.getUserMediaFeed($,C),T=B.remoteUsermediaFeed;T!==N&&(!N&&T?this.addUserMediaFeed(T):N&&T?this.replaceUserMediaFeed(N,T):N&&!T&&this.removeUserMediaFeed(N));const ne=this.getScreenshareFeed($,C),se=B.remoteScreensharingFeed;se!==ne&&(!ne&&se?this.addScreenshareFeed(se):ne&&se?this.replaceScreenshareFeed(ne,se):ne&&!se&&this.removeScreenshareFeed(ne))}),(0,t.default)(this,"onCallStateChanged",(B,$,C)=>{const N=this.localCallFeed.isAudioMuted();B.localUsermediaStream&&B.isMicrophoneMuted()!==N&&B.setMicrophoneMuted(N);const T=this.localCallFeed.isVideoMuted();if(B.localUsermediaStream&&B.isLocalVideoMuted()!==T&&B.setLocalVideoMuted(T),$===i.CallState.Connected){const ee=B.getOpponentMember(),ne=this.retryCallCounts.get(ee);ne==null||ne.delete(B.getOpponentDeviceId()),(ne==null?void 0:ne.size)===0&&this.retryCallCounts.delete(ee)}}),(0,t.default)(this,"onCallHangup",B=>{var $;if(B.hangupReason===i.CallErrorCode.Replaced)return;const C=($=B.getOpponentMember())!==null&&$!==void 0?$:this.room.getMember(B.invitee),N=this.calls.get(C);(N==null?void 0:N.get(B.getOpponentDeviceId()))===B&&(this.disposeCall(B,B.hangupReason),N.delete(B.getOpponentDeviceId()),N.size===0&&this.calls.delete(C),this.emit(l.CallsChanged,this.calls))}),(0,t.default)(this,"onCallReplaced",(B,$)=>{const C=B.getOpponentMember();let N=this.calls.get(C);N===void 0&&(N=new Map,this.calls.set(C,N)),this.disposeCall(B,i.CallErrorCode.Replaced),this.initCall($),N.set(B.getOpponentDeviceId(),$),this.emit(l.CallsChanged,this.calls)}),(0,t.default)(this,"onActiveSpeakerLoop",()=>{let B,$;for(const C of this.userMediaFeeds){if(C.isLocal()&&this.userMediaFeeds.length>1)continue;const T=C.speakingVolumeSamples.reduce((ee,ne)=>ee+Math.max(ne,n.SPEAKING_THRESHOLD))/C.speakingVolumeSamples.length;(!B||T>B)&&(B=T,$=C)}$&&this.activeSpeaker!==$&&B&&B>n.SPEAKING_THRESHOLD&&(this.activeSpeaker=$,this.emit(l.ActiveSpeakerChanged,this.activeSpeaker))}),(0,t.default)(this,"onRoomState",()=>this.updateParticipants()),(0,t.default)(this,"onParticipantsChanged",()=>{this.state===I.Entered&&this.placeOutgoingCalls()}),(0,t.default)(this,"onStateChanged",(B,$)=>{(B===I.Entered||$===I.Entered||B===I.Ended)&&(this.updateParticipants(),this.updateMemberState().catch(C=>o.logger.error("Failed to update member state devices",C)))}),(0,t.default)(this,"onLocalFeedsChanged",()=>{this.state===I.Entered&&this.updateMemberState().catch(B=>o.logger.error("Failed to update member state feeds",B))}),this.reEmitter=new p.ReEmitter(this),this.groupCallId=G??(0,i.genCallID)(),this.creationTs=(R=(k=H.currentState.getStateEvents(y.EventType.GroupCallPrefix,this.groupCallId))===null||k===void 0?void 0:k.getTs())!==null&&R!==void 0?R:null,this.updateParticipants(),H.on(a.RoomStateEvent.Update,this.onRoomState),this.on(l.ParticipantsChanged,this.onParticipantsChanged),this.on(l.GroupCallStateChanged,this.onStateChanged),this.on(l.LocalScreenshareStateChanged,this.onLocalFeedsChanged)}async create(){this.creationTs=Date.now(),this.client.groupCallEventHandler.groupCalls.set(this.room.roomId,this),this.client.emit(m.GroupCallEventHandlerEvent.Outgoing,this);const x={"m.intent":this.intent,"m.type":this.type,"io.element.ptt":this.isPtt,dataChannelsEnabled:this.dataChannelsEnabled,dataChannelOptions:this.dataChannelsEnabled?this.dataChannelOptions:void 0};return await this.client.sendStateEvent(this.room.roomId,y.EventType.GroupCallPrefix,x,this.groupCallId),this}get state(){return this._state}set state(x){const H=this._state;x!==H&&(this._state=x,this.emit(l.GroupCallStateChanged,x,H))}get participants(){return this._participants}set participants(x){const H=this._participants,K=(X,G)=>X.sessionId===G.sessionId&&X.screensharing===G.screensharing,W=(X,G)=>(0,g.mapsEqual)(X,G,K);(0,g.mapsEqual)(x,H,W)||(this._participants=x,this.emit(l.ParticipantsChanged,x))}get creationTs(){return this._creationTs}set creationTs(x){this._creationTs=x}get enteredViaAnotherSession(){return this._enteredViaAnotherSession}set enteredViaAnotherSession(x){this._enteredViaAnotherSession=x,this.updateParticipants()}forEachCall(x){for(const H of this.calls.values())for(const K of H.values())x(K)}getLocalFeeds(){const x=[];return this.localCallFeed&&x.push(this.localCallFeed),this.localScreenshareFeed&&x.push(this.localScreenshareFeed),x}hasLocalParticipant(){var x,H;return(x=(H=this.participants.get(this.room.getMember(this.client.getUserId())))===null||H===void 0?void 0:H.has(this.client.getDeviceId()))!==null&&x!==void 0?x:!1}async initLocalCallFeed(){if(o.logger.log(`groupCall ${this.groupCallId} initLocalCallFeed`),this.state!==I.LocalCallFeedUninitialized)throw new Error(`Cannot initialize local call feed in the "${this.state}" state.`);this.state=I.InitializingLocalCallFeed;let x,H=!1;const K=X=>{X===I.LocalCallFeedUninitialized&&(H=!0)};this.on(l.GroupCallStateChanged,K);try{x=await this.client.getMediaHandler().getUserMediaStream(!0,this.type===_.Video)}catch(X){throw this.state=I.LocalCallFeedUninitialized,X}finally{this.off(l.GroupCallStateChanged,K)}if(H)throw new Error("Group call disposed");const W=new n.CallFeed({client:this.client,roomId:this.room.roomId,userId:this.client.getUserId(),deviceId:this.client.getDeviceId(),stream:x,purpose:u.SDPStreamMetadataPurpose.Usermedia,audioMuted:this.initWithAudioMuted||x.getAudioTracks().length===0||this.isPtt,videoMuted:this.initWithVideoMuted||x.getVideoTracks().length===0});return(0,i.setTracksEnabled)(x.getAudioTracks(),!W.isAudioMuted()),(0,i.setTracksEnabled)(x.getVideoTracks(),!W.isVideoMuted()),this.localCallFeed=W,this.addUserMediaFeed(W),this.state=I.LocalCallFeedInitialized,W}async updateLocalUsermediaStream(x){if(this.localCallFeed){const H=this.localCallFeed.stream;this.localCallFeed.setNewStream(x);const K=this.localCallFeed.isAudioMuted(),W=this.localCallFeed.isVideoMuted();o.logger.log(`groupCall ${this.groupCallId} updateLocalUsermediaStream oldStream ${H.id} newStream ${x.id} micShouldBeMuted ${K} vidShouldBeMuted ${W}`),(0,i.setTracksEnabled)(x.getAudioTracks(),!K),(0,i.setTracksEnabled)(x.getVideoTracks(),!W),this.client.getMediaHandler().stopUserMediaStream(H)}}async enter(){if(this.state===I.LocalCallFeedUninitialized)await this.initLocalCallFeed();else if(this.state!==I.LocalCallFeedInitialized)throw new Error(`Cannot enter call in the "${this.state}" state`);o.logger.log(`Entered group call ${this.groupCallId}`),this.state=I.Entered,this.client.on(s.CallEventHandlerEvent.Incoming,this.onIncomingCall);for(const x of this.client.callEventHandler.calls.values())this.onIncomingCall(x);this.retryCallLoopInterval=setInterval(this.onRetryCallLoop,this.retryCallInterval),this.activeSpeaker=void 0,this.onActiveSpeakerLoop(),this.activeSpeakerLoopInterval=setInterval(this.onActiveSpeakerLoop,this.activeSpeakerInterval)}dispose(){this.localCallFeed&&(this.removeUserMediaFeed(this.localCallFeed),this.localCallFeed=void 0),this.localScreenshareFeed&&(this.client.getMediaHandler().stopScreensharingStream(this.localScreenshareFeed.stream),this.removeScreenshareFeed(this.localScreenshareFeed),this.localScreenshareFeed=void 0,this.localDesktopCapturerSourceId=void 0),this.client.getMediaHandler().stopAllStreams(),this.transmitTimer!==null&&(clearTimeout(this.transmitTimer),this.transmitTimer=null),this.retryCallLoopInterval!==void 0&&(clearInterval(this.retryCallLoopInterval),this.retryCallLoopInterval=void 0),this.state===I.Entered&&(this.forEachCall(x=>this.disposeCall(x,i.CallErrorCode.UserHangup)),this.calls.clear(),this.activeSpeaker=void 0,clearInterval(this.activeSpeakerLoopInterval),this.retryCallCounts.clear(),clearInterval(this.retryCallLoopInterval),this.client.removeListener(s.CallEventHandlerEvent.Incoming,this.onIncomingCall))}leave(){this.dispose(),this.state=I.LocalCallFeedUninitialized}async terminate(x=!0){if(this.dispose(),this.room.off(a.RoomStateEvent.Update,this.onRoomState),this.client.groupCallEventHandler.groupCalls.delete(this.room.roomId),this.client.emit(m.GroupCallEventHandlerEvent.Ended,this),this.state=I.Ended,x){const H=this.room.currentState.getStateEvents(y.EventType.GroupCallPrefix,this.groupCallId);await this.client.sendStateEvent(this.room.roomId,y.EventType.GroupCallPrefix,v(v({},H.getContent()),{},{"m.terminated":d.CallEnded}),this.groupCallId)}}isLocalVideoMuted(){return this.localCallFeed?this.localCallFeed.isVideoMuted():!0}isMicrophoneMuted(){return this.localCallFeed?this.localCallFeed.isAudioMuted():!0}async setMicrophoneMuted(x){if(!x&&!await this.client.getMediaHandler().hasAudioDevice())return!1;const H=!x&&this.isPtt;this.isPtt&&(!x&&this.isMicrophoneMuted()?this.transmitTimer=setTimeout(()=>{this.setMicrophoneMuted(!0)},this.pttMaxTransmitTime):x&&!this.isMicrophoneMuted()&&(this.transmitTimer!==null&&clearTimeout(this.transmitTimer),this.transmitTimer=null)),this.forEachCall(W=>{var X;return(X=W.localUsermediaFeed)===null||X===void 0?void 0:X.setAudioVideoMuted(x,null)});const K=async()=>{const W=[];this.forEachCall(X=>W.push(X.sendMetadataUpdate())),await Promise.all(W).catch(X=>o.logger.info("Failed to send some metadata updates",X))};return H&&await K(),this.localCallFeed?(o.logger.log(`groupCall ${this.groupCallId} setMicrophoneMuted stream ${this.localCallFeed.stream.id} muted ${x}`),this.localCallFeed.setAudioVideoMuted(x,null),(0,i.setTracksEnabled)(this.localCallFeed.stream.getAudioTracks(),!x)):(o.logger.log(`groupCall ${this.groupCallId} setMicrophoneMuted no stream muted ${x}`),this.initWithAudioMuted=x),this.forEachCall(W=>(0,i.setTracksEnabled)(W.localUsermediaFeed.stream.getAudioTracks(),!x)),this.emit(l.LocalMuteStateChanged,x,this.isLocalVideoMuted()),H||await K(),!0}async setLocalVideoMuted(x){if(!x&&!await this.client.getMediaHandler().hasVideoDevice())return!1;this.localCallFeed?(o.logger.log(`groupCall ${this.groupCallId} setLocalVideoMuted stream ${this.localCallFeed.stream.id} muted ${x}`),this.localCallFeed.setAudioVideoMuted(null,x),(0,i.setTracksEnabled)(this.localCallFeed.stream.getVideoTracks(),!x)):(o.logger.log(`groupCall ${this.groupCallId} setLocalVideoMuted no stream muted ${x}`),this.initWithVideoMuted=x);const H=[];return this.forEachCall(K=>H.push(K.setLocalVideoMuted(x))),await Promise.all(H),this.emit(l.LocalMuteStateChanged,this.isMicrophoneMuted(),x),!0}async setScreensharingEnabled(x,H={}){if(x===this.isScreensharing())return x;if(x)try{o.logger.log("Asking for screensharing permissions...");const K=await this.client.getMediaHandler().getScreensharingStream(H);for(const W of K.getTracks()){const X=()=>{this.setScreensharingEnabled(!1),W.removeEventListener("ended",X)};W.addEventListener("ended",X)}return o.logger.log("Screensharing permissions granted. Setting screensharing enabled on all calls"),this.localDesktopCapturerSourceId=H.desktopCapturerSourceId,this.localScreenshareFeed=new n.CallFeed({client:this.client,roomId:this.room.roomId,userId:this.client.getUserId(),deviceId:this.client.getDeviceId(),stream:K,purpose:u.SDPStreamMetadataPurpose.Screenshare,audioMuted:!1,videoMuted:!1}),this.addScreenshareFeed(this.localScreenshareFeed),this.emit(l.LocalScreenshareStateChanged,!0,this.localScreenshareFeed,this.localDesktopCapturerSourceId),this.forEachCall(W=>W.pushLocalFeed(this.localScreenshareFeed.clone())),!0}catch(K){if(H.throwOnFail)throw K;return o.logger.error("Enabling screensharing error",K),this.emit(l.Error,new f(c.NoUserMedia,"Failed to get screen-sharing stream: ",K)),!1}else return this.forEachCall(K=>{K.localScreensharingFeed&&K.removeLocalFeed(K.localScreensharingFeed)}),this.client.getMediaHandler().stopScreensharingStream(this.localScreenshareFeed.stream),this.removeScreenshareFeed(this.localScreenshareFeed),this.localScreenshareFeed=void 0,this.localDesktopCapturerSourceId=void 0,this.emit(l.LocalScreenshareStateChanged,!1,void 0,void 0),!1}isScreensharing(){return!!this.localScreenshareFeed}wantsOutgoingCall(x,H){const K=this.client.getUserId(),W=this.client.getDeviceId();return x>=K&&(x!==K||H>W)}placeOutgoingCalls(){let x=!1;for(const[K,W]of this.participants){var H;const X=(H=this.calls.get(K))!==null&&H!==void 0?H:new Map;for(const[G,j]of W){const Y=X.get(G);if((Y==null?void 0:Y.getOpponentSessionId())!==j.sessionId&&this.wantsOutgoingCall(K.userId,G)){x=!0,Y!==void 0&&(o.logger.debug(`Replacing call ${Y.callId} to ${K.userId} ${G}`),this.disposeCall(Y,i.CallErrorCode.NewSession));const R=(0,i.createNewMatrixCall)(this.client,this.room.roomId,{invitee:K.userId,opponentDeviceId:G,opponentSessionId:j.sessionId,groupCallId:this.groupCallId});R===null?(o.logger.error(`Failed to create call with ${K.userId} ${G}`),X.delete(G)):(this.initCall(R),X.set(G,R),o.logger.debug(`Placing call to ${K.userId} ${G} (session ${j.sessionId})`),R.placeCallWithCallFeeds(this.getLocalFeeds().map(k=>k.clone()),j.screensharing).then(()=>{this.dataChannelsEnabled&&R.createDataChannel("datachannel",this.dataChannelOptions)}).catch(k=>{o.logger.warn(`Failed to place call to ${K.userId}`,k),k instanceof i.CallError&&k.code===c.UnknownDevice?this.emit(l.Error,k):this.emit(l.Error,new f(c.PlaceCallFailed,`Failed to place call to ${K.userId}`)),this.disposeCall(R,i.CallErrorCode.SignallingFailed),X.get(G)===R&&X.delete(G)}))}}X.size>0?this.calls.set(K,X):this.calls.delete(K)}x&&this.emit(l.CallsChanged,this.calls)}getMemberStateEvents(x){return x===void 0?this.room.currentState.getStateEvents(y.EventType.GroupCallMemberPrefix):this.room.currentState.getStateEvents(y.EventType.GroupCallMemberPrefix,x)}initCall(x){const H=A(x);if(!H)throw new Error("Cannot init call without user id");const K=()=>this.onCallFeedsChanged(x),W=(Y,R)=>this.onCallStateChanged(x,Y,R),X=this.onCallHangup,G=Y=>this.onCallReplaced(x,Y);let j=this.callHandlers.get(H);j===void 0&&(j=new Map,this.callHandlers.set(H,j)),j.set(x.getOpponentDeviceId(),{onCallFeedsChanged:K,onCallStateChanged:W,onCallHangup:X,onCallReplaced:G}),x.on(i.CallEvent.FeedsChanged,K),x.on(i.CallEvent.State,W),x.on(i.CallEvent.Hangup,X),x.on(i.CallEvent.Replaced,G),x.isPtt=this.isPtt,this.reEmitter.reEmit(x,Object.values(i.CallEvent)),K()}disposeCall(x,H){const K=A(x),W=x.getOpponentDeviceId();if(!K)throw new Error("Cannot dispose call without user id");const X=this.callHandlers.get(K),{onCallFeedsChanged:G,onCallStateChanged:j,onCallHangup:Y,onCallReplaced:R}=X.get(W);if(x.removeListener(i.CallEvent.FeedsChanged,G),x.removeListener(i.CallEvent.State,j),x.removeListener(i.CallEvent.Hangup,Y),x.removeListener(i.CallEvent.Replaced,R),X.delete(K),X.size===0&&this.callHandlers.delete(K),x.hangupReason===i.CallErrorCode.Replaced)return;x.state!==i.CallState.Ended&&x.hangup(H,!1);const k=this.getUserMediaFeed(K,W);k&&this.removeUserMediaFeed(k);const B=this.getScreenshareFeed(K,W);B&&this.removeScreenshareFeed(B)}getUserMediaFeed(x,H){return this.userMediaFeeds.find(K=>K.userId===x&&K.deviceId===H)}addUserMediaFeed(x){this.userMediaFeeds.push(x),x.measureVolumeActivity(!0),this.emit(l.UserMediaFeedsChanged,this.userMediaFeeds)}replaceUserMediaFeed(x,H){const K=this.userMediaFeeds.findIndex(W=>W.userId===x.userId&&W.deviceId===x.deviceId);if(K===-1)throw new Error("Couldn't find user media feed to replace");this.userMediaFeeds.splice(K,1,H),x.dispose(),H.measureVolumeActivity(!0),this.emit(l.UserMediaFeedsChanged,this.userMediaFeeds)}removeUserMediaFeed(x){const H=this.userMediaFeeds.findIndex(K=>K.userId===x.userId&&K.deviceId===x.deviceId);if(H===-1)throw new Error("Couldn't find user media feed to remove");this.userMediaFeeds.splice(H,1),x.dispose(),this.emit(l.UserMediaFeedsChanged,this.userMediaFeeds),this.activeSpeaker===x&&(this.activeSpeaker=this.userMediaFeeds[0],this.emit(l.ActiveSpeakerChanged,this.activeSpeaker))}getScreenshareFeed(x,H){return this.screenshareFeeds.find(K=>K.userId===x&&K.deviceId===H)}addScreenshareFeed(x){this.screenshareFeeds.push(x),this.emit(l.ScreenshareFeedsChanged,this.screenshareFeeds)}replaceScreenshareFeed(x,H){const K=this.screenshareFeeds.findIndex(W=>W.userId===x.userId&&W.deviceId===x.deviceId);if(K===-1)throw new Error("Couldn't find screenshare feed to replace");this.screenshareFeeds.splice(K,1,H),x.dispose(),this.emit(l.ScreenshareFeedsChanged,this.screenshareFeeds)}removeScreenshareFeed(x){const H=this.screenshareFeeds.findIndex(K=>K.userId===x.userId&&K.deviceId===x.deviceId);if(H===-1)throw new Error("Couldn't find screenshare feed to remove");this.screenshareFeeds.splice(H,1),x.dispose(),this.emit(l.ScreenshareFeedsChanged,this.screenshareFeeds)}updateParticipants(){if(this.participantsExpirationTimer!==null&&(clearTimeout(this.participantsExpirationTimer),this.participantsExpirationTimer=null),this.state===I.Ended){this.participants=new Map;return}const x=new Map,H=Date.now(),K=this.state===I.Entered||this.enteredViaAnotherSession;let W=1/0;for(const X of this.getMemberStateEvents()){const G=this.room.getMember(X.getStateKey()),j=X.getContent(),R=(Array.isArray(j["m.calls"])?j["m.calls"]:[]).find($=>$["m.call_id"]===this.groupCallId);let B=(Array.isArray(R==null?void 0:R["m.devices"])?R["m.devices"]:[]).filter($=>typeof $.device_id=="string"&&typeof $.session_id=="string"&&typeof $.expires_ts=="number"&&$.expires_ts>H&&Array.isArray($.feeds));if(!K&&(G==null?void 0:G.userId)===this.client.getUserId()&&(B=B.filter($=>$.device_id!==this.client.getDeviceId())),B.length>0&&(G==null?void 0:G.membership)==="join"){const $=new Map;x.set(G,$);for(const C of B)$.set(C.device_id,{sessionId:C.session_id,screensharing:C.feeds.some(N=>N.purpose===u.SDPStreamMetadataPurpose.Screenshare)}),C.expires_ts<W&&(W=C.expires_ts)}}if(K){const X=this.room.getMember(this.client.getUserId());let G=x.get(X);G===void 0&&(G=new Map,x.set(X,G)),G.has(this.client.getDeviceId())||G.set(this.client.getDeviceId(),{sessionId:this.client.getSessionId(),screensharing:this.getLocalFeeds().some(j=>j.purpose===u.SDPStreamMetadataPurpose.Screenshare)})}this.participants=x,W<1/0&&(this.participantsExpirationTimer=setTimeout(()=>this.updateParticipants(),W-H))}async updateDevices(x,H=!1){var K;const W=Date.now(),X=this.client.getUserId(),G=this.getMemberStateEvents(X),j=(K=G==null?void 0:G.getContent())!==null&&K!==void 0?K:{},Y=Array.isArray(j["m.calls"])?j["m.calls"]:[];let R=null;const k=[];for(const ee of Y)ee["m.call_id"]===this.groupCallId?R=ee:k.push(ee);R===null&&(R={});const $=(Array.isArray(R["m.devices"])?R["m.devices"]:[]).filter(ee=>typeof ee.device_id=="string"&&typeof ee.session_id=="string"&&typeof ee.expires_ts=="number"&&ee.expires_ts>W&&Array.isArray(ee.feeds)),C=x($);if(C===null)return;const N=[...k];C.length>0&&N.push(v(v({},R),{},{"m.call_id":this.groupCallId,"m.devices":C}));const T={"m.calls":N};await this.client.sendStateEvent(this.room.roomId,y.EventType.GroupCallMemberPrefix,T,X,{keepAlive:H})}async addDeviceToMemberState(){await this.updateDevices(x=>[...x.filter(H=>H.device_id!==this.client.getDeviceId()),{device_id:this.client.getDeviceId(),session_id:this.client.getSessionId(),expires_ts:Date.now()+D,feeds:this.getLocalFeeds().map(H=>({purpose:H.purpose}))}])}async updateMemberState(){this.resendMemberStateTimer!==null&&(clearInterval(this.resendMemberStateTimer),this.resendMemberStateTimer=null),this.state===I.Entered?(await this.addDeviceToMemberState(),this.resendMemberStateTimer=setInterval(async()=>{o.logger.log("Resending call member state");try{await this.addDeviceToMemberState()}catch(x){o.logger.error("Failed to resend call member state",x)}},D*3/4)):await this.updateDevices(x=>x.filter(H=>H.device_id!==this.client.getDeviceId()),!0)}async cleanMemberState(){const{devices:x}=await this.client.getDevices(),H=new Map(x.map(K=>[K.device_id,K]));await this.updateDevices(K=>{const W=K.filter(X=>{const G=H.get(X.device_id);return(G==null?void 0:G.last_seen_ts)!==void 0&&!(X.device_id===this.client.getDeviceId()&&this.state!==I.Entered&&!this.enteredViaAnotherSession)});return W.length===K.length?null:W})}}return ot.GroupCall=L,ot}var A3;function Eu(){if(A3)return at;A3=1;var e=Ae;Object.defineProperty(at,"__esModule",{value:!0}),at.MatrixCall=at.CallType=at.CallState=at.CallParty=at.CallEvent=at.CallErrorCode=at.CallError=at.CallDirection=void 0,at.createNewMatrixCall=B,at.genCallID=X,at.setTracksEnabled=R,at.supportsMatrixCall=k;var t=e(Ue),r=yu,n=aB(),i=Ge(),a=h(dt()),o=xe,p=_u(),u=x0(),y=qE(),s=At(),m=Su(),g=zs(),S=kn;function v($){if(typeof WeakMap!="function")return null;var C=new WeakMap,N=new WeakMap;return(v=function(T){return T?N:C})($)}function h($,C){if(!C&&$&&$.__esModule)return $;if($===null||typeof $!="object"&&typeof $!="function")return{default:$};var N=v(C);if(N&&N.has($))return N.get($);var T={},ee=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var ne in $)if(ne!=="default"&&Object.prototype.hasOwnProperty.call($,ne)){var se=ee?Object.getOwnPropertyDescriptor($,ne):null;se&&(se.get||se.set)?Object.defineProperty(T,ne,se):T[ne]=$[ne]}return T.default=$,N&&N.set($,T),T}function _($,C){var N=Object.keys($);if(Object.getOwnPropertySymbols){var T=Object.getOwnPropertySymbols($);C&&(T=T.filter(function(ee){return Object.getOwnPropertyDescriptor($,ee).enumerable})),N.push.apply(N,T)}return N}function d($){for(var C=1;C<arguments.length;C++){var N=arguments[C]!=null?arguments[C]:{};C%2?_(Object(N),!0).forEach(function(T){(0,t.default)($,T,N[T])}):Object.getOwnPropertyDescriptors?Object.defineProperties($,Object.getOwnPropertyDescriptors(N)):_(Object(N)).forEach(function(T){Object.defineProperty($,T,Object.getOwnPropertyDescriptor(N,T))})}return $}var l;(function($){$.AUDIO="audio",$.VIDEO="video"})(l||(l={}));var c;(function($){$.OPUS="opus"})(c||(c={}));let f;at.CallState=f,function($){$.Fledgling="fledgling",$.InviteSent="invite_sent",$.WaitLocalMedia="wait_local_media",$.CreateOffer="create_offer",$.CreateAnswer="create_answer",$.Connecting="connecting",$.Connected="connected",$.Ringing="ringing",$.Ended="ended"}(f||(at.CallState=f={}));let E;at.CallType=E,function($){$.Voice="voice",$.Video="video"}(E||(at.CallType=E={}));let w;at.CallDirection=w,function($){$.Inbound="inbound",$.Outbound="outbound"}(w||(at.CallDirection=w={}));let I;at.CallParty=I,function($){$.Local="local",$.Remote="remote"}(I||(at.CallParty=I={}));let D;at.CallEvent=D,function($){$.Hangup="hangup",$.State="state",$.Error="error",$.Replaced="replaced",$.LocalHoldUnhold="local_hold_unhold",$.RemoteHoldUnhold="remote_hold_unhold",$.HoldUnhold="hold_unhold",$.FeedsChanged="feeds_changed",$.AssertedIdentityChanged="asserted_identity_changed",$.LengthChanged="length_changed",$.DataChannel="datachannel",$.SendVoipEvent="send_voip_event"}(D||(at.CallEvent=D={}));let A;at.CallErrorCode=A,function($){$.UserHangup="user_hangup",$.LocalOfferFailed="local_offer_failed",$.NoUserMedia="no_user_media",$.UnknownDevices="unknown_devices",$.SendInvite="send_invite",$.CreateAnswer="create_answer",$.CreateOffer="create_offer",$.SendAnswer="send_answer",$.SetRemoteDescription="set_remote_description",$.SetLocalDescription="set_local_description",$.AnsweredElsewhere="answered_elsewhere",$.IceFailed="ice_failed",$.InviteTimeout="invite_timeout",$.Replaced="replaced",$.SignallingFailed="signalling_timeout",$.UserBusy="user_busy",$.Transfered="transferred",$.NewSession="new_session"}(A||(at.CallErrorCode=A={}));const L="1",F="stun:turn.matrix.org",x=60*1e3,H=1e3,K=30*1e3;class W extends Error{constructor(C,N,T){super(N+": "+T),(0,t.default)(this,"code",void 0),this.code=C}}at.CallError=W;function X(){return Date.now().toString()+(0,p.randomString)(16)}function G($){return[{mediaType:"audio",codec:"opus",enableDtx:!0,maxAverageBitrate:$?12e3:void 0}]}function j($,C){return $+":"+C}class Y extends s.TypedEventEmitter{constructor(C){var N;if(super(),(0,t.default)(this,"roomId",void 0),(0,t.default)(this,"callId",void 0),(0,t.default)(this,"invitee",void 0),(0,t.default)(this,"hangupParty",void 0),(0,t.default)(this,"hangupReason",void 0),(0,t.default)(this,"direction",void 0),(0,t.default)(this,"ourPartyId",void 0),(0,t.default)(this,"peerConn",void 0),(0,t.default)(this,"toDeviceSeq",0),(0,t.default)(this,"isPtt",!1),(0,t.default)(this,"_state",f.Fledgling),(0,t.default)(this,"client",void 0),(0,t.default)(this,"forceTURN",void 0),(0,t.default)(this,"turnServers",void 0),(0,t.default)(this,"candidateSendQueue",[]),(0,t.default)(this,"candidateSendTries",0),(0,t.default)(this,"candidatesEnded",!1),(0,t.default)(this,"feeds",[]),(0,t.default)(this,"transceivers",new Map),(0,t.default)(this,"inviteOrAnswerSent",!1),(0,t.default)(this,"waitForLocalAVStream",!1),(0,t.default)(this,"successor",void 0),(0,t.default)(this,"opponentMember",void 0),(0,t.default)(this,"opponentVersion",void 0),(0,t.default)(this,"opponentPartyId",void 0),(0,t.default)(this,"opponentCaps",void 0),(0,t.default)(this,"iceDisconnectedTimeout",void 0),(0,t.default)(this,"inviteTimeout",void 0),(0,t.default)(this,"removeTrackListeners",new Map),(0,t.default)(this,"remoteOnHold",!1),(0,t.default)(this,"callStatsAtEnd",void 0),(0,t.default)(this,"makingOffer",!1),(0,t.default)(this,"ignoreOffer",!1),(0,t.default)(this,"responsePromiseChain",void 0),(0,t.default)(this,"remoteCandidateBuffer",new Map),(0,t.default)(this,"remoteAssertedIdentity",void 0),(0,t.default)(this,"remoteSDPStreamMetadata",void 0),(0,t.default)(this,"callLengthInterval",void 0),(0,t.default)(this,"callStartTime",void 0),(0,t.default)(this,"opponentDeviceId",void 0),(0,t.default)(this,"opponentDeviceInfo",void 0),(0,t.default)(this,"opponentSessionId",void 0),(0,t.default)(this,"groupCallId",void 0),(0,t.default)(this,"gotLocalIceCandidate",T=>{if(T.candidate){if(this.candidatesEnded){i.logger.warn("Got candidate after candidates have ended - ignoring!");return}if(i.logger.debug("Call "+this.callId+" got local ICE "+T.candidate.sdpMid+" candidate: "+T.candidate.candidate),this.callHasEnded())return;T.candidate.candidate===""?this.queueCandidate(null):this.queueCandidate(T.candidate)}}),(0,t.default)(this,"onIceGatheringStateChange",T=>{var ee;i.logger.debug(`Call ${this.callId} ice gathering state changed to ${this.peerConn.iceGatheringState}`),((ee=this.peerConn)===null||ee===void 0?void 0:ee.iceGatheringState)==="complete"&&this.queueCandidate(null)}),(0,t.default)(this,"getLocalOfferFailed",T=>{i.logger.error(`Call ${this.callId} Failed to get local offer`,T),this.emit(D.Error,new W(A.LocalOfferFailed,"Failed to get local offer!",T)),this.terminate(I.Local,A.LocalOfferFailed,!1)}),(0,t.default)(this,"getUserMediaFailed",T=>{if(this.successor){this.successor.getUserMediaFailed(T);return}i.logger.warn(`Failed to get user media - ending call ${this.callId}`,T),this.emit(D.Error,new W(A.NoUserMedia,"Couldn't start capturing media! Is your microphone set up and does this app have permission?",T)),this.terminate(I.Local,A.NoUserMedia,!1)}),(0,t.default)(this,"onIceConnectionStateChanged",()=>{var T,ee,ne,se,me;if(!this.callHasEnded()){if(i.logger.debug("Call ID "+this.callId+": ICE connection state changed to: "+((T=this.peerConn)===null||T===void 0?void 0:T.iceConnectionState)),["connected","completed"].includes((ee=(ne=this.peerConn)===null||ne===void 0?void 0:ne.iceConnectionState)!==null&&ee!==void 0?ee:""))clearTimeout(this.iceDisconnectedTimeout),this.state=f.Connected,!this.callLengthInterval&&!this.callStartTime&&(this.callStartTime=Date.now(),this.callLengthInterval=setInterval(()=>{this.emit(D.LengthChanged,Math.round((Date.now()-this.callStartTime)/1e3))},H));else if(((se=this.peerConn)===null||se===void 0?void 0:se.iceConnectionState)=="failed"){var q;(q=this.peerConn)!==null&&q!==void 0&&q.restartIce?(this.candidatesEnded=!1,this.peerConn.restartIce()):(i.logger.info(`Hanging up call ${this.callId} (ICE failed and no ICE restart method)`),this.hangup(A.IceFailed,!1))}else((me=this.peerConn)===null||me===void 0?void 0:me.iceConnectionState)=="disconnected"&&(this.iceDisconnectedTimeout=setTimeout(()=>{i.logger.info(`Hanging up call ${this.callId} (ICE disconnected for too long)`),this.hangup(A.IceFailed,!1)},K),this.state=f.Connecting);if(this.isPtt&&["failed","disconnected"].includes(this.peerConn.iceConnectionState))for(const oe of this.getRemoteFeeds())oe.setAudioVideoMuted(!0,!0)}}),(0,t.default)(this,"onSignallingStateChanged",()=>{var T;i.logger.debug(`call ${this.callId}: Signalling state changed to: ${(T=this.peerConn)===null||T===void 0?void 0:T.signalingState}`)}),(0,t.default)(this,"onTrack",T=>{if(T.streams.length===0){i.logger.warn(`Call ${this.callId} Streamless ${T.track.kind} found: ignoring.`);return}const ee=T.streams[0];if(this.pushRemoteFeed(ee),!this.removeTrackListeners.has(ee)){const ne=()=>{ee.getTracks().length===0&&(i.logger.info(`Call ${this.callId} removing track streamId: ${ee.id}`),this.deleteFeedByStream(ee),ee.removeEventListener("removetrack",ne),this.removeTrackListeners.delete(ee))};ee.addEventListener("removetrack",ne),this.removeTrackListeners.set(ee,ne)}}),(0,t.default)(this,"onDataChannel",T=>{this.emit(D.DataChannel,T.channel)}),(0,t.default)(this,"onNegotiationNeeded",async()=>{if(i.logger.info(`Call ${this.callId} Negotiation is needed!`),this.state!==f.CreateOffer&&this.opponentVersion===0){i.logger.info(`Call ${this.callId} Opponent does not support renegotiation: ignoring negotiationneeded event`);return}this.queueGotLocalOffer()}),(0,t.default)(this,"onHangupReceived",T=>{i.logger.debug("Hangup received for call ID "+this.callId),this.partyIdMatches(T)||this.state===f.Ringing?this.terminate(I.Remote,T.reason||A.UserHangup,!0):i.logger.info(`Call ${this.callId} Ignoring message from party ID ${T.party_id}: our partner is ${this.opponentPartyId}`)}),(0,t.default)(this,"onRejectReceived",T=>{i.logger.debug("Reject received for call ID "+this.callId),[f.InviteSent,f.Ringing].includes(this.state)||this.state===f.Fledgling&&this.direction===w.Inbound?this.terminate(I.Remote,T.reason||A.UserHangup,!0):i.logger.debug(`Call ${this.callId} is in state: ${this.state}: ignoring reject`)}),(0,t.default)(this,"onAnsweredElsewhere",T=>{i.logger.debug("Call "+this.callId+" answered elsewhere"),this.terminate(I.Remote,A.AnsweredElsewhere,!0)}),this.roomId=C.roomId,this.invitee=C.invitee,this.client=C.client,!this.client.deviceId)throw new Error("Client must have a device ID to start calls");this.forceTURN=(N=C.forceTURN)!==null&&N!==void 0?N:!1,this.ourPartyId=this.client.deviceId,this.opponentDeviceId=C.opponentDeviceId,this.opponentSessionId=C.opponentSessionId,this.groupCallId=C.groupCallId,this.turnServers=C.turnServers||[],this.turnServers.length===0&&this.client.isFallbackICEServerAllowed()&&this.turnServers.push({urls:[F]});for(const T of this.turnServers)a.checkObjectHasKeys(T,["urls"]);this.callId=X()}async placeVoiceCall(){await this.placeCall(!0,!1)}async placeVideoCall(){await this.placeCall(!0,!0)}createDataChannel(C,N){const T=this.peerConn.createDataChannel(C,N);return this.emit(D.DataChannel,T),T}getOpponentMember(){return this.opponentMember}getOpponentDeviceId(){return this.opponentDeviceId}getOpponentSessionId(){return this.opponentSessionId}opponentCanBeTransferred(){return Boolean(this.opponentCaps&&this.opponentCaps["m.call.transferee"])}opponentSupportsDTMF(){return Boolean(this.opponentCaps&&this.opponentCaps["m.call.dtmf"])}getRemoteAssertedIdentity(){return this.remoteAssertedIdentity}get state(){return this._state}set state(C){const N=this._state;this._state=C,this.emit(D.State,C,N)}get type(){return this.hasLocalUserMediaVideoTrack||this.hasRemoteUserMediaVideoTrack?E.Video:E.Voice}get hasLocalUserMediaVideoTrack(){var C;return!!((C=this.localUsermediaStream)!==null&&C!==void 0&&C.getVideoTracks().length)}get hasRemoteUserMediaVideoTrack(){return this.getRemoteFeeds().some(C=>{var N;return C.purpose===u.SDPStreamMetadataPurpose.Usermedia&&((N=C.stream)===null||N===void 0?void 0:N.getVideoTracks().length)})}get hasLocalUserMediaAudioTrack(){var C;return!!((C=this.localUsermediaStream)!==null&&C!==void 0&&C.getAudioTracks().length)}get hasRemoteUserMediaAudioTrack(){return this.getRemoteFeeds().some(C=>{var N;return C.purpose===u.SDPStreamMetadataPurpose.Usermedia&&!!((N=C.stream)!==null&&N!==void 0&&N.getAudioTracks().length)})}get localUsermediaFeed(){return this.getLocalFeeds().find(C=>C.purpose===u.SDPStreamMetadataPurpose.Usermedia)}get localScreensharingFeed(){return this.getLocalFeeds().find(C=>C.purpose===u.SDPStreamMetadataPurpose.Screenshare)}get localUsermediaStream(){var C;return(C=this.localUsermediaFeed)===null||C===void 0?void 0:C.stream}get localScreensharingStream(){var C;return(C=this.localScreensharingFeed)===null||C===void 0?void 0:C.stream}get remoteUsermediaFeed(){return this.getRemoteFeeds().find(C=>C.purpose===u.SDPStreamMetadataPurpose.Usermedia)}get remoteScreensharingFeed(){return this.getRemoteFeeds().find(C=>C.purpose===u.SDPStreamMetadataPurpose.Screenshare)}get remoteUsermediaStream(){var C;return(C=this.remoteUsermediaFeed)===null||C===void 0?void 0:C.stream}get remoteScreensharingStream(){var C;return(C=this.remoteScreensharingFeed)===null||C===void 0?void 0:C.stream}getFeedByStreamId(C){return this.getFeeds().find(N=>N.stream.id===C)}getFeeds(){return this.feeds}getLocalFeeds(){return this.feeds.filter(C=>C.isLocal())}getRemoteFeeds(){return this.feeds.filter(C=>!C.isLocal())}async initOpponentCrypto(){var C;if(!this.opponentDeviceId||!this.client.getUseE2eForGroupCall())return;if(!this.client.isCryptoEnabled()){this.opponentDeviceInfo=new m.DeviceInfo(this.opponentDeviceId);return}if(!this.client.crypto)throw new Error("Crypto is not initialised.");const N=this.invitee||((C=this.getOpponentMember())===null||C===void 0?void 0:C.userId);if(!N)throw new Error("Couldn't find opponent user ID to init crypto");const T=await this.client.crypto.deviceList.downloadKeys([N],!1);if(this.opponentDeviceInfo=T[N][this.opponentDeviceId],this.opponentDeviceInfo===void 0)throw new g.GroupCallUnknownDeviceError(N)}getLocalSDPStreamMetadata(C=!1){const N={};for(const T of this.getLocalFeeds())C&&(T.sdpMetadataStreamId=T.stream.id),N[T.sdpMetadataStreamId]={purpose:T.purpose,audio_muted:T.isAudioMuted(),video_muted:T.isVideoMuted()};return N}noIncomingFeeds(){return!this.feeds.some(C=>!C.isLocal())}pushRemoteFeed(C){if(!this.opponentSupportsSDPStreamMetadata()){this.pushRemoteFeedWithoutMetadata(C);return}const N=this.getOpponentMember().userId,T=this.remoteSDPStreamMetadata[C.id].purpose,ee=this.remoteSDPStreamMetadata[C.id].audio_muted,ne=this.remoteSDPStreamMetadata[C.id].video_muted;if(!T){i.logger.warn(`Call ${this.callId} Ignoring stream with id ${C.id} because we didn't get any metadata about it`);return}if(this.getFeedByStreamId(C.id)){i.logger.warn(`Ignoring stream with id ${C.id} because we already have a feed for it`);return}this.feeds.push(new y.CallFeed({client:this.client,call:this,roomId:this.roomId,userId:N,deviceId:this.getOpponentDeviceId(),stream:C,purpose:T,audioMuted:ee,videoMuted:ne})),this.emit(D.FeedsChanged,this.feeds),i.logger.info(`Call ${this.callId} pushed remote stream (id="${C.id}", active="${C.active}", purpose=${T})`)}pushRemoteFeedWithoutMetadata(C){var N;const T=this.getOpponentMember().userId,ee=u.SDPStreamMetadataPurpose.Usermedia,ne=(N=this.feeds.find(se=>!se.isLocal()))===null||N===void 0?void 0:N.stream;if(ne&&C.id!==ne.id){i.logger.warn(`Call ${this.callId} Ignoring new stream ID ${C.id}: we already have stream ID ${ne.id}`);return}if(this.getFeedByStreamId(C.id)){i.logger.warn(`Ignoring stream with id ${C.id} because we already have a feed for it`);return}this.feeds.push(new y.CallFeed({client:this.client,call:this,roomId:this.roomId,audioMuted:!1,videoMuted:!1,userId:T,deviceId:this.getOpponentDeviceId(),stream:C,purpose:ee})),this.emit(D.FeedsChanged,this.feeds),i.logger.info(`Call ${this.callId} pushed remote stream (id="${C.id}", active="${C.active}")`)}pushNewLocalFeed(C,N,T=!0){const ee=this.client.getUserId();if(R(C.getAudioTracks(),!0),R(C.getVideoTracks(),!0),this.getFeedByStreamId(C.id)){i.logger.warn(`Ignoring stream with id ${C.id} because we already have a feed for it`);return}this.pushLocalFeed(new y.CallFeed({client:this.client,roomId:this.roomId,audioMuted:!1,videoMuted:!1,userId:ee,deviceId:this.getOpponentDeviceId(),stream:C,purpose:N}),T)}pushLocalFeed(C,N=!0){if(this.feeds.some(T=>C.stream.id===T.stream.id)){i.logger.info(`Ignoring duplicate local stream ${C.stream.id} in call ${this.callId}`);return}if(this.feeds.push(C),N)for(const T of C.stream.getTracks()){i.logger.info(`Call ${this.callId} Adding track (id="${T.id}", kind="${T.kind}", streamId="${C.stream.id}", streamPurpose="${C.purpose}", enabled=${T.enabled}) to peer connection`);const ee=j(C.purpose,T.kind);if(this.transceivers.has(ee)){const ne=this.transceivers.get(ee);ne.sender.setStreams&&ne.sender.setStreams(C.stream),ne.sender.replaceTrack(T),ne.direction=ne.direction==="inactive"?"sendonly":"sendrecv"}else{const ne=this.peerConn.addTrack(T,C.stream),se=this.peerConn.getTransceivers().find(me=>me.sender===ne);se?this.transceivers.set(ee,se):i.logger.warn("Didn't find a matching transceiver after adding track!")}}i.logger.info(`Call ${this.callId} Pushed local stream (id="${C.stream.id}", active="${C.stream.active}", purpose="${C.purpose}")`),this.emit(D.FeedsChanged,this.feeds)}removeLocalFeed(C){const N=j(C.purpose,"audio"),T=j(C.purpose,"video");for(const ee of[N,T])if(this.transceivers.has(ee)){const ne=this.transceivers.get(ee);ne.sender&&this.peerConn.removeTrack(ne.sender)}C.purpose===u.SDPStreamMetadataPurpose.Screenshare&&this.client.getMediaHandler().stopScreensharingStream(C.stream),this.deleteFeed(C)}deleteAllFeeds(){for(const C of this.feeds)(!C.isLocal()||!this.groupCallId)&&C.dispose();this.feeds=[],this.emit(D.FeedsChanged,this.feeds)}deleteFeedByStream(C){const N=this.getFeedByStreamId(C.id);if(!N){i.logger.warn(`Call ${this.callId} Didn't find the feed with stream id ${C.id} to delete`);return}this.deleteFeed(N)}deleteFeed(C){C.dispose(),this.feeds.splice(this.feeds.indexOf(C),1),this.emit(D.FeedsChanged,this.feeds)}async getCurrentCallStats(){return this.callHasEnded()?this.callStatsAtEnd:this.collectCallStats()}async collectCallStats(){if(!this.peerConn)return;const C=await this.peerConn.getStats(),N=[];return C.forEach(T=>{N.push(T)}),N}async initWithInvite(C){var N;const T=C.getContent();this.direction=w.Inbound,await this.client.checkTurnServers()||i.logger.warn(`Call ${this.callId} Failed to get TURN credentials! Proceeding with call anyway...`);const ne=T[u.SDPStreamMetadataKey];ne?this.updateRemoteSDPStreamMetadata(ne):i.logger.debug(`Call ${this.callId} did not get any SDPStreamMetadata! Can not send/receive multiple streams`),this.peerConn=this.createPeerConnection(),this.chooseOpponent(C),await this.initOpponentCrypto();try{await this.peerConn.setRemoteDescription(T.offer),await this.addBufferedIceCandidates()}catch(me){i.logger.debug(`Call ${this.callId} failed to set remote description`,me),this.terminate(I.Local,A.SetRemoteDescription,!1);return}const se=(N=this.feeds.find(me=>!me.isLocal()))===null||N===void 0?void 0:N.stream;if(!se||se.getTracks().length===0){i.logger.error(`Call ${this.callId} no remote stream or no tracks after setting remote description!`),this.terminate(I.Local,A.SetRemoteDescription,!1);return}if(this.state=f.Ringing,C.getLocalAge()){const me=setTimeout(()=>{this.state==f.Ringing&&(i.logger.debug(`Call ${this.callId} invite has expired. Hanging up.`),this.hangupParty=I.Remote,this.state=f.Ended,this.stopAllMedia(),this.peerConn.signalingState!="closed"&&this.peerConn.close(),this.emit(D.Hangup,this))},T.lifetime-C.getLocalAge()),q=oe=>{oe!==f.Ringing&&(clearTimeout(me),this.off(D.State,q))};this.on(D.State,q)}}initWithHangup(C){this.state=f.Ended}shouldAnswerWithMediaType(C,N,T){return C&&!N?(i.logger.warn(`Call ${this.callId} Unable to answer with ${T} because the other side isn't sending it either.`),!1):!a.isNullOrUndefined(C)&&C!==N&&!this.opponentSupportsSDPStreamMetadata()?(i.logger.warn(`Call ${this.callId} Unable to answer with ${T}=${C} because the other side doesn't support it. Answering with ${T}=${N}.`),N):C??N}async answer(C,N){if(!this.inviteOrAnswerSent){if(C===!1&&N===!1)throw new Error("You CANNOT answer a call without media");if(!this.localUsermediaStream&&!this.waitForLocalAVStream){const ee=this.state,ne=this.shouldAnswerWithMediaType(C,this.hasRemoteUserMediaAudioTrack,"audio"),se=this.shouldAnswerWithMediaType(N,this.hasRemoteUserMediaVideoTrack,"video");this.state=f.WaitLocalMedia,this.waitForLocalAVStream=!0;try{var T;const me=await this.client.getMediaHandler().getUserMediaStream(ne,se);this.waitForLocalAVStream=!1;const oe=[new y.CallFeed({client:this.client,roomId:this.roomId,userId:this.client.getUserId(),deviceId:(T=this.client.getDeviceId())!==null&&T!==void 0?T:void 0,stream:me,purpose:u.SDPStreamMetadataPurpose.Usermedia,audioMuted:!1,videoMuted:!1})];this.localScreensharingFeed&&oe.push(this.localScreensharingFeed),this.answerWithCallFeeds(oe)}catch(me){if(se)i.logger.warn(`Call ${this.callId} Failed to getUserMedia(), trying to getUserMedia() without video`),this.state=ee,this.waitForLocalAVStream=!1,await this.answer(ne,!1);else{this.getUserMediaFailed(me);return}}}else this.waitForLocalAVStream&&(this.state=f.WaitLocalMedia)}}answerWithCallFeeds(C){this.inviteOrAnswerSent||this.queueGotCallFeedsForAnswer(C)}replacedBy(C){i.logger.debug(`Call ${this.callId} replaced by ${C.callId}`),this.state===f.WaitLocalMedia?(i.logger.debug(`Call ${this.callId} telling new call ${C.callId} to wait for local media`),C.waitForLocalAVStream=!0):[f.CreateOffer,f.InviteSent].includes(this.state)&&(C.direction===w.Outbound?C.queueGotCallFeedsForAnswer([]):(i.logger.debug(`Call ${this.callId} handing local stream to new call ${C.callId}`),C.queueGotCallFeedsForAnswer(this.getLocalFeeds().map(N=>N.clone())))),this.successor=C,this.emit(D.Replaced,C),this.hangup(A.Replaced,!0)}hangup(C,N){if(this.callHasEnded()||(i.logger.debug(`Ending call ${this.callId} with reason ${C}`),this.terminate(I.Local,C,!N),[f.Fledgling,f.WaitLocalMedia].includes(this.state)))return;const T={};(this.opponentVersion&&this.opponentVersion!==0||C!==A.UserHangup)&&(T.reason=C),this.sendVoipEvent(o.EventType.CallHangup,T)}reject(){if(this.state!==f.Ringing)throw Error("Call must be in 'ringing' state to reject!");if(this.opponentVersion===0){i.logger.info(`Call ${this.callId} Opponent version is less than 1 (${this.opponentVersion}): sending hangup instead of reject`),this.hangup(A.UserHangup,!0);return}i.logger.debug("Rejecting call: "+this.callId),this.terminate(I.Local,A.UserHangup,!0),this.sendVoipEvent(o.EventType.CallReject,{})}async upgradeCall(C,N){if(!(!C&&!N)&&this.opponentSupportsSDPStreamMetadata())try{i.logger.debug(`Upgrading call ${this.callId}: audio?=${C} video?=${N}`);const T=C||this.hasLocalUserMediaAudioTrack,ee=N||this.hasLocalUserMediaVideoTrack,ne=await this.client.getMediaHandler().getUserMediaStream(T,ee,!1);await this.updateLocalUsermediaStream(ne,C,N)}catch(T){i.logger.error(`Call ${this.callId} Failed to upgrade the call`,T),this.emit(D.Error,new W(A.NoUserMedia,"Failed to get camera access: ",T))}}opponentSupportsSDPStreamMetadata(){return Boolean(this.remoteSDPStreamMetadata)}isScreensharing(){return Boolean(this.localScreensharingStream)}async setScreensharingEnabled(C,N){if(C&&this.isScreensharing())return i.logger.warn(`Call ${this.callId} There is already a screensharing stream - there is nothing to do!`),!0;if(!C&&!this.isScreensharing())return i.logger.warn(`Call ${this.callId} There already isn't a screensharing stream - there is nothing to do!`),!1;if(!this.opponentSupportsSDPStreamMetadata())return this.setScreensharingEnabledWithoutMetadataSupport(C,N);if(i.logger.debug(`Call ${this.callId} set screensharing enabled? ${C}`),C)try{const T=await this.client.getMediaHandler().getScreensharingStream(N);return T?(this.pushNewLocalFeed(T,u.SDPStreamMetadataPurpose.Screenshare),!0):!1}catch(T){return i.logger.error(`Call ${this.callId} Failed to get screen-sharing stream:`,T),!1}else{const T=this.transceivers.get(j(u.SDPStreamMetadataPurpose.Screenshare,"audio")),ee=this.transceivers.get(j(u.SDPStreamMetadataPurpose.Screenshare,"video"));for(const ne of[T,ee])ne&&ne.sender&&this.peerConn.removeTrack(ne.sender);return this.client.getMediaHandler().stopScreensharingStream(this.localScreensharingStream),this.deleteFeedByStream(this.localScreensharingStream),!1}}async setScreensharingEnabledWithoutMetadataSupport(C,N){if(i.logger.debug(`Call ${this.callId} Set screensharing enabled? ${C} using replaceTrack()`),C)try{var T;const se=await this.client.getMediaHandler().getScreensharingStream(N);if(!se)return!1;const me=se.getTracks().find(oe=>oe.kind==="video"),q=(T=this.transceivers.get(j(u.SDPStreamMetadataPurpose.Usermedia,"video")))===null||T===void 0?void 0:T.sender;return q==null||q.replaceTrack(me??null),this.pushNewLocalFeed(se,u.SDPStreamMetadataPurpose.Screenshare,!1),!0}catch(se){return i.logger.error(`Call ${this.callId} Failed to get screen-sharing stream:`,se),!1}else{var ee,ne;const se=(ee=this.localUsermediaStream)===null||ee===void 0?void 0:ee.getTracks().find(q=>q.kind==="video"),me=(ne=this.transceivers.get(j(u.SDPStreamMetadataPurpose.Usermedia,"video")))===null||ne===void 0?void 0:ne.sender;return me==null||me.replaceTrack(se??null),this.client.getMediaHandler().stopScreensharingStream(this.localScreensharingStream),this.deleteFeedByStream(this.localScreensharingStream),!1}}async updateLocalUsermediaStream(C,N=!1,T=!1){const ee=this.localUsermediaFeed,ne=N||!ee.isAudioMuted()&&!this.remoteOnHold,se=T||!ee.isVideoMuted()&&!this.remoteOnHold;i.logger.log(`call ${this.callId} updateLocalUsermediaStream stream ${C.id} audioEnabled ${ne} videoEnabled ${se}`),R(C.getAudioTracks(),ne),R(C.getVideoTracks(),se);for(const q of this.localUsermediaStream.getTracks())this.localUsermediaStream.removeTrack(q),q.stop();for(const q of C.getTracks())this.localUsermediaStream.addTrack(q);for(const q of C.getTracks()){var me;const oe=j(u.SDPStreamMetadataPurpose.Usermedia,q.kind),M=(me=this.transceivers.get(oe))===null||me===void 0?void 0:me.sender;let O=!1;if(M)try{i.logger.info(`Call ${this.callId} Replacing track (id="${q.id}", kind="${q.kind}", streamId="${C.id}", streamPurpose="${ee.purpose}") to peer connection`),await M.replaceTrack(q),O=!0}catch(z){i.logger.warn("replaceTrack failed: adding new transceiver instead",z)}if(!O){i.logger.info(`Call ${this.callId} Adding track (id="${q.id}", kind="${q.kind}", streamId="${C.id}", streamPurpose="${ee.purpose}") to peer connection`);const z=this.peerConn.addTrack(q,this.localUsermediaStream),J=this.peerConn.getTransceivers().find(re=>re.sender===z);J?this.transceivers.set(oe,J):i.logger.warn("Couldn't find matching transceiver for newly added track!")}}}async setLocalVideoMuted(C){var N;return i.logger.log(`call ${this.callId} setLocalVideoMuted ${C}`),await this.client.getMediaHandler().hasVideoDevice()?!this.hasLocalUserMediaVideoTrack&&!C?(await this.upgradeCall(!1,!0),this.isLocalVideoMuted()):((N=this.localUsermediaFeed)===null||N===void 0||N.setAudioVideoMuted(null,C),this.updateMuteStatus(),await this.sendMetadataUpdate(),this.isLocalVideoMuted()):this.isLocalVideoMuted()}isLocalVideoMuted(){var C,N;return(C=(N=this.localUsermediaFeed)===null||N===void 0?void 0:N.isVideoMuted())!==null&&C!==void 0?C:!1}async setMicrophoneMuted(C){var N;return i.logger.log(`call ${this.callId} setMicrophoneMuted ${C}`),await this.client.getMediaHandler().hasAudioDevice()?!this.hasLocalUserMediaAudioTrack&&!C?(await this.upgradeCall(!0,!1),this.isMicrophoneMuted()):((N=this.localUsermediaFeed)===null||N===void 0||N.setAudioVideoMuted(C,null),this.updateMuteStatus(),await this.sendMetadataUpdate(),this.isMicrophoneMuted()):this.isMicrophoneMuted()}isMicrophoneMuted(){var C,N;return(C=(N=this.localUsermediaFeed)===null||N===void 0?void 0:N.isAudioMuted())!==null&&C!==void 0?C:!1}isRemoteOnHold(){return this.remoteOnHold}setRemoteOnHold(C){if(this.isRemoteOnHold()!==C){this.remoteOnHold=C;for(const N of this.peerConn.getTransceivers())N.direction=C?"sendonly":"sendrecv";this.updateMuteStatus(),this.sendMetadataUpdate(),this.emit(D.RemoteHoldUnhold,this.remoteOnHold)}}isLocalOnHold(){if(this.state!==f.Connected)return!1;let C=!0;for(const N of this.peerConn.getTransceivers())["inactive","recvonly"].includes(N.currentDirection)||(C=!1);return C}sendDtmfDigit(C){for(const T of this.peerConn.getSenders()){var N;if(((N=T.track)===null||N===void 0?void 0:N.kind)==="audio"&&T.dtmf){T.dtmf.insertDTMF(C);return}}throw new Error("Unable to find a track to send DTMF on")}updateMuteStatus(){const C=this.isMicrophoneMuted()||this.remoteOnHold,N=this.isLocalVideoMuted()||this.remoteOnHold;i.logger.log(`call ${this.callId} updateMuteStatus stream ${this.localUsermediaStream.id} micShouldBeMuted ${C} vidShouldBeMuted ${N}`),R(this.localUsermediaStream.getAudioTracks(),!C),R(this.localUsermediaStream.getVideoTracks(),!N)}async sendMetadataUpdate(){await this.sendVoipEvent(o.EventType.CallSDPStreamMetadataChangedPrefix,{[u.SDPStreamMetadataKey]:this.getLocalSDPStreamMetadata()})}gotCallFeedsForInvite(C,N=!1){if(this.successor){this.successor.queueGotCallFeedsForAnswer(C);return}if(this.callHasEnded()){this.stopAllMedia();return}for(const T of C)this.pushLocalFeed(T);N&&this.peerConn.addTransceiver("video",{direction:"recvonly"}),this.state=f.CreateOffer,i.logger.debug(`Call ${this.callId} gotUserMediaForInvite`)}async sendAnswer(){const C={answer:{sdp:this.peerConn.localDescription.sdp,type:this.peerConn.localDescription.type},[u.SDPStreamMetadataKey]:this.getLocalSDPStreamMetadata(!0)};C.capabilities={"m.call.transferee":this.client.supportsCallTransfer,"m.call.dtmf":!1};const N=this.discardDuplicateCandidates();i.logger.info(`Call ${this.callId} Discarding ${N} candidates that will be sent in answer`);try{await this.sendVoipEvent(o.EventType.CallAnswer,C),this.inviteOrAnswerSent=!0}catch(T){this.state=f.Ringing,T instanceof S.MatrixError&&T.event&&this.client.cancelPendingEvent(T.event);let ee=A.SendAnswer,ne="Failed to send answer";throw T.name=="UnknownDeviceError"&&(ee=A.UnknownDevices,ne="Unknown devices present in the room"),this.emit(D.Error,new W(ee,ne,T)),T}this.sendCandidateQueue()}queueGotCallFeedsForAnswer(C){this.responsePromiseChain?this.responsePromiseChain=this.responsePromiseChain.then(()=>this.gotCallFeedsForAnswer(C)):this.responsePromiseChain=this.gotCallFeedsForAnswer(C)}mungeSdp(C,N){const T=(0,n.parse)(C.sdp);T.media.forEach(ee=>{const ne=new Map,se=new Map;for(const me of ee.rtp)ne.set(me.payload,me.codec),se.set(me.codec,me.payload);for(const me of N){if(me.mediaType!==ee.type)continue;if(!se.has(me.codec)){i.logger.info(`Ignoring SDP modifications for ${me.codec} as it's not present.`);continue}const q=[];me.enableDtx!==void 0&&q.push(`usedtx=${me.enableDtx?"1":"0"}`),me.maxAverageBitrate!==void 0&&q.push(`maxaveragebitrate=${me.maxAverageBitrate}`);let oe=!1;for(const M of ee.fmtp)ne.get(M.payload)===me.codec&&(oe=!0,M.config+=";"+q.join(";"));oe||ee.fmtp.push({payload:se.get(me.codec),config:q.join(";")})}}),C.sdp=(0,n.write)(T)}async createOffer(){const C=await this.peerConn.createOffer();return this.mungeSdp(C,G(this.isPtt)),C}async createAnswer(){const C=await this.peerConn.createAnswer();return this.mungeSdp(C,G(this.isPtt)),C}async gotCallFeedsForAnswer(C){if(this.callHasEnded())return;this.waitForLocalAVStream=!1;for(const T of C)this.pushLocalFeed(T);this.state=f.CreateAnswer;let N;try{this.getRidOfRTXCodecs(),N=await this.createAnswer()}catch(T){i.logger.debug(`Call ${this.callId} Failed to create answer: `,T),this.terminate(I.Local,A.CreateAnswer,!0);return}try{if(await this.peerConn.setLocalDescription(N),this.callHasEnded()||(this.state=f.Connecting,await new Promise(T=>{setTimeout(T,200)}),this.callHasEnded()))return;this.sendAnswer()}catch(T){i.logger.debug(`Call ${this.callId} Error setting local description!`,T),this.terminate(I.Local,A.SetLocalDescription,!0);return}}async onRemoteIceCandidatesReceived(C){if(this.callHasEnded())return;const N=C.getContent(),T=N.candidates;if(!T){i.logger.info(`Call ${this.callId} Ignoring candidates event with no candidates!`);return}const ee=N.version===0?null:N.party_id||null;if(this.opponentPartyId===void 0){if(ee){i.logger.info(`Call ${this.callId} Buffering ${T.length} candidates until we pick an opponent`);const ne=this.remoteCandidateBuffer.get(ee)||[];ne.push(...T),this.remoteCandidateBuffer.set(ee,ne)}return}if(!this.partyIdMatches(N)){i.logger.info(`Call ${this.callId} Ignoring candidates from party ID ${N.party_id}: we have chosen party ID ${this.opponentPartyId}`);return}await this.addIceCandidates(T)}async onAnswerReceived(C){const N=C.getContent();if(i.logger.debug(`Got answer for call ID ${this.callId} from party ID ${N.party_id}`),this.callHasEnded()){i.logger.debug(`Ignoring answer because call ID ${this.callId} has ended`);return}if(this.opponentPartyId!==void 0){i.logger.info(`Call ${this.callId} Ignoring answer from party ID ${N.party_id}: we already have an answer/reject from ${this.opponentPartyId}`);return}this.chooseOpponent(C),await this.addBufferedIceCandidates(),this.state=f.Connecting;const T=N[u.SDPStreamMetadataKey];T?this.updateRemoteSDPStreamMetadata(T):i.logger.warn(`Call ${this.callId} Did not get any SDPStreamMetadata! Can not send/receive multiple streams`);try{await this.peerConn.setRemoteDescription(N.answer)}catch(ee){i.logger.debug(`Call ${this.callId} Failed to set remote description`,ee),this.terminate(I.Local,A.SetRemoteDescription,!1);return}if(this.opponentPartyId!==null)try{await this.sendVoipEvent(o.EventType.CallSelectAnswer,{selected_party_id:this.opponentPartyId})}catch(ee){i.logger.warn(`Call ${this.callId} Failed to send select_answer event`,ee)}}async onSelectAnswerReceived(C){if(this.direction!==w.Inbound){i.logger.warn(`Call ${this.callId} Got select_answer for an outbound call: ignoring`);return}const N=C.getContent().selected_party_id;if(N==null){i.logger.warn(`Call ${this.callId} Got nonsensical select_answer with null/undefined selected_party_id: ignoring`);return}N!==this.ourPartyId&&(i.logger.info(`Call ${this.callId} Got select_answer for party ID ${N}: we are party ID ${this.ourPartyId}.`),await this.terminate(I.Remote,A.AnsweredElsewhere,!0))}async onNegotiateReceived(C){const N=C.getContent(),T=N.description;if(!T||!T.sdp||!T.type){i.logger.info(`Call ${this.callId} Ignoring invalid m.call.negotiate event`);return}const ee=this.direction===w.Inbound,ne=T.type==="offer"&&(this.makingOffer||this.peerConn.signalingState!=="stable");if(this.ignoreOffer=!ee&&ne,this.ignoreOffer){i.logger.info(`Call ${this.callId} Ignoring colliding negotiate event because we're impolite`);return}const se=this.isLocalOnHold(),me=N[u.SDPStreamMetadataKey];me?this.updateRemoteSDPStreamMetadata(me):i.logger.warn(`Call ${this.callId} Received negotiation event without SDPStreamMetadata!`);try{if(await this.peerConn.setRemoteDescription(T),T.type==="offer"){var q;let M;try{this.getRidOfRTXCodecs(),M=await this.createAnswer()}catch(O){i.logger.debug(`Call ${this.callId} Failed to create answer: `,O),this.terminate(I.Local,A.CreateAnswer,!0);return}await this.peerConn.setLocalDescription(M),this.sendVoipEvent(o.EventType.CallNegotiate,{description:(q=this.peerConn.localDescription)===null||q===void 0?void 0:q.toJSON(),[u.SDPStreamMetadataKey]:this.getLocalSDPStreamMetadata(!0)})}}catch(M){i.logger.warn(`Call ${this.callId} Failed to complete negotiation`,M)}const oe=this.isLocalOnHold();se!==oe&&(this.emit(D.LocalHoldUnhold,oe),this.emit(D.HoldUnhold,oe))}updateRemoteSDPStreamMetadata(C){this.remoteSDPStreamMetadata=a.recursivelyAssign(this.remoteSDPStreamMetadata||{},C,!0);for(const T of this.getRemoteFeeds()){var N;const ee=T.stream.id,ne=this.remoteSDPStreamMetadata[ee];T.setAudioVideoMuted(ne==null?void 0:ne.audio_muted,ne==null?void 0:ne.video_muted),T.purpose=(N=this.remoteSDPStreamMetadata[ee])===null||N===void 0?void 0:N.purpose}}onSDPStreamMetadataChangedReceived(C){const T=C.getContent()[u.SDPStreamMetadataKey];this.updateRemoteSDPStreamMetadata(T)}async onAssertedIdentityReceived(C){const N=C.getContent();N.asserted_identity&&(this.remoteAssertedIdentity={id:N.asserted_identity.id,displayName:N.asserted_identity.display_name},this.emit(D.AssertedIdentityChanged))}callHasEnded(){return this.state===f.Ended}queueGotLocalOffer(){this.responsePromiseChain?this.responsePromiseChain=this.responsePromiseChain.then(()=>this.wrappedGotLocalOffer()):this.responsePromiseChain=this.wrappedGotLocalOffer()}async wrappedGotLocalOffer(){this.makingOffer=!0;try{await this.gotLocalOffer()}catch(C){this.getLocalOfferFailed(C);return}finally{this.makingOffer=!1}}async gotLocalOffer(){if(i.logger.debug(`Call ${this.callId} Setting local description`),this.callHasEnded()){i.logger.debug("Ignoring newly created offer on call ID "+this.callId+" because the call has ended");return}let C;try{this.getRidOfRTXCodecs(),C=await this.createOffer()}catch(me){i.logger.debug(`Call ${this.callId} Failed to create offer: `,me),this.terminate(I.Local,A.CreateOffer,!0);return}try{await this.peerConn.setLocalDescription(C)}catch(me){i.logger.debug(`Call ${this.callId} Error setting local description!`,me),this.terminate(I.Local,A.SetLocalDescription,!0);return}if(this.peerConn.iceGatheringState==="gathering"&&await new Promise(me=>{setTimeout(me,200)}),this.callHasEnded())return;const N=this.state===f.CreateOffer?o.EventType.CallInvite:o.EventType.CallNegotiate,T={lifetime:x};if(N===o.EventType.CallInvite&&this.invitee&&(T.invitee=this.invitee),this.state===f.CreateOffer){var ee;T.offer=(ee=this.peerConn.localDescription)===null||ee===void 0?void 0:ee.toJSON()}else{var ne;T.description=(ne=this.peerConn.localDescription)===null||ne===void 0?void 0:ne.toJSON()}T.capabilities={"m.call.transferee":this.client.supportsCallTransfer,"m.call.dtmf":!1},T[u.SDPStreamMetadataKey]=this.getLocalSDPStreamMetadata(!0);const se=this.discardDuplicateCandidates();i.logger.info(`Call ${this.callId} Discarding ${se} candidates that will be sent in offer`);try{await this.sendVoipEvent(N,T)}catch(me){i.logger.error(`Call ${this.callId} Failed to send invite`,me),me instanceof S.MatrixError&&me.event&&this.client.cancelPendingEvent(me.event);let q=A.SignallingFailed,oe="Signalling failed";this.state===f.CreateOffer&&(q=A.SendInvite,oe="Failed to send invite"),me.name=="UnknownDeviceError"&&(q=A.UnknownDevices,oe="Unknown devices present in the room"),this.emit(D.Error,new W(q,oe,me)),this.terminate(I.Local,q,!1);return}this.sendCandidateQueue(),this.state===f.CreateOffer&&(this.inviteOrAnswerSent=!0,this.state=f.InviteSent,this.inviteTimeout=setTimeout(()=>{this.inviteTimeout=void 0,this.state===f.InviteSent&&this.hangup(A.InviteTimeout,!1)},x))}getRidOfRTXCodecs(){if(!RTCRtpReceiver.getCapabilities||!RTCRtpSender.getCapabilities)return;const C=RTCRtpReceiver.getCapabilities("video").codecs,T=[...RTCRtpSender.getCapabilities("video").codecs,...C];for(const ne of T)if(ne.mimeType==="video/rtx"){const se=T.indexOf(ne);T.splice(se,1)}const ee=this.transceivers.get(j(u.SDPStreamMetadataPurpose.Screenshare,"video"));ee&&ee.setCodecPreferences(T)}async sendVoipEvent(C,N){const T=Object.assign({},N,{version:L,call_id:this.callId,party_id:this.ourPartyId,conf_id:this.groupCallId});if(this.opponentDeviceId){var ee;const se=this.toDeviceSeq++,me=d(d({},T),{},{device_id:this.client.deviceId,sender_session_id:this.client.getSessionId(),dest_session_id:this.opponentSessionId,seq:se,[o.ToDeviceMessageId]:(0,r.v4)()});this.emit(D.SendVoipEvent,{type:"toDevice",eventType:C,userId:this.invitee||((ee=this.getOpponentMember())===null||ee===void 0?void 0:ee.userId),opponentDeviceId:this.opponentDeviceId,content:me});const q=this.invitee||this.getOpponentMember().userId;this.client.getUseE2eForGroupCall()?await this.client.encryptAndSendToDevices([{userId:q,deviceInfo:this.opponentDeviceInfo}],{type:C,content:me}):await this.client.sendToDevice(C,{[q]:{[this.opponentDeviceId]:me}})}else{var ne;this.emit(D.SendVoipEvent,{type:"sendEvent",eventType:C,roomId:this.roomId,content:T,userId:this.invitee||((ne=this.getOpponentMember())===null||ne===void 0?void 0:ne.userId)}),await this.client.sendEvent(this.roomId,C,T)}}queueCandidate(C){if(C?this.candidateSendQueue.push(C):this.candidatesEnded=!0,this.state===f.Ringing||!this.inviteOrAnswerSent)return;const N=this.direction===w.Inbound?500:2e3;this.candidateSendTries===0&&setTimeout(()=>{this.sendCandidateQueue()},N)}discardDuplicateCandidates(){let C=0;const N=[];for(let T=0;T<this.candidateSendQueue.length;T++){const ee=this.candidateSendQueue[T];ee.candidate===""?N.push(ee):C++}return this.candidateSendQueue=N,C}async transfer(C){const N=await this.client.getProfileInfo(C),T=X(),ee={replacement_id:X(),target_user:{id:C,display_name:N.displayname,avatar_url:N.avatar_url},create_call:T};await this.sendVoipEvent(o.EventType.CallReplaces,ee),await this.terminate(I.Local,A.Transfered,!0)}async transferToCall(C){var N,T;const ee=(N=C.getOpponentMember())===null||N===void 0?void 0:N.userId,ne=ee?await this.client.getProfileInfo(ee):void 0,se=(T=this.getOpponentMember())===null||T===void 0?void 0:T.userId,me=se?await this.client.getProfileInfo(se):void 0,q=X(),oe={replacement_id:X(),target_user:{id:se,display_name:me==null?void 0:me.displayname,avatar_url:me==null?void 0:me.avatar_url},await_call:q};await C.sendVoipEvent(o.EventType.CallReplaces,oe);const M={replacement_id:X(),target_user:{id:ee,display_name:ne==null?void 0:ne.displayname,avatar_url:ne==null?void 0:ne.avatar_url},create_call:q};await this.sendVoipEvent(o.EventType.CallReplaces,M),await this.terminate(I.Local,A.Transfered,!0),await C.terminate(I.Local,A.Transfered,!0)}async terminate(C,N,T){if(!this.callHasEnded()){this.hangupParty=C,this.hangupReason=N,this.state=f.Ended,this.inviteTimeout&&(clearTimeout(this.inviteTimeout),this.inviteTimeout=void 0),this.callLengthInterval&&(clearInterval(this.callLengthInterval),this.callLengthInterval=void 0);for(const[ee,ne]of this.removeTrackListeners)ee.removeEventListener("removetrack",ne);this.removeTrackListeners.clear(),this.callStatsAtEnd=await this.collectCallStats(),this.stopAllMedia(),this.deleteAllFeeds(),this.peerConn&&this.peerConn.signalingState!=="closed"&&this.peerConn.close(),T&&this.emit(D.Hangup,this),this.client.callEventHandler.calls.delete(this.callId)}}stopAllMedia(){i.logger.debug(this.groupCallId?`Call ${this.callId} stopping all media except local feeds`:`Call ${this.callId} stopping all media`);for(const C of this.feeds)if(C.isLocal()&&C.purpose===u.SDPStreamMetadataPurpose.Usermedia&&!this.groupCallId)this.client.getMediaHandler().stopUserMediaStream(C.stream);else if(C.isLocal()&&C.purpose===u.SDPStreamMetadataPurpose.Screenshare&&!this.groupCallId)this.client.getMediaHandler().stopScreensharingStream(C.stream);else if(!C.isLocal()||!this.groupCallId){i.logger.debug("Stopping remote stream",C.stream.id);for(const N of C.stream.getTracks())N.stop()}}checkForErrorListener(){if(this.listeners(s.EventEmitterEvents.Error).length===0)throw new Error("You MUST attach an error listener using call.on('error', function() {})")}async sendCandidateQueue(){if(this.candidateSendQueue.length===0||this.callHasEnded())return;const C=this.candidateSendQueue;this.candidateSendQueue=[],++this.candidateSendTries;const N={candidates:C.map(T=>T.toJSON())};this.candidatesEnded&&N.candidates.push({candidate:""}),i.logger.debug(`Call ${this.callId} attempting to send ${C.length} candidates`);try{await this.sendVoipEvent(o.EventType.CallCandidates,N),this.candidateSendTries=0,this.sendCandidateQueue()}catch(T){if(T instanceof S.MatrixError&&T.event&&this.client.cancelPendingEvent(T.event),this.candidateSendQueue.push(...C),this.candidateSendTries>5){i.logger.debug(`Call ${this.callId} failed to send candidates on attempt ${this.candidateSendTries}. Giving up on this call.`,T);const ne=A.SignallingFailed,se="Signalling failed";this.emit(D.Error,new W(ne,se,T)),this.hangup(ne,!1);return}const ee=500*Math.pow(2,this.candidateSendTries);++this.candidateSendTries,i.logger.debug(`Call ${this.callId} failed to send candidates. Retrying in ${ee}ms`,T),setTimeout(()=>{this.sendCandidateQueue()},ee)}}async placeCall(C,N){if(!C)throw new Error("You CANNOT start a call without audio");this.state=f.WaitLocalMedia;try{var T;const ee=await this.client.getMediaHandler().getUserMediaStream(C,N);R(ee.getAudioTracks(),!0),R(ee.getVideoTracks(),!0);const ne=new y.CallFeed({client:this.client,roomId:this.roomId,userId:this.client.getUserId(),deviceId:(T=this.client.getDeviceId())!==null&&T!==void 0?T:void 0,stream:ee,purpose:u.SDPStreamMetadataPurpose.Usermedia,audioMuted:!1,videoMuted:!1});await this.placeCallWithCallFeeds([ne])}catch(ee){this.getUserMediaFailed(ee);return}}async placeCallWithCallFeeds(C,N=!1){this.checkForErrorListener(),this.direction=w.Outbound,await this.initOpponentCrypto(),this.client.callEventHandler.calls.set(this.callId,this),await this.client.checkTurnServers()||i.logger.warn(`Call ${this.callId} Failed to get TURN credentials! Proceeding with call anyway...`),this.peerConn=this.createPeerConnection(),this.gotCallFeedsForInvite(C,N)}createPeerConnection(){const C=new window.RTCPeerConnection({iceTransportPolicy:this.forceTURN?"relay":void 0,iceServers:this.turnServers,iceCandidatePoolSize:this.client.iceCandidatePoolSize,bundlePolicy:"max-bundle"});return C.addEventListener("iceconnectionstatechange",this.onIceConnectionStateChanged),C.addEventListener("signalingstatechange",this.onSignallingStateChanged),C.addEventListener("icecandidate",this.gotLocalIceCandidate),C.addEventListener("icegatheringstatechange",this.onIceGatheringStateChange),C.addEventListener("track",this.onTrack),C.addEventListener("negotiationneeded",this.onNegotiationNeeded),C.addEventListener("datachannel",this.onDataChannel),C}partyIdMatches(C){return(C.version===0?null:C.party_id||null)===this.opponentPartyId}chooseOpponent(C){var N;const T=C.getContent();i.logger.debug(`Call ${this.callId} choosing opponent party ID ${T.party_id}`),this.opponentVersion=T.version,this.opponentVersion===0?this.opponentPartyId=null:this.opponentPartyId=T.party_id||null,this.opponentCaps=T.capabilities||{},this.opponentMember=(N=this.client.getRoom(this.roomId).getMember(C.getSender()))!==null&&N!==void 0?N:void 0}async addBufferedIceCandidates(){const C=this.remoteCandidateBuffer.get(this.opponentPartyId);C&&(i.logger.info(`Call ${this.callId} Adding ${C.length} buffered candidates for opponent ${this.opponentPartyId}`),await this.addIceCandidates(C)),this.remoteCandidateBuffer.clear()}async addIceCandidates(C){for(const N of C){(N.sdpMid===null||N.sdpMid===void 0)&&(N.sdpMLineIndex===null||N.sdpMLineIndex===void 0)?i.logger.debug(`Call ${this.callId} got remote ICE end-of-candidates`):i.logger.debug(`Call ${this.callId} got remote ICE ${N.sdpMid} candidate: ${N.candidate}`);try{await this.peerConn.addIceCandidate(N)}catch(T){this.ignoreOffer||i.logger.info(`Call ${this.callId} failed to add remote ICE candidate`,T)}}}get hasPeerConnection(){return Boolean(this.peerConn)}}at.MatrixCall=Y;function R($,C){for(const N of $)N.enabled=C}function k(){if(typeof window>"u"||typeof document>"u")return!1;try{if(!Boolean(window.RTCPeerConnection||window.RTCSessionDescription||window.RTCIceCandidate||navigator.mediaDevices))return i.logger.error("WebRTC is not supported in this browser / environment"),!1}catch($){return i.logger.error("Exception thrown when trying to access WebRTC",$),!1}return!0}function B($,C,N){if(!k())return null;const T=N?N.forceTURN:!1,ee={client:$,roomId:C,invitee:N==null?void 0:N.invitee,turnServers:$.getTurnServers(),forceTURN:$.forceTURN||T,opponentDeviceId:N==null?void 0:N.opponentDeviceId,opponentSessionId:N==null?void 0:N.opponentSessionId,groupCallId:N==null?void 0:N.groupCallId},ne=new Y(ee);return $.reEmitter.reEmit(ne,Object.values(D)),ne}return at}var va={},sB=Ae;Object.defineProperty(va,"__esModule",{value:!0});va.AutoDiscoveryAction=va.AutoDiscovery=void 0;var vr=sB(Ue),$n=Ge(),N3=kn;let ur;va.AutoDiscoveryAction=ur;(function(e){e.SUCCESS="SUCCESS",e.IGNORE="IGNORE",e.PROMPT="PROMPT",e.FAIL_PROMPT="FAIL_PROMPT",e.FAIL_ERROR="FAIL_ERROR"})(ur||(va.AutoDiscoveryAction=ur={}));var tn;(function(e){e.Invalid="Invalid homeserver discovery response",e.GenericFailure="Failed to get autodiscovery configuration from server",e.InvalidHsBaseUrl="Invalid base_url for m.homeserver",e.InvalidHomeserver="Homeserver URL does not appear to be a valid Matrix homeserver",e.InvalidIsBaseUrl="Invalid base_url for m.identity_server",e.InvalidIdentityServer="Identity server URL does not appear to be a valid identity server",e.InvalidIs="Invalid identity server discovery response",e.MissingWellknown="No .well-known JSON file found",e.InvalidJson="Invalid JSON"})(tn||(tn={}));class Qe{static async fromDiscoveryConfig(t){var r;const n={"m.homeserver":{state:Qe.FAIL_ERROR,error:Qe.ERROR_INVALID,base_url:null},"m.identity_server":{state:Qe.PROMPT,error:null,base_url:null}};if(!t||!t["m.homeserver"])return $n.logger.error("No m.homeserver key in config"),n["m.homeserver"].state=Qe.FAIL_PROMPT,n["m.homeserver"].error=Qe.ERROR_INVALID,Promise.resolve(n);if(!t["m.homeserver"].base_url)return $n.logger.error("No m.homeserver base_url in config"),n["m.homeserver"].state=Qe.FAIL_PROMPT,n["m.homeserver"].error=Qe.ERROR_INVALID_HS_BASE_URL,Promise.resolve(n);const i=this.sanitizeWellKnownUrl(t["m.homeserver"].base_url);if(!i)return $n.logger.error("Invalid base_url for m.homeserver"),n["m.homeserver"].error=Qe.ERROR_INVALID_HS_BASE_URL,Promise.resolve(n);const a=await this.fetchWellKnownObject(`${i}/_matrix/client/versions`);if(!a||!((r=a.raw)!==null&&r!==void 0&&r.versions))return $n.logger.error("Invalid /versions response"),n["m.homeserver"].error=Qe.ERROR_INVALID_HOMESERVER,n["m.homeserver"].base_url=i,Promise.resolve(n);n["m.homeserver"]={state:Qe.SUCCESS,error:null,base_url:i};let o="";if(t["m.identity_server"]){const p={"m.homeserver":n["m.homeserver"],"m.identity_server":{state:Qe.FAIL_PROMPT,error:Qe.ERROR_INVALID_IS,base_url:null}};if(o=this.sanitizeWellKnownUrl(t["m.identity_server"].base_url),!o)return $n.logger.error("Invalid base_url for m.identity_server"),p["m.identity_server"].error=Qe.ERROR_INVALID_IS_BASE_URL,Promise.resolve(p);const u=await this.fetchWellKnownObject(`${o}/_matrix/identity/api/v1`);if(!(u!=null&&u.raw)||u.action!==ur.SUCCESS)return $n.logger.error("Invalid /api/v1 response"),p["m.identity_server"].error=Qe.ERROR_INVALID_IDENTITY_SERVER,p["m.identity_server"].base_url=o,Promise.resolve(p)}return o&&o.toString().length>0&&(n["m.identity_server"]={state:Qe.SUCCESS,error:null,base_url:o}),Object.keys(t).forEach(p=>{if(p==="m.homeserver"||p==="m.identity_server"){const u=["error","state","base_url"];for(const y of Object.keys(t[p]))u.includes(y)||(n[p][y]=t[p][y])}else n[p]=t[p]}),Promise.resolve(n)}static async findClientConfig(t){if(!t||typeof t!="string"||t.length===0)throw new Error("'domain' must be a string of non-zero length");const r={"m.homeserver":{state:Qe.FAIL_ERROR,error:Qe.ERROR_INVALID,base_url:null},"m.identity_server":{state:Qe.PROMPT,error:null,base_url:null}},n=await this.fetchWellKnownObject(`https://${t}/.well-known/matrix/client`);return!n||n.action!==ur.SUCCESS?($n.logger.error("No response or error when parsing .well-known"),n.reason&&$n.logger.error(n.reason),n.action===ur.IGNORE?r["m.homeserver"]={state:Qe.PROMPT,error:null,base_url:null}:(r["m.homeserver"].state=Qe.FAIL_PROMPT,r["m.homeserver"].error=Qe.ERROR_INVALID),Promise.resolve(r)):Qe.fromDiscoveryConfig(n.raw)}static async getRawClientConfig(t){if(!t||typeof t!="string"||t.length===0)throw new Error("'domain' must be a string of non-zero length");const r=await this.fetchWellKnownObject(`https://${t}/.well-known/matrix/client`);return r?r.raw||{}:{}}static sanitizeWellKnownUrl(t){if(!t)return!1;try{var r;let n;try{n=new URL(t)}catch(p){$n.logger.error("Could not parse url",p)}if(!((r=n)!==null&&r!==void 0&&r.hostname)||n.protocol!=="http:"&&n.protocol!=="https:")return!1;const i=n.port?`:${n.port}`:"",a=n.pathname?n.pathname:"";let o=`${n.protocol}//${n.hostname}${i}${a}`;return o.endsWith("/")&&(o=o.substring(0,o.length-1)),o}catch(n){return $n.logger.error(n),!1}}static fetch(t,r){return this.fetchFn?this.fetchFn(t,r):$e.fetch(t,r)}static setFetchFn(t){Qe.fetchFn=t}static async fetchWellKnownObject(t){let r;try{if(r=await Qe.fetch(t,{method:N3.Method.Get,signal:(0,N3.timeoutSignal)(5e3)}),r.status===404)return{raw:{},action:ur.IGNORE,reason:Qe.ERROR_MISSING_WELLKNOWN};if(!r.ok)return{raw:{},action:ur.FAIL_PROMPT,reason:"General failure"}}catch(n){const i=n;let a="";return typeof i=="object"&&(a=i==null?void 0:i.message),{error:i,raw:{},action:ur.FAIL_PROMPT,reason:a||"General failure"}}try{return{raw:await r.json(),action:ur.SUCCESS}}catch(n){const i=n;return{error:i,raw:{},action:ur.FAIL_PROMPT,reason:(i==null?void 0:i.name)==="SyntaxError"?Qe.ERROR_INVALID_JSON:Qe.ERROR_INVALID}}}}va.AutoDiscovery=Qe;(0,vr.default)(Qe,"ERROR_INVALID",tn.Invalid);(0,vr.default)(Qe,"ERROR_GENERIC_FAILURE",tn.GenericFailure);(0,vr.default)(Qe,"ERROR_INVALID_HS_BASE_URL",tn.InvalidHsBaseUrl);(0,vr.default)(Qe,"ERROR_INVALID_HOMESERVER",tn.InvalidHomeserver);(0,vr.default)(Qe,"ERROR_INVALID_IS_BASE_URL",tn.InvalidIsBaseUrl);(0,vr.default)(Qe,"ERROR_INVALID_IDENTITY_SERVER",tn.InvalidIdentityServer);(0,vr.default)(Qe,"ERROR_INVALID_IS",tn.InvalidIs);(0,vr.default)(Qe,"ERROR_MISSING_WELLKNOWN",tn.MissingWellknown);(0,vr.default)(Qe,"ERROR_INVALID_JSON",tn.InvalidJson);(0,vr.default)(Qe,"ALL_ERRORS",Object.keys(tn));(0,vr.default)(Qe,"FAIL_ERROR",ur.FAIL_ERROR);(0,vr.default)(Qe,"FAIL_PROMPT",ur.FAIL_PROMPT);(0,vr.default)(Qe,"PROMPT",ur.PROMPT);(0,vr.default)(Qe,"SUCCESS",ur.SUCCESS);(0,vr.default)(Qe,"fetchFn",void 0);var ct={},rh,L3;function v1(){if(L3)return rh;L3=1;for(var e=/[\\\"\x00-\x1F]/g,t={},r=0;r<32;++r)t[String.fromCharCode(r)]="\\U"+("0000"+r.toString(16)).slice(-4).toUpperCase();t["\b"]="\\b",t[" "]="\\t",t[` +`]="\\n",t["\f"]="\\f",t["\r"]="\\r",t['"']='\\"',t["\\"]="\\\\";function n(p){return e.lastIndex=0,p.replace(e,function(u){return t[u]})}function i(p){switch(typeof p){case"string":return'"'+n(p)+'"';case"number":return isFinite(p)?p:"null";case"boolean":return p;case"object":return p===null?"null":Array.isArray(p)?a(p):o(p);default:throw new Error("Cannot stringify: "+typeof p)}}function a(p){for(var u="[",y="",s=0;s<p.length;++s)y+=u,u=",",y+=i(p[s]);return u!=","?"[]":y+"]"}function o(p){var u="{",y="",s=Object.keys(p);s.sort();for(var m=0;m<s.length;++m){var g=s[m];y+=u+'"'+n(g)+'":',u=",",y+=i(p[g])}return u!=","?"{}":y+"}"}return rh={stringify:i},rh}var GE=Ae;Object.defineProperty(ct,"__esModule",{value:!0});ct.OLM_ALGORITHM=ct.MEGOLM_BACKUP_ALGORITHM=fB=ct.MEGOLM_ALGORITHM=void 0;ct.decodeBase64=bB;ct.encodeBase64=YE;ct.encodeUnpaddedBase64=wB;ct.encryptMessageForDevice=mB;ct.ensureOlmSessionsForDevices=gB;ct.getExistingOlmSessions=vB;ct.isOlmEncrypted=EB;ct.pkSign=_B;ct.pkVerify=SB;ct.verifySignature=zE;var lB=GE(Ue),U0=GE(v1()),ca=Ge(),dB=xe;function x3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function uB(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?x3(Object(r),!0).forEach(function(n){(0,lB.default)(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):x3(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var qd;(function(e){e.Olm="m.olm.v1.curve25519-aes-sha2",e.Megolm="m.megolm.v1.aes-sha2",e.MegolmBackup="m.megolm_backup.v1.curve25519-aes-sha2"})(qd||(qd={}));const cB=qd.Olm;ct.OLM_ALGORITHM=cB;const pB=qd.Megolm;var fB=ct.MEGOLM_ALGORITHM=pB;const hB=qd.MegolmBackup;ct.MEGOLM_BACKUP_ALGORITHM=hB;async function mB(e,t,r,n,i,a,o){const p=a.getIdentityKey(),u=await n.getSessionIdForDevice(p);if(u===null){ca.logger.log(`[olmlib.encryptMessageForDevice] Unable to find Olm session for device ${i}:${a.deviceId}`);return}ca.logger.log(`[olmlib.encryptMessageForDevice] Using Olm session ${u} for device ${i}:${a.deviceId}`);const y=uB({sender:t,sender_device:r,keys:{ed25519:n.deviceEd25519Key},recipient:i,recipient_keys:{ed25519:a.getFingerprint()}},o);e[p]=await n.encryptMessage(p,u,JSON.stringify(y))}async function vB(e,t,r){const n={},i={},a=[];for(const[o,p]of Object.entries(r))for(const u of p){const y=u.deviceId,s=u.getIdentityKey();a.push((async()=>{const m=await e.getSessionIdForDevice(s,!0);m===null?(n[o]=n[o]||[],n[o].push(u)):(i[o]=i[o]||{},i[o][y]={device:u,sessionId:m})})())}return await Promise.all(a),[n,i]}async function gB(e,t,r,n=!1,i,a,o=ca.logger){const p=[],u={},y={};for(const[,h]of Object.entries(r))for(const _ of h){const d=_.getIdentityKey();d!==e.deviceCurve25519Key&&(e.sessionsInProgress[d]||(e.sessionsInProgress[d]=new Promise(l=>{y[d]=c=>{delete e.sessionsInProgress[d],l(c)}})))}for(const[h,_]of Object.entries(r)){u[h]={};for(const d of _){const l=d.deviceId,c=d.getIdentityKey();if(c===e.deviceCurve25519Key){o.info("Attempted to start session with ourself! Ignoring"),u[h][l]={device:d,sessionId:null};continue}const f=`for ${c} (${h}:${l})`,E=await e.getSessionIdForDevice(c,!!y[c],o);E!==null&&y[c]&&y[c](),(E===null||n)&&(n?o.info(`Forcing new Olm session ${f}`):o.info(`Making new Olm session ${f}`),p.push([h,l])),u[h][l]={device:d,sessionId:E}}}if(p.length===0)return u;const s="signed_curve25519";let m,g=`one-time keys for ${p.length} devices`;try{o.debug(`Claiming ${g}`),m=await t.claimOneTimeKeys(p,s,i),o.debug(`Claimed ${g}`)}catch(h){for(const _ of Object.values(y))_();throw o.log(`Failed to claim ${g}`,h,p),h}a&&"failures"in m&&a.push(...Object.keys(m.failures));const S=m.one_time_keys||{},v=[];for(const[h,_]of Object.entries(r)){const d=S[h]||{};for(const l of _){const c=l.deviceId,f=l.getIdentityKey();if(f===e.deviceCurve25519Key||u[h][c].sessionId&&!n)continue;const E=d[c]||{};let w=null;for(const I in E)I.indexOf(s+":")===0&&(w=E[I]);if(!w){o.warn(`No one-time keys (alg=${s}) for device ${h}:${c}`),y[f]&&y[f]();continue}v.push(yB(e,w,h,l).then(I=>{y[f]&&y[f](I??void 0),u[h][c].sessionId=I},I=>{throw y[f]&&y[f](),I}))}}return g=`Olm sessions for ${v.length} devices`,o.debug(`Starting ${g}`),await Promise.all(v),o.debug(`Started ${g}`),u}async function yB(e,t,r,n){const i=n.deviceId;try{await zE(e,t,r,i,n.getFingerprint())}catch(o){return ca.logger.error("Unable to verify signature on one-time key for device "+r+":"+i+":",o),null}let a;try{a=await e.createOutboundSession(n.getIdentityKey(),t.key)}catch(o){return ca.logger.error("Error starting olm session with device "+r+":"+i+": "+o),null}return ca.logger.log("Started new olm sessionid "+a+" for device "+r+":"+i),a}async function zE(e,t,r,n,i){const a="ed25519:"+n,u=((t.signatures||{})[r]||{})[a];if(!u)throw Error("No signature");const y=Object.assign({},t);"unsigned"in y&&delete y.unsigned,delete y.signatures;const s=U0.default.stringify(y);e.verifySignature(i,s,u)}function _B(e,t,r,n){let i=!1;if(t instanceof Uint8Array){const p=new $e.Olm.PkSigning;n=p.init_with_seed(t),t=p,i=!0}const a=e.signatures||{};delete e.signatures;const o=e.unsigned;e.unsigned&&delete e.unsigned;try{const p=a[r]||{};return a[r]=p,p["ed25519:"+n]=t.sign(U0.default.stringify(e))}finally{e.signatures=a,o&&(e.unsigned=o),i&&t.free()}}function SB(e,t,r){const n="ed25519:"+t;if(!(e.signatures&&e.signatures[r]&&e.signatures[r][n]))throw new Error("No signature");const i=e.signatures[r][n],a=new $e.Olm.Utility,o=e.signatures;delete e.signatures;const p=e.unsigned;e.unsigned&&delete e.unsigned;try{a.ed25519_verify(t,U0.default.stringify(e),i)}finally{e.signatures=o,p&&(e.unsigned=p),a.free()}}function EB(e){return e.getSenderKey()?e.getWireType()!==dB.EventType.RoomMessageEncrypted||!["m.olm.v1.curve25519-aes-sha2"].includes(e.getWireContent().algorithm)?(ca.logger.error("Event was not encrypted using an appropriate algorithm"),!1):!0:(ca.logger.error("Event has no sender key (not encrypted?)"),!1)}function YE(e){return Buffer.from(e).toString("base64")}function wB(e){return YE(e).replace(/=+$/g,"")}function bB(e){return Buffer.from(e,"base64")}var Rl={},sn={},Il={},U3;function TB(){if(U3)return Il;U3=1,Object.defineProperty(Il,"__esModule",{value:!0}),Il.LocalStorageCryptoStore=void 0;var e=Ge(),t=Bs;const r="crypto.",n=r+"account",i=r+"cross_signing_keys",a=r+"notified_error_devices",o=r+"device_data",p=r+"inboundgroupsessions/",u=r+"inboundgroupsessions.withheld/",y=r+"rooms/",s=r+"sessionsneedingbackup";function m(c){return r+"sessions/"+c}function g(c){return r+"session.problems/"+c}function S(c,f){return p+c+"/"+f}function v(c,f){return u+c+"/"+f}function h(c){return y+c}class _ extends t.MemoryCryptoStore{static exists(f){const E=f.length;for(let I=0;I<E;I++){var w;if((w=f.key(I))!==null&&w!==void 0&&w.startsWith(r))return!0}return!1}constructor(f){super(),this.store=f}countEndToEndSessions(f,E){let w=0;for(let D=0;D<this.store.length;++D){var I;(I=this.store.key(D))!==null&&I!==void 0&&I.startsWith(m(""))&&++w}E(w)}_getEndToEndSessions(f){const E=d(this.store,m(f)),w={};for(const[I,D]of Object.entries(E||{}))typeof D=="string"?w[I]={session:D}:w[I]=D;return w}getEndToEndSession(f,E,w,I){const D=this._getEndToEndSessions(f);I(D[E]||{})}getEndToEndSessions(f,E,w){w(this._getEndToEndSessions(f)||{})}getAllEndToEndSessions(f,E){for(let I=0;I<this.store.length;++I){var w;if((w=this.store.key(I))!==null&&w!==void 0&&w.startsWith(m(""))){const D=this.store.key(I).split("/")[1];for(const A of Object.values(this._getEndToEndSessions(D)))E(A)}}}storeEndToEndSession(f,E,w,I){const D=this._getEndToEndSessions(f)||{};D[E]=w,l(this.store,m(f),D)}async storeEndToEndSessionProblem(f,E,w){const I=g(f),D=d(this.store,I)||[];D.push({type:E,fixed:w,time:Date.now()}),D.sort((A,L)=>A.time-L.time),l(this.store,I,D)}async getEndToEndSessionProblem(f,E){const w=g(f),I=d(this.store,w)||[];if(!I.length)return null;const D=I[I.length-1];for(const A of I)if(A.time>E)return Object.assign({},A,{fixed:D.fixed});return D.fixed?null:D}async filterOutNotifiedErrorDevices(f){const E=d(this.store,a)||{},w=[];for(const I of f){const{userId:D,deviceInfo:A}=I;D in E?A.deviceId in E[D]||(w.push(I),E[D][A.deviceId]=!0):(w.push(I),E[D]={[A.deviceId]:!0})}return l(this.store,a,E),w}getEndToEndInboundGroupSession(f,E,w,I){I(d(this.store,S(f,E)),d(this.store,v(f,E)))}getAllEndToEndInboundGroupSessions(f,E){for(let w=0;w<this.store.length;++w){const I=this.store.key(w);I!=null&&I.startsWith(p)&&E({senderKey:I.slice(p.length,p.length+43),sessionId:I.slice(p.length+44),sessionData:d(this.store,I)})}E(null)}addEndToEndInboundGroupSession(f,E,w,I){d(this.store,S(f,E))||this.storeEndToEndInboundGroupSession(f,E,w,I)}storeEndToEndInboundGroupSession(f,E,w,I){l(this.store,S(f,E),w)}storeEndToEndInboundGroupSessionWithheld(f,E,w,I){l(this.store,v(f,E),w)}getEndToEndDeviceData(f,E){E(d(this.store,o))}storeEndToEndDeviceData(f,E){l(this.store,o,f)}storeEndToEndRoom(f,E,w){l(this.store,h(f),E)}getEndToEndRooms(f,E){const w={},I=h("");for(let D=0;D<this.store.length;++D){const A=this.store.key(D);if(A!=null&&A.startsWith(I)){const L=A.slice(I.length);w[L]=d(this.store,A)}}E(w)}getSessionsNeedingBackup(f){const E=d(this.store,s)||{},w=[];for(const I in E)if(Object.prototype.hasOwnProperty.call(E,I)){const D=I.slice(0,43),A=I.slice(44);if(this.getEndToEndInboundGroupSession(D,A,null,L=>{w.push({senderKey:D,sessionId:A,sessionData:L})}),f&&w.length>=f)break}return Promise.resolve(w)}countSessionsNeedingBackup(){const f=d(this.store,s)||{};return Promise.resolve(Object.keys(f).length)}unmarkSessionsNeedingBackup(f){const E=d(this.store,s)||{};for(const w of f)delete E[w.senderKey+"/"+w.sessionId];return l(this.store,s,E),Promise.resolve()}markSessionsNeedingBackup(f){const E=d(this.store,s)||{};for(const w of f)E[w.senderKey+"/"+w.sessionId]=!0;return l(this.store,s,E),Promise.resolve()}deleteAllData(){return this.store.removeItem(n),Promise.resolve()}getAccount(f,E){const w=d(this.store,n);E(w)}storeAccount(f,E){l(this.store,n,E)}getCrossSigningKeys(f,E){const w=d(this.store,i);E(w)}getSecretStorePrivateKey(f,E,w){const I=d(this.store,r+`ssss_cache.${w}`);E(I)}storeCrossSigningKeys(f,E){l(this.store,i,E)}storeSecretStorePrivateKey(f,E,w){l(this.store,r+`ssss_cache.${E}`,w)}doTxn(f,E,w){return Promise.resolve(w(null))}}Il.LocalStorageCryptoStore=_;function d(c,f){try{return JSON.parse(c.getItem(f))}catch(E){e.logger.log("Error: Failed to get key %s: %s",f,E.message),e.logger.log(E.stack)}return null}function l(c,f,E){c.setItem(f,JSON.stringify(E))}return Il}var xi={},$3;function RB(){if($3)return xi;$3=1;var e=Ae;Object.defineProperty(xi,"__esModule",{value:!0}),xi.VERSION=xi.Backend=void 0,xi.upgradeDatabase=y;var t=e(Ue),r=Ge(),n=a(dt());function i(S){if(typeof WeakMap!="function")return null;var v=new WeakMap,h=new WeakMap;return(i=function(_){return _?h:v})(S)}function a(S,v){if(!v&&S&&S.__esModule)return S;if(S===null||typeof S!="object"&&typeof S!="function")return{default:S};var h=i(v);if(h&&h.has(S))return h.get(S);var _={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in S)if(l!=="default"&&Object.prototype.hasOwnProperty.call(S,l)){var c=d?Object.getOwnPropertyDescriptor(S,l):null;c&&(c.get||c.set)?Object.defineProperty(_,l,c):_[l]=S[l]}return _.default=S,h&&h.set(S,_),_}class o{constructor(v){this.db=v,(0,t.default)(this,"nextTxnId",0),v.onversionchange=()=>{r.logger.log(`versionchange for indexeddb ${this.db.name}: closing`),v.close()}}async startup(){return this}async deleteAllData(){throw Error("This is not implemented, call IDBFactory::deleteDatabase(dbName) instead.")}getOrAddOutgoingRoomKeyRequest(v){const h=v.requestBody;return new Promise((_,d)=>{const l=this.db.transaction("outgoingRoomKeyRequests","readwrite");l.onerror=d,this._getOutgoingRoomKeyRequest(l,h,c=>{if(c){r.logger.log(`already have key request outstanding for ${h.room_id} / ${h.session_id}: not sending another`),_(c);return}r.logger.log(`enqueueing key request for ${h.room_id} / `+h.session_id),l.oncomplete=()=>{_(v)},l.objectStore("outgoingRoomKeyRequests").add(v)})})}getOutgoingRoomKeyRequest(v){return new Promise((h,_)=>{const d=this.db.transaction("outgoingRoomKeyRequests","readonly");d.onerror=_,this._getOutgoingRoomKeyRequest(d,v,l=>{h(l)})})}_getOutgoingRoomKeyRequest(v,h,_){const c=v.objectStore("outgoingRoomKeyRequests").index("session").openCursor([h.room_id,h.session_id]);c.onsuccess=()=>{const f=c.result;if(!f){_(null);return}const E=f.value;if(n.deepCompare(E.requestBody,h)){_(E);return}f.continue()}}getOutgoingRoomKeyRequestByState(v){if(v.length===0)return Promise.resolve(null);let h=0,_;function d(){const w=this.result;if(w){_=w.value;return}if(h++,h>=v.length)return;const I=v[h],D=this.source.openCursor(I);D.onsuccess=d}const l=this.db.transaction("outgoingRoomKeyRequests","readonly"),c=l.objectStore("outgoingRoomKeyRequests"),f=v[h],E=c.index("state").openCursor(f);return E.onsuccess=d,g(l).then(()=>_)}getAllOutgoingRoomKeyRequestsByState(v){return new Promise((h,_)=>{const f=this.db.transaction("outgoingRoomKeyRequests","readonly").objectStore("outgoingRoomKeyRequests").index("state").getAll(v);f.onsuccess=()=>h(f.result),f.onerror=()=>_(f.error)})}getOutgoingRoomKeyRequestsByTarget(v,h,_){let d=0;const l=[];function c(){const D=this.result;if(D){const A=D.value;A.recipients.some(L=>L.userId===v&&L.deviceId===h)&&l.push(A),D.continue()}else{if(d++,d>=_.length)return;const A=_[d],L=this.source.openCursor(A);L.onsuccess=c}}const f=this.db.transaction("outgoingRoomKeyRequests","readonly"),E=f.objectStore("outgoingRoomKeyRequests"),w=_[d],I=E.index("state").openCursor(w);return I.onsuccess=c,g(f).then(()=>l)}updateOutgoingRoomKeyRequest(v,h,_){let d=null;function l(){const E=this.result;if(!E)return;const w=E.value;if(w.state!=h){r.logger.warn(`Cannot update room key request from ${h} as it was already updated to ${w.state}`);return}Object.assign(w,_),E.update(w),d=w}const c=this.db.transaction("outgoingRoomKeyRequests","readwrite"),f=c.objectStore("outgoingRoomKeyRequests").openCursor(v);return f.onsuccess=l,g(c).then(()=>d)}deleteOutgoingRoomKeyRequest(v,h){const _=this.db.transaction("outgoingRoomKeyRequests","readwrite"),d=_.objectStore("outgoingRoomKeyRequests").openCursor(v);return d.onsuccess=()=>{const l=d.result;if(!l)return;const c=l.value;if(c.state!=h){r.logger.warn(`Cannot delete room key request in state ${c.state} (expected ${h})`);return}l.delete()},g(_)}getAccount(v,h){const d=v.objectStore("account").get("-");d.onsuccess=function(){try{h(d.result||null)}catch(l){m(v,l)}}}storeAccount(v,h){v.objectStore("account").put(h,"-")}getCrossSigningKeys(v,h){const d=v.objectStore("account").get("crossSigningKeys");d.onsuccess=function(){try{h(d.result||null)}catch(l){m(v,l)}}}getSecretStorePrivateKey(v,h,_){const l=v.objectStore("account").get(`ssss_cache:${_}`);l.onsuccess=function(){try{h(l.result||null)}catch(c){m(v,c)}}}storeCrossSigningKeys(v,h){v.objectStore("account").put(h,"crossSigningKeys")}storeSecretStorePrivateKey(v,h,_){v.objectStore("account").put(_,`ssss_cache:${h}`)}countEndToEndSessions(v,h){const d=v.objectStore("sessions").count();d.onsuccess=function(){try{h(d.result)}catch(l){m(v,l)}}}getEndToEndSessions(v,h,_){const c=h.objectStore("sessions").index("deviceKey").openCursor(v),f={};c.onsuccess=function(){const E=c.result;if(E)f[E.value.sessionId]={session:E.value.session,lastReceivedMessageTs:E.value.lastReceivedMessageTs},E.continue();else try{_(f)}catch(w){m(h,w)}}}getEndToEndSession(v,h,_,d){const c=_.objectStore("sessions").get([v,h]);c.onsuccess=function(){try{c.result?d({session:c.result.session,lastReceivedMessageTs:c.result.lastReceivedMessageTs}):d(null)}catch(f){m(_,f)}}}getAllEndToEndSessions(v,h){const d=v.objectStore("sessions").openCursor();d.onsuccess=function(){try{const l=d.result;l?(h(l.value),l.continue()):h(null)}catch(l){m(v,l)}}}storeEndToEndSession(v,h,_,d){d.objectStore("sessions").put({deviceKey:v,sessionId:h,session:_.session,lastReceivedMessageTs:_.lastReceivedMessageTs})}async storeEndToEndSessionProblem(v,h,_){const d=this.db.transaction("session_problems","readwrite");d.objectStore("session_problems").put({deviceKey:v,type:h,fixed:_,time:Date.now()}),await g(d)}async getEndToEndSessionProblem(v,h){let _=null;const d=this.db.transaction("session_problems","readwrite"),f=d.objectStore("session_problems").index("deviceKey").getAll(v);return f.onsuccess=()=>{const E=f.result;if(!E.length){_=null;return}E.sort((I,D)=>I.time-D.time);const w=E[E.length-1];for(const I of E)if(I.time>h){_=Object.assign({},I,{fixed:w.fixed});return}w.fixed?_=null:_=w},await g(d),_}async filterOutNotifiedErrorDevices(v){const _=this.db.transaction("notified_error_devices","readwrite").objectStore("notified_error_devices"),d=[];return await Promise.all(v.map(l=>new Promise(c=>{const{userId:f,deviceInfo:E}=l,w=_.get([f,E.deviceId]);w.onsuccess=function(){w.result||(_.put({userId:f,deviceId:E.deviceId}),d.push(l)),c()}}))),d}getEndToEndInboundGroupSession(v,h,_,d){let l=!1,c=!1;const E=_.objectStore("inbound_group_sessions").get([v,h]);E.onsuccess=function(){try{E.result?l=E.result.session:l=null,c!==!1&&d(l,c)}catch(D){m(_,D)}};const I=_.objectStore("inbound_group_sessions_withheld").get([v,h]);I.onsuccess=function(){try{I.result?c=I.result.session:c=null,l!==!1&&d(l,c)}catch(D){m(_,D)}}}getAllEndToEndInboundGroupSessions(v,h){const d=v.objectStore("inbound_group_sessions").openCursor();d.onsuccess=function(){const l=d.result;if(l){try{h({senderKey:l.value.senderCurve25519Key,sessionId:l.value.sessionId,sessionData:l.value.session})}catch(c){m(v,c)}l.continue()}else try{h(null)}catch(c){m(v,c)}}}addEndToEndInboundGroupSession(v,h,_,d){const c=d.objectStore("inbound_group_sessions").add({senderCurve25519Key:v,sessionId:h,session:_});c.onerror=f=>{var E;((E=c.error)===null||E===void 0?void 0:E.name)==="ConstraintError"?(f.stopPropagation(),f.preventDefault(),r.logger.log("Ignoring duplicate inbound group session: "+v+" / "+h)):m(d,new Error("Failed to add inbound group session: "+c.error))}}storeEndToEndInboundGroupSession(v,h,_,d){d.objectStore("inbound_group_sessions").put({senderCurve25519Key:v,sessionId:h,session:_})}storeEndToEndInboundGroupSessionWithheld(v,h,_,d){d.objectStore("inbound_group_sessions_withheld").put({senderCurve25519Key:v,sessionId:h,session:_})}getEndToEndDeviceData(v,h){const d=v.objectStore("device_data").get("-");d.onsuccess=function(){try{h(d.result||null)}catch(l){m(v,l)}}}storeEndToEndDeviceData(v,h){h.objectStore("device_data").put(v,"-")}storeEndToEndRoom(v,h,_){_.objectStore("rooms").put(h,v)}getEndToEndRooms(v,h){const _={},l=v.objectStore("rooms").openCursor();l.onsuccess=function(){const c=l.result;if(c)_[c.key]=c.value,c.continue();else try{h(_)}catch(f){m(v,f)}}}getSessionsNeedingBackup(v){return new Promise((h,_)=>{const d=[],l=this.db.transaction(["sessions_needing_backup","inbound_group_sessions"],"readonly");l.onerror=_,l.oncomplete=function(){h(d)};const c=l.objectStore("sessions_needing_backup"),f=l.objectStore("inbound_group_sessions"),E=c.openCursor();E.onsuccess=function(){const w=E.result;if(w){const I=f.get(w.key);I.onsuccess=function(){d.push({senderKey:I.result.senderCurve25519Key,sessionId:I.result.sessionId,sessionData:I.result.session})},(!v||d.length<v)&&w.continue()}}})}countSessionsNeedingBackup(v){v||(v=this.db.transaction("sessions_needing_backup","readonly"));const h=v.objectStore("sessions_needing_backup");return new Promise((_,d)=>{const l=h.count();l.onerror=d,l.onsuccess=()=>_(l.result)})}async unmarkSessionsNeedingBackup(v,h){h||(h=this.db.transaction("sessions_needing_backup","readwrite"));const _=h.objectStore("sessions_needing_backup");await Promise.all(v.map(d=>new Promise((l,c)=>{const f=_.delete([d.senderKey,d.sessionId]);f.onsuccess=l,f.onerror=c})))}async markSessionsNeedingBackup(v,h){h||(h=this.db.transaction("sessions_needing_backup","readwrite"));const _=h.objectStore("sessions_needing_backup");await Promise.all(v.map(d=>new Promise((l,c)=>{const f=_.put({senderCurve25519Key:d.senderKey,sessionId:d.sessionId});f.onsuccess=l,f.onerror=c})))}addSharedHistoryInboundGroupSession(v,h,_,d){d||(d=this.db.transaction("shared_history_inbound_group_sessions","readwrite"));const l=d.objectStore("shared_history_inbound_group_sessions"),c=l.get([v]);c.onsuccess=()=>{const{sessions:f}=c.result||{sessions:[]};f.push([h,_]),l.put({roomId:v,sessions:f})}}getSharedHistoryInboundGroupSessions(v,h){h||(h=this.db.transaction("shared_history_inbound_group_sessions","readonly"));const d=h.objectStore("shared_history_inbound_group_sessions").get([v]);return new Promise((l,c)=>{d.onsuccess=()=>{const{sessions:f}=d.result||{sessions:[]};l(f)},d.onerror=c})}addParkedSharedHistory(v,h,_){_||(_=this.db.transaction("parked_shared_history","readwrite"));const d=_.objectStore("parked_shared_history"),l=d.get([v]);l.onsuccess=()=>{const{parked:c}=l.result||{parked:[]};c.push(h),d.put({roomId:v,parked:c})}}takeParkedSharedHistory(v,h){h||(h=this.db.transaction("parked_shared_history","readwrite"));const _=h.objectStore("parked_shared_history").openCursor(v);return new Promise((d,l)=>{_.onsuccess=()=>{const c=_.result;if(!c){d([]);return}const f=c.value;c.delete(),d(f)},_.onerror=l})}doTxn(v,h,_,d=r.logger){const l=this.db.transaction(h,v),c=g(l),f=_(l);return c.then(()=>f)}}xi.Backend=o;const p=[S=>{s(S)},S=>{S.createObjectStore("account")},S=>{S.createObjectStore("sessions",{keyPath:["deviceKey","sessionId"]}).createIndex("deviceKey","deviceKey")},S=>{S.createObjectStore("inbound_group_sessions",{keyPath:["senderCurve25519Key","sessionId"]})},S=>{S.createObjectStore("device_data")},S=>{S.createObjectStore("rooms")},S=>{S.createObjectStore("sessions_needing_backup",{keyPath:["senderCurve25519Key","sessionId"]})},S=>{S.createObjectStore("inbound_group_sessions_withheld",{keyPath:["senderCurve25519Key","sessionId"]})},S=>{S.createObjectStore("session_problems",{keyPath:["deviceKey","time"]}).createIndex("deviceKey","deviceKey"),S.createObjectStore("notified_error_devices",{keyPath:["userId","deviceId"]})},S=>{S.createObjectStore("shared_history_inbound_group_sessions",{keyPath:["roomId"]})},S=>{S.createObjectStore("parked_shared_history",{keyPath:["roomId"]})}],u=p.length;xi.VERSION=u;function y(S,v){r.logger.log(`Upgrading IndexedDBCryptoStore from version ${v} to ${u}`),p.forEach((h,_)=>{v<=_&&h(S)})}function s(S){const v=S.createObjectStore("outgoingRoomKeyRequests",{keyPath:"requestId"});v.createIndex("session",["requestBody.room_id","requestBody.session_id"]),v.createIndex("state","state")}function m(S,v){S._mx_abortexception=v;try{S.abort()}catch{}}function g(S){return new Promise((v,h)=>{S.oncomplete=()=>{S._mx_abortexception!==void 0&&h(S._mx_abortexception),v(null)},S.onerror=_=>{S._mx_abortexception!==void 0?h(S._mx_abortexception):(r.logger.log("Error performing indexeddb txn",_),h(S.error))},S.onabort=_=>{S._mx_abortexception!==void 0?h(S._mx_abortexception):(r.logger.log("Error performing indexeddb txn",_),h(S.error))}})}return xi}var sc={},F3;function QE(){if(F3)return sc;F3=1,Object.defineProperty(sc,"__esModule",{value:!0}),sc.exists=e;function e(t,r){return new Promise((n,i)=>{let a=!0;const o=t.open(r);o.onupgradeneeded=()=>{a=!1},o.onblocked=()=>i(o.error),o.onsuccess=()=>{o.result.close(),a||t.deleteDatabase(r),n(a)},o.onerror=()=>i(o.error)})}return sc}var IB=Ae;Object.defineProperty(sn,"__esModule",{value:!0});sn.IndexedDBCryptoStore=void 0;var Tn=IB(Ue),qr=Ge(),CB=TB(),OB=Bs,nh=XE(RB()),B3=zt,PB=XE(QE());function JE(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(JE=function(n){return n?r:t})(e)}function XE(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=JE(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(a!=="default"&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}class Ur{static exists(t,r){return PB.exists(t,r)}constructor(t,r){this.indexedDB=t,this.dbName=r,(0,Tn.default)(this,"backendPromise",void 0),(0,Tn.default)(this,"backend",void 0)}startup(){return this.backendPromise?this.backendPromise:(this.backendPromise=new Promise((t,r)=>{if(!this.indexedDB){r(new Error("no indexeddb support available"));return}qr.logger.log(`connecting to indexeddb ${this.dbName}`);const n=this.indexedDB.open(this.dbName,nh.VERSION);n.onupgradeneeded=i=>{const a=n.result,o=i.oldVersion;nh.upgradeDatabase(a,o)},n.onblocked=()=>{qr.logger.log("can't yet open IndexedDBCryptoStore because it is open elsewhere")},n.onerror=i=>{qr.logger.log("Error connecting to indexeddb",i),r(n.error)},n.onsuccess=()=>{const i=n.result;qr.logger.log(`connected to indexeddb ${this.dbName}`),t(new nh.Backend(i))}}).then(t=>t.doTxn("readonly",[Ur.STORE_INBOUND_GROUP_SESSIONS,Ur.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],r=>{t.getEndToEndInboundGroupSession("","",r,()=>{})}).then(()=>t)).catch(t=>{if(t.name==="VersionError")throw qr.logger.warn("Crypto DB is too new for us to use!",t),new B3.InvalidCryptoStoreError(B3.InvalidCryptoStoreState.TooNew);qr.logger.warn(`unable to connect to indexeddb ${this.dbName}: falling back to localStorage store: ${t}`);try{return new CB.LocalStorageCryptoStore($e.localStorage)}catch(r){return qr.logger.warn(`unable to open localStorage: falling back to in-memory store: ${r}`),new OB.MemoryCryptoStore}}).then(t=>(this.backend=t,t)),this.backendPromise)}deleteAllData(){return new Promise((t,r)=>{if(!this.indexedDB){r(new Error("no indexeddb support available"));return}qr.logger.log(`Removing indexeddb instance: ${this.dbName}`);const n=this.indexedDB.deleteDatabase(this.dbName);n.onblocked=()=>{qr.logger.log("can't yet delete IndexedDBCryptoStore because it is open elsewhere")},n.onerror=i=>{qr.logger.log("Error deleting data from indexeddb",i),r(n.error)},n.onsuccess=()=>{qr.logger.log(`Removed indexeddb instance: ${this.dbName}`),t()}}).catch(t=>{qr.logger.warn(`unable to delete IndexedDBCryptoStore: ${t}`)})}getOrAddOutgoingRoomKeyRequest(t){return this.backend.getOrAddOutgoingRoomKeyRequest(t)}getOutgoingRoomKeyRequest(t){return this.backend.getOutgoingRoomKeyRequest(t)}getOutgoingRoomKeyRequestByState(t){return this.backend.getOutgoingRoomKeyRequestByState(t)}getAllOutgoingRoomKeyRequestsByState(t){return this.backend.getAllOutgoingRoomKeyRequestsByState(t)}getOutgoingRoomKeyRequestsByTarget(t,r,n){return this.backend.getOutgoingRoomKeyRequestsByTarget(t,r,n)}updateOutgoingRoomKeyRequest(t,r,n){return this.backend.updateOutgoingRoomKeyRequest(t,r,n)}deleteOutgoingRoomKeyRequest(t,r){return this.backend.deleteOutgoingRoomKeyRequest(t,r)}getAccount(t,r){this.backend.getAccount(t,r)}storeAccount(t,r){this.backend.storeAccount(t,r)}getCrossSigningKeys(t,r){this.backend.getCrossSigningKeys(t,r)}getSecretStorePrivateKey(t,r,n){this.backend.getSecretStorePrivateKey(t,r,n)}storeCrossSigningKeys(t,r){this.backend.storeCrossSigningKeys(t,r)}storeSecretStorePrivateKey(t,r,n){this.backend.storeSecretStorePrivateKey(t,r,n)}countEndToEndSessions(t,r){this.backend.countEndToEndSessions(t,r)}getEndToEndSession(t,r,n,i){this.backend.getEndToEndSession(t,r,n,i)}getEndToEndSessions(t,r,n){this.backend.getEndToEndSessions(t,r,n)}getAllEndToEndSessions(t,r){this.backend.getAllEndToEndSessions(t,r)}storeEndToEndSession(t,r,n,i){this.backend.storeEndToEndSession(t,r,n,i)}storeEndToEndSessionProblem(t,r,n){return this.backend.storeEndToEndSessionProblem(t,r,n)}getEndToEndSessionProblem(t,r){return this.backend.getEndToEndSessionProblem(t,r)}filterOutNotifiedErrorDevices(t){return this.backend.filterOutNotifiedErrorDevices(t)}getEndToEndInboundGroupSession(t,r,n,i){this.backend.getEndToEndInboundGroupSession(t,r,n,i)}getAllEndToEndInboundGroupSessions(t,r){this.backend.getAllEndToEndInboundGroupSessions(t,r)}addEndToEndInboundGroupSession(t,r,n,i){this.backend.addEndToEndInboundGroupSession(t,r,n,i)}storeEndToEndInboundGroupSession(t,r,n,i){this.backend.storeEndToEndInboundGroupSession(t,r,n,i)}storeEndToEndInboundGroupSessionWithheld(t,r,n,i){this.backend.storeEndToEndInboundGroupSessionWithheld(t,r,n,i)}storeEndToEndDeviceData(t,r){this.backend.storeEndToEndDeviceData(t,r)}getEndToEndDeviceData(t,r){this.backend.getEndToEndDeviceData(t,r)}storeEndToEndRoom(t,r,n){this.backend.storeEndToEndRoom(t,r,n)}getEndToEndRooms(t,r){this.backend.getEndToEndRooms(t,r)}getSessionsNeedingBackup(t){return this.backend.getSessionsNeedingBackup(t)}countSessionsNeedingBackup(t){return this.backend.countSessionsNeedingBackup(t)}unmarkSessionsNeedingBackup(t,r){return this.backend.unmarkSessionsNeedingBackup(t,r)}markSessionsNeedingBackup(t,r){return this.backend.markSessionsNeedingBackup(t,r)}addSharedHistoryInboundGroupSession(t,r,n,i){this.backend.addSharedHistoryInboundGroupSession(t,r,n,i)}getSharedHistoryInboundGroupSessions(t,r){return this.backend.getSharedHistoryInboundGroupSessions(t,r)}addParkedSharedHistory(t,r,n){this.backend.addParkedSharedHistory(t,r,n)}takeParkedSharedHistory(t,r){return this.backend.takeParkedSharedHistory(t,r)}doTxn(t,r,n,i){return this.backend.doTxn(t,r,n,i)}}sn.IndexedDBCryptoStore=Ur;(0,Tn.default)(Ur,"STORE_ACCOUNT","account");(0,Tn.default)(Ur,"STORE_SESSIONS","sessions");(0,Tn.default)(Ur,"STORE_INBOUND_GROUP_SESSIONS","inbound_group_sessions");(0,Tn.default)(Ur,"STORE_INBOUND_GROUP_SESSIONS_WITHHELD","inbound_group_sessions_withheld");(0,Tn.default)(Ur,"STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS","shared_history_inbound_group_sessions");(0,Tn.default)(Ur,"STORE_PARKED_SHARED_HISTORY","parked_shared_history");(0,Tn.default)(Ur,"STORE_DEVICE_DATA","device_data");(0,Tn.default)(Ur,"STORE_ROOMS","rooms");(0,Tn.default)(Ur,"STORE_BACKUP","sessions_needing_backup");var j3;function kB(){if(j3)return Rl;j3=1;var e=Ae;Object.defineProperty(Rl,"__esModule",{value:!0}),Rl.RoomList=void 0;var t=e(Ue),r=sn;let n=class{constructor(a){this.cryptoStore=a,(0,t.default)(this,"roomEncryption",{})}async init(){await this.cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],a=>{this.cryptoStore.getEndToEndRooms(a,o=>{this.roomEncryption=o})})}getRoomEncryption(a){return this.roomEncryption[a]||null}isRoomEncrypted(a){return Boolean(this.getRoomEncryption(a))}async setRoomEncryption(a,o){this.roomEncryption[a]=o,await this.cryptoStore.doTxn("readwrite",[r.IndexedDBCryptoStore.STORE_ROOMS],p=>{this.cryptoStore.storeEndToEndRoom(a,o,p)})}};return Rl.RoomList=n,Rl}var Ys={};Object.defineProperty(Ys,"__esModule",{value:!0});Ys.SERVICE_TYPES=void 0;let $v;Ys.SERVICE_TYPES=$v;(function(e){e.IS="SERVICE_TYPE_IS",e.IM="SERVICE_TYPE_IM"})($v||(Ys.SERVICE_TYPES=$v={}));var yr={},ri={},ih={},K3={},er={},V3;function $0(){if(V3)return er;V3=1;var e=Ae;Object.defineProperty(er,"__esModule",{value:!0}),er.UnknownDeviceError=er.EncryptionAlgorithm=er.ENCRYPTION_CLASSES=er.DecryptionError=er.DecryptionAlgorithm=er.DECRYPTION_CLASSES=void 0,er.registerAlgorithm=y;var t=e(Ue);const r=new Map;er.ENCRYPTION_CLASSES=r;const n=new Map;er.DECRYPTION_CLASSES=n;class i{constructor(m){(0,t.default)(this,"userId",void 0),(0,t.default)(this,"deviceId",void 0),(0,t.default)(this,"crypto",void 0),(0,t.default)(this,"olmDevice",void 0),(0,t.default)(this,"baseApis",void 0),(0,t.default)(this,"roomId",void 0),this.userId=m.userId,this.deviceId=m.deviceId,this.crypto=m.crypto,this.olmDevice=m.olmDevice,this.baseApis=m.baseApis,this.roomId=m.roomId}prepareToEncrypt(m){}onRoomMembership(m,g,S){}}er.EncryptionAlgorithm=i;class a{constructor(m){(0,t.default)(this,"userId",void 0),(0,t.default)(this,"crypto",void 0),(0,t.default)(this,"olmDevice",void 0),(0,t.default)(this,"baseApis",void 0),(0,t.default)(this,"roomId",void 0),this.userId=m.userId,this.crypto=m.crypto,this.olmDevice=m.olmDevice,this.baseApis=m.baseApis,this.roomId=m.roomId}async onRoomKeyEvent(m){}async importRoomKey(m,g){}hasKeysForKeyRequest(m){return Promise.resolve(!1)}shareKeysWithDevice(m){throw new Error("shareKeysWithDevice not supported for this DecryptionAlgorithm")}async retryDecryptionFromSender(m){return!1}}er.DecryptionAlgorithm=a;class o extends Error{constructor(m,g,S){super(g),this.code=m,(0,t.default)(this,"detailedString",void 0),this.code=m,this.name="DecryptionError",this.detailedString=p(this,S)}}er.DecryptionError=o;function p(s,m){let g=s.name+"[msg: "+s.message;return m&&(g+=", "+Object.keys(m).map(S=>S+": "+m[S]).join(", ")),g+="]",g}class u extends Error{constructor(m,g,S){super(m),this.devices=g,this.event=S,this.name="UnknownDeviceError",this.devices=g}}er.UnknownDeviceError=u;function y(s,m,g){r.set(s,m),n.set(s,g)}return er}var q3;function DB(){if(q3)return K3;q3=1;var e=Ae,t=e(Ue),r=Ge(),n=p(ct),i=Su(),a=$0();function o(m){if(typeof WeakMap!="function")return null;var g=new WeakMap,S=new WeakMap;return(o=function(v){return v?S:g})(m)}function p(m,g){if(!g&&m&&m.__esModule)return m;if(m===null||typeof m!="object"&&typeof m!="function")return{default:m};var S=o(g);if(S&&S.has(m))return S.get(m);var v={},h=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var _ in m)if(_!=="default"&&Object.prototype.hasOwnProperty.call(m,_)){var d=h?Object.getOwnPropertyDescriptor(m,_):null;d&&(d.get||d.set)?Object.defineProperty(v,_,d):v[_]=m[_]}return v.default=m,S&&S.set(m,v),v}const u=i.DeviceInfo.DeviceVerification;class y extends a.EncryptionAlgorithm{constructor(...g){super(...g),(0,t.default)(this,"sessionPrepared",!1),(0,t.default)(this,"prepPromise",null)}ensureSession(g){return this.prepPromise?this.prepPromise:this.sessionPrepared?Promise.resolve():(this.prepPromise=this.crypto.downloadKeys(g).then(()=>this.crypto.ensureOlmSessionsForUsers(g)).then(()=>{this.sessionPrepared=!0}).finally(()=>{this.prepPromise=null}),this.prepPromise)}async encryptMessage(g,S,v){const _=(await g.getEncryptionTargetMembers()).map(function(f){return f.userId});await this.ensureSession(_);const d={room_id:g.roomId,type:S,content:v},l={algorithm:n.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{}},c=[];for(const f of _){const E=this.crypto.getStoredDevicesForUser(f)||[];for(const w of E)w.getIdentityKey()!=this.olmDevice.deviceCurve25519Key&&w.verified!=u.BLOCKED&&c.push(n.encryptMessageForDevice(l.ciphertext,this.userId,this.deviceId,this.olmDevice,f,w,d))}return Promise.all(c).then(()=>l)}}class s extends a.DecryptionAlgorithm{async decryptEvent(g){const S=g.getWireContent(),v=S.sender_key,h=S.ciphertext;if(!h)throw new a.DecryptionError("OLM_MISSING_CIPHERTEXT","Missing ciphertext");if(!(this.olmDevice.deviceCurve25519Key in h))throw new a.DecryptionError("OLM_NOT_INCLUDED_IN_RECIPIENTS","Not included in recipients");const _=h[this.olmDevice.deviceCurve25519Key];let d;try{d=await this.decryptMessage(v,_)}catch(E){throw new a.DecryptionError("OLM_BAD_ENCRYPTED_MESSAGE","Bad Encrypted Message",{sender:v,err:E})}const l=JSON.parse(d);if(l.recipient!=this.userId)throw new a.DecryptionError("OLM_BAD_RECIPIENT","Message was intented for "+l.recipient);if(l.recipient_keys.ed25519!=this.olmDevice.deviceEd25519Key)throw new a.DecryptionError("OLM_BAD_RECIPIENT_KEY","Message not intended for this device",{intended:l.recipient_keys.ed25519,our_key:this.olmDevice.deviceEd25519Key});await this.crypto.deviceList.downloadKeys([g.getSender()],!1);const c=this.crypto.deviceList.getUserByIdentityKey(n.OLM_ALGORITHM,v);if(c!==g.getSender()&&c!=null)throw new a.DecryptionError("OLM_BAD_SENDER","Message claimed to be from "+g.getSender(),{real_sender:c});if(l.sender!=g.getSender())throw new a.DecryptionError("OLM_FORWARDED_MESSAGE","Message forwarded from "+l.sender,{reported_sender:g.getSender()});if(l.room_id!==g.getRoomId())throw new a.DecryptionError("OLM_BAD_ROOM","Message intended for room "+l.room_id,{reported_room:g.getRoomId()||"ROOM_ID_UNDEFINED"});const f=l.keys||{};return{clearEvent:l,senderCurve25519Key:v,claimedEd25519Key:f.ed25519||null}}decryptMessage(g,S){if(S.type!==0)return this.reallyDecryptMessage(g,S);{const v=this.olmDevice.olmPrekeyPromise.then(()=>this.reallyDecryptMessage(g,S));return this.olmDevice.olmPrekeyPromise=v.catch(()=>{}),v}}async reallyDecryptMessage(g,S){const v=await this.olmDevice.getSessionIdsForDevice(g),h={};for(const d of v)try{const l=await this.olmDevice.decryptMessage(g,d,S.type,S.body);return r.logger.log("Decrypted Olm message from "+g+" with session "+d),l}catch(l){if(await this.olmDevice.matchesSession(g,d,S.type,S.body))throw new Error("Error decrypting prekey message with existing session id "+d+": "+l.message);h[d]=l.message}if(S.type!==0)throw v.length===0?new Error("No existing sessions"):new Error("Error decrypting non-prekey message with existing sessions: "+JSON.stringify(h));let _;try{_=await this.olmDevice.createInboundSession(g,S.type,S.body)}catch(d){throw h["(new)"]=d.message,new Error("Error decrypting prekey message: "+JSON.stringify(h))}return r.logger.log("created new inbound Olm session ID "+_.session_id+" with "+g),_.payload}}return(0,a.registerAlgorithm)(n.OLM_ALGORITHM,y,s),K3}var Ui={},$i={},W3;function ZE(){if(W3)return $i;W3=1;var e=Ae;Object.defineProperty($i,"__esModule",{value:!0}),$i.RoomKeyRequestState=$i.OutgoingRoomKeyRequestManager=void 0;var t=e(Ue),r=yu,n=Ge(),i=xe;function a(g,S){var v=Object.keys(g);if(Object.getOwnPropertySymbols){var h=Object.getOwnPropertySymbols(g);S&&(h=h.filter(function(_){return Object.getOwnPropertyDescriptor(g,_).enumerable})),v.push.apply(v,h)}return v}function o(g){for(var S=1;S<arguments.length;S++){var v=arguments[S]!=null?arguments[S]:{};S%2?a(Object(v),!0).forEach(function(h){(0,t.default)(g,h,v[h])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(v)):a(Object(v)).forEach(function(h){Object.defineProperty(g,h,Object.getOwnPropertyDescriptor(v,h))})}return g}const p=500;let u;$i.RoomKeyRequestState=u,function(g){g[g.Unsent=0]="Unsent",g[g.Sent=1]="Sent",g[g.CancellationPending=2]="CancellationPending",g[g.CancellationPendingAndWillResend=3]="CancellationPendingAndWillResend"}(u||($i.RoomKeyRequestState=u={}));let y=class{constructor(S,v,h){this.baseApis=S,this.deviceId=v,this.cryptoStore=h,(0,t.default)(this,"sendOutgoingRoomKeyRequestsTimer",void 0),(0,t.default)(this,"sendOutgoingRoomKeyRequestsRunning",!1),(0,t.default)(this,"clientRunning",!0)}stop(){n.logger.log("stopping OutgoingRoomKeyRequestManager"),this.clientRunning=!1}sendQueuedRequests(){this.startTimer()}async queueRoomKeyRequest(S,v,h=!1){const _=await this.cryptoStore.getOutgoingRoomKeyRequest(S);if(!_)await this.cryptoStore.getOrAddOutgoingRoomKeyRequest({requestBody:S,recipients:v,requestId:this.baseApis.makeTxnId(),state:u.Unsent});else switch(_.state){case u.CancellationPendingAndWillResend:case u.Unsent:return;case u.CancellationPending:{const d=h?u.CancellationPendingAndWillResend:u.Sent;await this.cryptoStore.updateOutgoingRoomKeyRequest(_.requestId,u.CancellationPending,{state:d,cancellationTxnId:this.baseApis.makeTxnId()});break}case u.Sent:{if(h){const d=u.CancellationPendingAndWillResend,l=await this.cryptoStore.updateOutgoingRoomKeyRequest(_.requestId,u.Sent,{state:d,cancellationTxnId:this.baseApis.makeTxnId(),requestTxnId:this.baseApis.makeTxnId()});if(!l)return this.queueRoomKeyRequest(S,v,h);try{await this.sendOutgoingRoomKeyRequestCancellation(l,!0)}catch(c){n.logger.error("Error sending room key request cancellation; will retry later.",c)}}break}default:throw new Error("unhandled state: "+_.state)}}cancelRoomKeyRequest(S){return this.cryptoStore.getOutgoingRoomKeyRequest(S).then(v=>{if(v)switch(v.state){case u.CancellationPending:case u.CancellationPendingAndWillResend:return;case u.Unsent:return n.logger.log("deleting unnecessary room key request for "+s(S)),this.cryptoStore.deleteOutgoingRoomKeyRequest(v.requestId,u.Unsent);case u.Sent:return this.cryptoStore.updateOutgoingRoomKeyRequest(v.requestId,u.Sent,{state:u.CancellationPending,cancellationTxnId:this.baseApis.makeTxnId()}).then(h=>{if(!h){n.logger.log("Tried to cancel room key request for "+s(S)+" but it was already cancelled in another tab");return}this.sendOutgoingRoomKeyRequestCancellation(h).catch(_=>{n.logger.error("Error sending room key request cancellation; will retry later.",_),this.startTimer()})});default:throw new Error("unhandled state: "+v.state)}})}getOutgoingSentRoomKeyRequest(S,v){return this.cryptoStore.getOutgoingRoomKeyRequestsByTarget(S,v,[u.Sent])}async cancelAndResendAllOutgoingRequests(){const S=await this.cryptoStore.getAllOutgoingRoomKeyRequestsByState(u.Sent);return Promise.all(S.map(({requestBody:v,recipients:h})=>this.queueRoomKeyRequest(v,h,!0)))}startTimer(){if(this.sendOutgoingRoomKeyRequestsTimer)return;const S=()=>{if(this.sendOutgoingRoomKeyRequestsRunning)throw new Error("RoomKeyRequestSend already in progress!");this.sendOutgoingRoomKeyRequestsRunning=!0,this.sendOutgoingRoomKeyRequests().finally(()=>{this.sendOutgoingRoomKeyRequestsRunning=!1}).catch(v=>{n.logger.warn(`error in OutgoingRoomKeyRequestManager: ${v}`)})};this.sendOutgoingRoomKeyRequestsTimer=setTimeout(S,p)}async sendOutgoingRoomKeyRequests(){if(!this.clientRunning){this.sendOutgoingRoomKeyRequestsTimer=void 0;return}const S=await this.cryptoStore.getOutgoingRoomKeyRequestByState([u.CancellationPending,u.CancellationPendingAndWillResend,u.Unsent]);if(!S){this.sendOutgoingRoomKeyRequestsTimer=void 0;return}try{switch(S.state){case u.Unsent:await this.sendOutgoingRoomKeyRequest(S);break;case u.CancellationPending:await this.sendOutgoingRoomKeyRequestCancellation(S);break;case u.CancellationPendingAndWillResend:await this.sendOutgoingRoomKeyRequestCancellation(S,!0);break}return this.sendOutgoingRoomKeyRequests()}catch(v){n.logger.error("Error sending room key request; will retry later.",v),this.sendOutgoingRoomKeyRequestsTimer=void 0}}sendOutgoingRoomKeyRequest(S){n.logger.log(`Requesting keys for ${s(S.requestBody)} from ${m(S.recipients)}(id ${S.requestId})`);const v={action:"request",requesting_device_id:this.deviceId,request_id:S.requestId,body:S.requestBody};return this.sendMessageToDevices(v,S.recipients,S.requestTxnId||S.requestId).then(()=>this.cryptoStore.updateOutgoingRoomKeyRequest(S.requestId,u.Unsent,{state:u.Sent}))}sendOutgoingRoomKeyRequestCancellation(S,v=!1){n.logger.log(`Sending cancellation for key request for ${s(S.requestBody)} to ${m(S.recipients)} (cancellation id ${S.cancellationTxnId})`);const h={action:"request_cancellation",requesting_device_id:this.deviceId,request_id:S.requestId};return this.sendMessageToDevices(h,S.recipients,S.cancellationTxnId).then(()=>v?this.cryptoStore.updateOutgoingRoomKeyRequest(S.requestId,u.CancellationPendingAndWillResend,{state:u.Unsent}):this.cryptoStore.deleteOutgoingRoomKeyRequest(S.requestId,u.CancellationPending))}sendMessageToDevices(S,v,h){const _={};for(const d of v)_[d.userId]||(_[d.userId]={}),_[d.userId][d.deviceId]=o(o({},S),{},{[i.ToDeviceMessageId]:(0,r.v4)()});return this.baseApis.sendToDevice(i.EventType.RoomKeyRequest,_,h)}};$i.OutgoingRoomKeyRequestManager=y;function s(g){return g.room_id+" / "+g.session_id}function m(g){return`[${g.map(S=>`${S.userId}:${S.deviceId}`).join(",")}]`}return $i}var H3;function ew(){if(H3)return Ui;H3=1;var e=Ae;Object.defineProperty(Ui,"__esModule",{value:!0}),Ui.MegolmEncryption=Ui.MegolmDecryption=void 0,Ui.isRoomSharedHistory=S;var t=e(Ue),r=yu,n=Ge(),i=s(ct),a=$0(),o=rw(),p=xe,u=ZE();function y(l){if(typeof WeakMap!="function")return null;var c=new WeakMap,f=new WeakMap;return(y=function(E){return E?f:c})(l)}function s(l,c){if(!c&&l&&l.__esModule)return l;if(l===null||typeof l!="object"&&typeof l!="function")return{default:l};var f=y(c);if(f&&f.has(l))return f.get(l);var E={},w=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in l)if(I!=="default"&&Object.prototype.hasOwnProperty.call(l,I)){var D=w?Object.getOwnPropertyDescriptor(l,I):null;D&&(D.get||D.set)?Object.defineProperty(E,I,D):E[I]=l[I]}return E.default=l,f&&f.set(l,E),E}function m(l,c){var f=Object.keys(l);if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(l);c&&(E=E.filter(function(w){return Object.getOwnPropertyDescriptor(l,w).enumerable})),f.push.apply(f,E)}return f}function g(l){for(var c=1;c<arguments.length;c++){var f=arguments[c]!=null?arguments[c]:{};c%2?m(Object(f),!0).forEach(function(E){(0,t.default)(l,E,f[E])}):Object.getOwnPropertyDescriptors?Object.defineProperties(l,Object.getOwnPropertyDescriptors(f)):m(Object(f)).forEach(function(E){Object.defineProperty(l,E,Object.getOwnPropertyDescriptor(f,E))})}return l}function S(l){var c,f;const E=l==null||(c=l.currentState)===null||c===void 0?void 0:c.getStateEvents("m.room.history_visibility",""),w=E==null||(f=E.getContent())===null||f===void 0?void 0:f.history_visibility;return["world_readable","shared"].includes(w)}class v{constructor(c,f=!1){this.sessionId=c,this.sharedHistory=f,(0,t.default)(this,"useCount",0),(0,t.default)(this,"creationTime",void 0),(0,t.default)(this,"sharedWithDevices",{}),(0,t.default)(this,"blockedDevicesNotified",{}),this.creationTime=new Date().getTime()}needsRotation(c,f){const E=new Date().getTime()-this.creationTime;return this.useCount>=c||E>=f?(n.logger.log("Rotating megolm session after "+this.useCount+" messages, "+E+"ms"),!0):!1}markSharedWithDevice(c,f,E,w){this.sharedWithDevices[c]||(this.sharedWithDevices[c]={}),this.sharedWithDevices[c][f]={deviceKey:E,messageIndex:w}}markNotifiedBlockedDevice(c,f){this.blockedDevicesNotified[c]||(this.blockedDevicesNotified[c]={}),this.blockedDevicesNotified[c][f]=!0}sharedWithTooManyDevices(c){for(const f in this.sharedWithDevices)if(this.sharedWithDevices.hasOwnProperty(f)){if(!c.hasOwnProperty(f))return n.logger.log("Starting new megolm session because we shared with "+f),!0;for(const E in this.sharedWithDevices[f])if(this.sharedWithDevices[f].hasOwnProperty(E)&&!c[f].hasOwnProperty(E))return n.logger.log("Starting new megolm session because we shared with "+f+":"+E),!0}return!1}}class h extends a.EncryptionAlgorithm{constructor(c){var f,E,w,I;super(c),(0,t.default)(this,"setupPromise",Promise.resolve(null)),(0,t.default)(this,"outboundSessions",{}),(0,t.default)(this,"sessionRotationPeriodMsgs",void 0),(0,t.default)(this,"sessionRotationPeriodMs",void 0),(0,t.default)(this,"encryptionPreparation",void 0),(0,t.default)(this,"roomId",void 0),this.roomId=c.roomId,this.sessionRotationPeriodMsgs=(f=(E=c.config)===null||E===void 0?void 0:E.rotation_period_msgs)!==null&&f!==void 0?f:100,this.sessionRotationPeriodMs=(w=(I=c.config)===null||I===void 0?void 0:I.rotation_period_ms)!==null&&w!==void 0?w:7*24*3600*1e3}async ensureOutboundSession(c,f,E,w=!1){const I=async A=>{const L=S(c),F=await this.prepareSession(f,L,A);return await this.shareSession(f,L,w,E,F),F},D=this.setupPromise.then(I);return this.setupPromise=D.catch(A=>(n.logger.error(`Failed to setup outbound session in ${this.roomId}`,A),null)),D}async prepareSession(c,f,E){var w,I;return E&&f!==E.sharedHistory&&(E=null),(w=E)!==null&&w!==void 0&&w.needsRotation(this.sessionRotationPeriodMsgs,this.sessionRotationPeriodMs)&&(n.logger.log("Starting new megolm session because we need to rotate."),E=null),(I=E)!==null&&I!==void 0&&I.sharedWithTooManyDevices(c)&&(E=null),E||(n.logger.log(`Starting new megolm session for room ${this.roomId}`),E=await this.prepareNewSession(f),n.logger.log(`Started new megolm session ${E.sessionId} for room ${this.roomId}`),this.outboundSessions[E.sessionId]=E),E}async shareSession(c,f,E,w,I){const D={};for(const[H,K]of Object.entries(c))for(const[W,X]of Object.entries(K))X.getIdentityKey()!=this.olmDevice.deviceCurve25519Key&&(!I.sharedWithDevices[H]||I.sharedWithDevices[H][W]===void 0)&&(D[H]=D[H]||[],D[H].push(X));const A=this.olmDevice.getOutboundGroupSessionKey(I.sessionId),L={type:"m.room_key",content:{algorithm:i.MEGOLM_ALGORITHM,room_id:this.roomId,session_id:I.sessionId,session_key:A.key,chain_index:A.chain_index,"org.matrix.msc3061.shared_history":f}},[F,x]=await i.getExistingOlmSessions(this.olmDevice,this.baseApis,D);await Promise.all([(async()=>{n.logger.debug(`Sharing keys with existing Olm sessions in ${this.roomId}`,x),await this.shareKeyWithOlmSessions(I,A,L,x),n.logger.debug(`Shared keys with existing Olm sessions in ${this.roomId}`)})(),(async()=>{n.logger.debug(`Sharing keys (start phase 1) with new Olm sessions in ${this.roomId}`,F);const H=[],K=Date.now(),W=[];await this.shareKeyWithDevices(I,A,L,F,H,E?1e4:2e3,W),n.logger.debug(`Shared keys (end phase 1) with new Olm sessions in ${this.roomId}`),!E&&Date.now()-K<1e4?(async()=>{const X={},G=new Set;for(const Y of W)G.add(Y);const j=[];for(const{userId:Y,deviceInfo:R}of H){const k=Y.slice(Y.indexOf(":")+1);G.has(k)?(X[Y]=X[Y]||[],X[Y].push(R)):j.push({userId:Y,deviceInfo:R})}n.logger.debug(`Sharing keys (start phase 2) with new Olm sessions in ${this.roomId}`),await this.shareKeyWithDevices(I,A,L,X,j,3e4),n.logger.debug(`Shared keys (end phase 2) with new Olm sessions in ${this.roomId}`),await this.notifyFailedOlmDevices(I,A,j)})():await this.notifyFailedOlmDevices(I,A,H),n.logger.debug(`Shared keys (all phases done) with new Olm sessions in ${this.roomId}`)})(),(async()=>{n.logger.debug(`There are ${Object.entries(w).length} blocked devices in ${this.roomId}`,Object.entries(w)),n.logger.debug(`Notifying newly blocked devices in ${this.roomId}`);const H={};let K=0;for(const[W,X]of Object.entries(w))for(const[G,j]of Object.entries(X))(!I.blockedDevicesNotified[W]||I.blockedDevicesNotified[W][G]===void 0)&&(H[W]=H[W]||{},H[W][G]={device:j},K++);await this.notifyBlockedDevices(I,H),n.logger.debug(`Notified ${K} newly blocked devices in ${this.roomId}`,H)})()])}async prepareNewSession(c){const f=this.olmDevice.createOutboundGroupSession(),E=this.olmDevice.getOutboundGroupSessionKey(f);return await this.olmDevice.addInboundGroupSession(this.roomId,this.olmDevice.deviceCurve25519Key,[],f,E.key,{ed25519:this.olmDevice.deviceEd25519Key},!1,{sharedHistory:c}),this.crypto.backupManager.backupGroupSession(this.olmDevice.deviceCurve25519Key,f),new v(f,c)}getDevicesWithoutSessions(c,f,E=[]){for(const[w,I]of Object.entries(f)){const D=c[w];for(const A of I){const L=A.deviceId;if(!D[L].sessionId){E.push({userId:w,deviceInfo:A}),delete D[L];continue}}}return E}splitDevices(c){let E=[];const w=[E];for(const[I,D]of Object.entries(c)){for(const A of Object.values(D))E.push({userId:I,deviceInfo:A.device});E.length>20&&(E=[],w.push(E))}return E.length===0&&w.pop(),w}encryptAndSendKeysToDevices(c,f,E,w){return this.crypto.encryptAndSendToDevices(E,w).then(()=>{for(const I of E)c.markSharedWithDevice(I.userId,I.deviceInfo.deviceId,I.deviceInfo.getIdentityKey(),f)}).catch(I=>{throw n.logger.error("failed to encryptAndSendToDevices",I),I})}async sendBlockedNotificationsToDevices(c,f,E){const w={};for(const I of f){const D=I.userId,A=I.deviceInfo,F=A.deviceInfo.deviceId,x=g(g({},E),{},{code:A.code,reason:A.reason,[p.ToDeviceMessageId]:(0,r.v4)()});x.code==="m.no_olm"&&(delete x.room_id,delete x.session_id),w[D]||(w[D]={}),w[D][F]=x}await this.baseApis.sendToDevice("m.room_key.withheld",w);for(const I of Object.keys(w))for(const D of Object.keys(w[I]))c.markNotifiedBlockedDevice(I,D)}async reshareKeyWithDevice(c,f,E,w){const I=this.outboundSessions[f];if(!I){n.logger.debug(`megolm session ${c}|${f} not found: not re-sharing keys`);return}if(I.sharedWithDevices[E]===void 0){n.logger.debug(`megolm session ${c}|${f} never shared with user ${E}`);return}const D=I.sharedWithDevices[E][w.deviceId];if(D===void 0){n.logger.debug(`megolm session ${c}|${f} never shared with device ${E}:${w.deviceId}`);return}if(D.deviceKey!==w.getIdentityKey()){n.logger.warn(`Megolm session ${c}|${f} has been shared with device ${w.deviceId} but with identity key ${D.deviceKey}. Key is now ${w.getIdentityKey()}!`);return}const A=await this.olmDevice.getInboundGroupSessionKey(this.roomId,c,f,D.messageIndex);if(!A){n.logger.warn(`No inbound session key found for megolm session ${c}|${f}: not re-sharing keys`);return}await i.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[E]:[w]});const L={type:"m.forwarded_room_key",content:{algorithm:i.MEGOLM_ALGORITHM,room_id:this.roomId,session_id:f,session_key:A.key,chain_index:A.chain_index,sender_key:c,sender_claimed_ed25519_key:A.sender_claimed_ed25519_key,forwarding_curve25519_key_chain:A.forwarding_curve25519_key_chain,"org.matrix.msc3061.shared_history":A.shared_history||!1}},F={algorithm:i.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{},[p.ToDeviceMessageId]:(0,r.v4)()};await i.encryptMessageForDevice(F.ciphertext,this.userId,this.deviceId,this.olmDevice,E,w,L),await this.baseApis.sendToDevice("m.room.encrypted",{[E]:{[w.deviceId]:F}}),n.logger.debug(`Re-shared key for megolm session ${c}|${f} with ${E}:${w.deviceId}`)}async shareKeyWithDevices(c,f,E,w,I,D,A){var L;n.logger.debug(`Ensuring Olm sessions for devices in ${this.roomId}`);const F=await i.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,w,!1,D,A,(L=n.logger.withPrefix)===null||L===void 0?void 0:L.call(n.logger,`[${this.roomId}]`));n.logger.debug(`Ensured Olm sessions for devices in ${this.roomId}`),this.getDevicesWithoutSessions(F,w,I),n.logger.debug(`Sharing keys with newly created Olm sessions in ${this.roomId}`),await this.shareKeyWithOlmSessions(c,f,E,F),n.logger.debug(`Shared keys with newly created Olm sessions in ${this.roomId}`)}async shareKeyWithOlmSessions(c,f,E,w){const I=this.splitDevices(w);for(let D=0;D<I.length;D++){const A=`megolm keys for ${c.sessionId} in ${this.roomId} (slice ${D+1}/${I.length})`;try{n.logger.debug(`Sharing ${A}`,I[D].map(L=>`${L.userId}/${L.deviceInfo.deviceId}`)),await this.encryptAndSendKeysToDevices(c,f.chain_index,I[D],E),n.logger.debug(`Shared ${A}`)}catch(L){throw n.logger.error(`Failed to share ${A}`),L}}}async notifyFailedOlmDevices(c,f,E){n.logger.debug(`Notifying ${E.length} devices we failed to create Olm sessions in ${this.roomId}`);for(const{userId:D,deviceInfo:A}of E){const L=A.deviceId;c.markSharedWithDevice(D,L,A.getIdentityKey(),f.chain_index)}const w=await this.olmDevice.filterOutNotifiedErrorDevices(E);n.logger.debug(`Need to notify ${w.length} failed devices which haven't been notified before in ${this.roomId}`);const I={};for(const{userId:D,deviceInfo:A}of w)I[D]=I[D]||{},I[D][A.deviceId]={device:{code:"m.no_olm",reason:o.WITHHELD_MESSAGES["m.no_olm"],deviceInfo:A}};await this.notifyBlockedDevices(c,I),n.logger.debug(`Notified ${w.length} devices we failed to create Olm sessions in ${this.roomId}`)}async notifyBlockedDevices(c,f){const E={room_id:this.roomId,session_id:c.sessionId,algorithm:i.MEGOLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key},w=this.splitDevices(f);for(let I=0;I<w.length;I++)try{await this.sendBlockedNotificationsToDevices(c,w[I],E),n.logger.log(`Completed blacklist notification for ${c.sessionId} in ${this.roomId} (slice ${I+1}/${w.length})`)}catch(D){throw n.logger.log(`blacklist notification for ${c.sessionId} in ${this.roomId} (slice ${I+1}/${w.length}) failed`),D}}prepareToEncrypt(c){if(this.encryptionPreparation!=null){const f=Date.now()-this.encryptionPreparation.startTime;n.logger.debug(`Already started preparing to encrypt for ${this.roomId} ${f} ms ago, skipping`);return}n.logger.debug(`Preparing to encrypt events for ${this.roomId}`),this.encryptionPreparation={startTime:Date.now(),promise:(async()=>{try{n.logger.debug(`Getting devices in ${this.roomId}`);const[f,E]=await this.getDevicesInRoom(c);this.crypto.globalErrorOnUnknownDevices&&this.removeUnknownDevices(f),n.logger.debug(`Ensuring outbound session in ${this.roomId}`),await this.ensureOutboundSession(c,f,E,!0),n.logger.debug(`Ready to encrypt events for ${this.roomId}`)}catch(f){n.logger.error(`Failed to prepare to encrypt events for ${this.roomId}`,f)}finally{delete this.encryptionPreparation}})()}}async encryptMessage(c,f,E){if(n.logger.log(`Starting to encrypt event for ${this.roomId}`),this.encryptionPreparation!=null)try{await this.encryptionPreparation.promise}catch{}const w=this.isVerificationEvent(f,E),[I,D]=await this.getDevicesInRoom(c,w);this.crypto.globalErrorOnUnknownDevices&&this.checkForUnknownDevices(I);const A=await this.ensureOutboundSession(c,I,D),L={room_id:this.roomId,type:f,content:E},F=this.olmDevice.encryptGroupMessage(A.sessionId,JSON.stringify(L)),x={algorithm:i.MEGOLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:F,session_id:A.sessionId,device_id:this.deviceId};return A.useCount++,x}isVerificationEvent(c,f){switch(c){case p.EventType.KeyVerificationCancel:case p.EventType.KeyVerificationDone:case p.EventType.KeyVerificationMac:case p.EventType.KeyVerificationStart:case p.EventType.KeyVerificationKey:case p.EventType.KeyVerificationReady:case p.EventType.KeyVerificationAccept:return!0;case p.EventType.RoomMessage:return f.msgtype===p.MsgType.KeyVerificationRequest;default:return!1}}forceDiscardSession(){this.setupPromise=this.setupPromise.then(()=>null)}checkForUnknownDevices(c){const f={};if(Object.keys(c).forEach(E=>{Object.keys(c[E]).forEach(w=>{const I=c[E][w];I.isUnverified()&&!I.isKnown()&&(f[E]||(f[E]={}),f[E][w]=I)})}),Object.keys(f).length)throw new a.UnknownDeviceError("This room contains unknown devices which have not been verified. We strongly recommend you verify them before continuing.",f)}removeUnknownDevices(c){for(const[f,E]of Object.entries(c)){for(const[w,I]of Object.entries(E))I.isUnverified()&&!I.isKnown()&&delete E[w];Object.keys(E).length===0&&delete c[f]}}async getDevicesInRoom(c,f=!1){const w=(await c.getEncryptionTargetMembers()).map(function(F){return F.userId});let I=this.crypto.globalBlacklistUnverifiedDevices;const D=c.getBlacklistUnverifiedDevices();typeof D=="boolean"&&(I=D);const A=await this.crypto.downloadKeys(w,!1),L={};for(const F in A){if(!A.hasOwnProperty(F))continue;const x=A[F];for(const H in x){if(!x.hasOwnProperty(H))continue;const K=this.crypto.checkDeviceTrust(F,H);if(x[H].isBlocked()||!K.isVerified()&&I&&!f){L[F]||(L[F]={});const W=x[H].isBlocked();L[F][H]={code:W?"m.blacklisted":"m.unverified",reason:o.WITHHELD_MESSAGES[W?"m.blacklisted":"m.unverified"],deviceInfo:x[H]},delete x[H]}}}return[A,L]}}Ui.MegolmEncryption=h;class _ extends a.DecryptionAlgorithm{constructor(c){super(c),(0,t.default)(this,"pendingEvents",new Map),(0,t.default)(this,"olmlib",i),(0,t.default)(this,"roomId",void 0),this.roomId=c.roomId}async decryptEvent(c){const f=c.getWireContent();if(!f.sender_key||!f.session_id||!f.ciphertext)throw new a.DecryptionError("MEGOLM_MISSING_FIELDS","Missing fields in input");this.addEventToPendingList(c);let E;try{E=await this.olmDevice.decryptGroupMessage(c.getRoomId(),f.sender_key,f.session_id,f.ciphertext,c.getId(),c.getTs())}catch(I){if(I.name==="DecryptionError")throw I;let D="OLM_DECRYPT_GROUP_MESSAGE_ERROR";throw(I==null?void 0:I.message)==="OLM.UNKNOWN_MESSAGE_INDEX"&&(this.requestKeysForEvent(c),D="OLM_UNKNOWN_MESSAGE_INDEX"),new a.DecryptionError(D,I?I.toString():"Unknown Error: Error is undefined",{session:f.sender_key+"|"+f.session_id})}if(E===null){this.crypto.backupManager.queryKeyBackupRateLimited(c.getRoomId(),f.session_id).catch(()=>{}),this.requestKeysForEvent(c);const I=await this.olmDevice.sessionMayHaveProblems(f.sender_key,c.getTs()-12e4);if(I){n.logger.info(`When handling UISI from ${c.getSender()} (sender key ${f.sender_key}): recent session problem with that sender: ${I}`);let D=d[I.type]||d.unknown;throw I.fixed&&(D+=" Trying to create a new secure channel and re-requesting the keys."),new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",D,{session:f.sender_key+"|"+f.session_id})}throw new a.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID","The sender's device has not sent us the keys for this message.",{session:f.sender_key+"|"+f.session_id})}E.untrusted||this.removeEventFromPendingList(c);const w=JSON.parse(E.result);if(w.room_id!==c.getRoomId())throw new a.DecryptionError("MEGOLM_BAD_ROOM","Message intended for room "+w.room_id);return{clearEvent:w,senderCurve25519Key:E.senderKey,claimedEd25519Key:E.keysClaimed.ed25519,forwardingCurve25519KeyChain:E.forwardingCurve25519KeyChain,untrusted:E.untrusted}}requestKeysForEvent(c){const f=c.getWireContent(),E=c.getKeyRequestRecipients(this.userId);this.crypto.requestRoomKey({room_id:c.getRoomId(),algorithm:f.algorithm,sender_key:f.sender_key,session_id:f.session_id},E)}addEventToPendingList(c){var f;const E=c.getWireContent(),w=E.sender_key,I=E.session_id;this.pendingEvents.has(w)||this.pendingEvents.set(w,new Map);const D=this.pendingEvents.get(w);D.has(I)||D.set(I,new Set),(f=D.get(I))===null||f===void 0||f.add(c)}removeEventFromPendingList(c){const f=c.getWireContent(),E=f.sender_key,w=f.session_id,I=this.pendingEvents.get(E),D=I==null?void 0:I.get(w);D&&(D.delete(c),D.size===0&&I.delete(w),I.size===0&&this.pendingEvents.delete(E))}async onRoomKeyEvent(c){const f=c.getContent();let E=c.getSenderKey(),w=[],I=!1,D;const A={};if(!f.room_id||!f.session_key||!f.session_id||!f.algorithm){n.logger.error("key event is missing fields");return}if(!i.isOlmEncrypted(c)){n.logger.error("key event not properly encrypted");return}if(f["org.matrix.msc3061.shared_history"]&&(A.sharedHistory=!0),c.getType()=="m.forwarded_room_key"){var L,F,x,H;const K=this.crypto.deviceList.getDeviceByIdentityKey(i.OLM_ALGORITHM,E);if(this.baseApis.crypto.deviceList.getUserByIdentityKey(i.OLM_ALGORITHM,E)!==c.getSender()){n.logger.error("sending device does not belong to the user it claims to be from");return}const G=(K?await this.crypto.cryptoStore.getOutgoingRoomKeyRequestsByTarget(c.getSender(),K.deviceId,[u.RoomKeyRequestState.Sent]):[]).some(N=>N.requestBody.room_id===f.room_id&&N.requestBody.session_id===f.session_id),j=this.baseApis.getRoom(f.room_id),Y=j==null||(L=j.getMember(this.userId))===null||L===void 0?void 0:L.events.member,R=(Y==null?void 0:Y.getSender())===c.getSender()||(Y==null||(F=Y.getUnsigned())===null||F===void 0?void 0:F.prev_sender)===c.getSender()&&(Y==null||(x=Y.getPrevContent())===null||x===void 0?void 0:x.membership)==="invite",k=c.getSender()===this.baseApis.getUserId();if(!G&&!k){if(!A.sharedHistory){n.logger.log("forwarded key not shared history - ignoring");return}if(j&&!R){n.logger.log("forwarded key not from inviter or from us - ignoring");return}}if(I=!0,w=Array.isArray(f.forwarding_curve25519_key_chain)?f.forwarding_curve25519_key_chain:[],w=w.slice(),w.push(E),!f.sender_key){n.logger.error("forwarded_room_key event is missing sender_key field");return}const B=f.sender_claimed_ed25519_key;if(!B){n.logger.error("forwarded_room_key_event is missing sender_claimed_ed25519_key field");return}if(D={ed25519:B},!j){const N={senderId:c.getSender(),senderKey:f.sender_key,sessionId:f.session_id,sessionKey:f.session_key,keysClaimed:D,forwardingCurve25519KeyChain:w};await this.crypto.cryptoStore.doTxn("readwrite",["parked_shared_history"],T=>this.crypto.cryptoStore.addParkedSharedHistory(f.room_id,N,T),n.logger.withPrefix("[addParkedSharedHistory]"));return}const $=(H=this.crypto.deviceList.getDeviceByIdentityKey(i.OLM_ALGORITHM,E))!==null&&H!==void 0?H:void 0,C=this.crypto.checkDeviceInfoTrust(c.getSender(),$);if(k&&!C.isVerified())return;A.untrusted=!0,E=f.sender_key}else D=c.getKeysClaimed();f["org.matrix.msc3061.shared_history"]&&(A.sharedHistory=!0);try{await this.olmDevice.addInboundGroupSession(f.room_id,E,w,f.session_id,f.session_key,D,I,A),await this.retryDecryption(E,f.session_id,!A.untrusted)&&this.crypto.cancelRoomKeyRequest({algorithm:f.algorithm,room_id:f.room_id,session_id:f.session_id,sender_key:E}),await this.crypto.backupManager.backupGroupSession(E,f.session_id)}catch(K){n.logger.error(`Error handling m.room_key_event: ${K}`)}}async onRoomKeyWithheldEvent(c){const f=c.getContent(),E=f.sender_key;if(f.code==="m.no_olm"){const w=c.getSender();if(n.logger.warn(`${w}:${E} was unable to establish an olm session with us`),await this.olmDevice.getSessionIdForDevice(E)){n.logger.debug("New session already created. Not creating a new one."),await this.olmDevice.recordSessionProblem(E,"no_olm",!0),this.retryDecryptionFromSender(E);return}let I=this.crypto.deviceList.getDeviceByIdentityKey(f.algorithm,E);if(!I&&(await this.crypto.downloadKeys([w],!1),I=this.crypto.deviceList.getDeviceByIdentityKey(f.algorithm,E),!I)){n.logger.info("Couldn't find device for identity key "+E+": not establishing session"),await this.olmDevice.recordSessionProblem(E,"no_olm",!1),this.retryDecryptionFromSender(E);return}await i.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[w]:[I]},!1);const D={algorithm:i.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{},[p.ToDeviceMessageId]:(0,r.v4)()};await i.encryptMessageForDevice(D.ciphertext,this.userId,void 0,this.olmDevice,w,I,{type:"m.dummy"}),await this.olmDevice.recordSessionProblem(E,"no_olm",!0),this.retryDecryptionFromSender(E),await this.baseApis.sendToDevice("m.room.encrypted",{[w]:{[I.deviceId]:D}})}else await this.olmDevice.addInboundGroupSessionWithheld(f.room_id,E,f.session_id,f.code,f.reason)}hasKeysForKeyRequest(c){const f=c.requestBody;return this.olmDevice.hasInboundSessionKeys(f.room_id,f.sender_key,f.session_id)}shareKeysWithDevice(c){const f=c.userId,E=c.deviceId,w=this.crypto.getStoredDevice(f,E),I=c.requestBody;this.olmlib.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[f]:[w]}).then(D=>D[f][E].sessionId?(n.logger.log("sharing keys for session "+I.sender_key+"|"+I.session_id+" with device "+f+":"+E),this.buildKeyForwardingMessage(I.room_id,I.sender_key,I.session_id)):null).then(D=>{const A={algorithm:i.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{},[p.ToDeviceMessageId]:(0,r.v4)()};return this.olmlib.encryptMessageForDevice(A.ciphertext,this.userId,void 0,this.olmDevice,f,w,D).then(()=>{const L={[f]:{[E]:A}};return this.baseApis.sendToDevice("m.room.encrypted",L)})})}async buildKeyForwardingMessage(c,f,E){const w=await this.olmDevice.getInboundGroupSessionKey(c,f,E);return{type:"m.forwarded_room_key",content:{algorithm:i.MEGOLM_ALGORITHM,room_id:c,sender_key:f,sender_claimed_ed25519_key:w.sender_claimed_ed25519_key,session_id:E,session_key:w.key,chain_index:w.chain_index,forwarding_curve25519_key_chain:w.forwarding_curve25519_key_chain,"org.matrix.msc3061.shared_history":w.shared_history||!1}}}importRoomKey(c,{untrusted:f,source:E}={}){const w={};return(f||c.untrusted)&&(w.untrusted=!0),c["org.matrix.msc3061.shared_history"]&&(w.sharedHistory=!0),this.olmDevice.addInboundGroupSession(c.room_id,c.sender_key,c.forwarding_curve25519_key_chain,c.session_id,c.session_key,c.sender_claimed_keys,!0,w).then(()=>{E!=="backup"&&this.crypto.backupManager.backupGroupSession(c.sender_key,c.session_id).catch(I=>{n.logger.log("Failed to back up megolm session",I)}),this.retryDecryption(c.sender_key,c.session_id,!w.untrusted)})}async retryDecryption(c,f,E){var w;const I=this.pendingEvents.get(c);if(!I)return!0;const D=I.get(f);return D?(n.logger.debug("Retrying decryption on events",[...D]),await Promise.all([...D].map(async A=>{try{await A.attemptDecryption(this.crypto,{isRetry:!0,forceRedecryptIfUntrusted:E})}catch{}})),!((w=this.pendingEvents.get(c))!==null&&w!==void 0&&w.has(f))):!0}async retryDecryptionFromSender(c){const f=this.pendingEvents.get(c);return f?(this.pendingEvents.delete(c),await Promise.all([...f].map(async([E,w])=>{await Promise.all([...w].map(async I=>{try{await I.attemptDecryption(this.crypto)}catch{}}))})),!this.pendingEvents.has(c)):!0}async sendSharedHistoryInboundSessions(c){await i.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,c);const f=await this.olmDevice.getSharedHistoryInboundGroupSessions(this.roomId);n.logger.log(`Sharing history in ${this.roomId} with users ${Object.keys(c)}`,f.map(([E,w])=>`${E}|${w}`));for(const[E,w]of f){const I=await this.buildKeyForwardingMessage(this.roomId,E,w),D=[],A={};for(const[L,F]of Object.entries(c)){A[L]={};for(const x of F){const H={algorithm:i.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{},[p.ToDeviceMessageId]:(0,r.v4)()};A[L][x.deviceId]=H,D.push(i.encryptMessageForDevice(H.ciphertext,this.userId,void 0,this.olmDevice,L,x,I))}}await Promise.all(D);for(const L of Object.keys(A)){for(const F of Object.keys(A[L]))Object.keys(A[L][F].ciphertext).length===0&&(n.logger.log("No ciphertext for device "+L+":"+F+": pruning"),delete A[L][F]);Object.keys(A[L]).length===0&&(n.logger.log("Pruned all devices for user "+L),delete A[L])}if(Object.keys(A).length===0){n.logger.log("No users left to send to: aborting");return}await this.baseApis.sendToDevice("m.room.encrypted",A)}}}Ui.MegolmDecryption=_;const d={no_olm:"The sender was unable to establish a secure channel.",unknown:"The secure channel with the sender was corrupted."};return(0,a.registerAlgorithm)(i.MEGOLM_ALGORITHM,h,_),Ui}var G3;function tw(){return G3||(G3=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),DB(),ew();var t=$0();Object.keys(t).forEach(function(r){r==="default"||r==="__esModule"||r in e&&e[r]===t[r]||Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[r]}})})}(ih)),ih}var z3;function rw(){if(z3)return ri;z3=1;var e=Ae;Object.defineProperty(ri,"__esModule",{value:!0}),ri.WITHHELD_MESSAGES=ri.PayloadTooLargeError=ri.OlmDevice=void 0;var t=e(Ue),r=Ge(),n=sn,i=o(tw());function a(S){if(typeof WeakMap!="function")return null;var v=new WeakMap,h=new WeakMap;return(a=function(_){return _?h:v})(S)}function o(S,v){if(!v&&S&&S.__esModule)return S;if(S===null||typeof S!="object"&&typeof S!="function")return{default:S};var h=a(v);if(h&&h.has(S))return h.get(S);var _={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in S)if(l!=="default"&&Object.prototype.hasOwnProperty.call(S,l)){var c=d?Object.getOwnPropertyDescriptor(S,l):null;c&&(c.get||c.set)?Object.defineProperty(_,l,c):_[l]=S[l]}return _.default=S,h&&h.set(S,_),_}const p=65536*3/4;class u extends Error{constructor(...v){super(...v),(0,t.default)(this,"data",{errcode:"M_TOO_LARGE",error:"Payload too large for encrypted message"})}}ri.PayloadTooLargeError=u;function y(S){if(S===void 0)throw new Error("payloadString undefined");if(S.length>p)throw new u(`Message too long (${S.length} bytes). The maximum for an encrypted message is ${p} bytes.`)}let s=class{constructor(v){this.cryptoStore=v,(0,t.default)(this,"pickleKey","DEFAULT_KEY"),(0,t.default)(this,"deviceCurve25519Key",null),(0,t.default)(this,"deviceEd25519Key",null),(0,t.default)(this,"maxOneTimeKeys",null),(0,t.default)(this,"outboundGroupSessionStore",{}),(0,t.default)(this,"inboundGroupSessionMessageIndexes",{}),(0,t.default)(this,"sessionsInProgress",{}),(0,t.default)(this,"olmPrekeyPromise",Promise.resolve())}static getOlmVersion(){return $e.Olm.get_library_version()}async init({pickleKey:v,fromExportedDevice:h}={}){let _;const d=new $e.Olm.Account;try{h?(v&&r.logger.warn("ignoring opts.pickleKey because opts.fromExportedDevice is present."),this.pickleKey=h.pickleKey,await this.initialiseFromExportedDevice(h,d)):(v&&(this.pickleKey=v),await this.initialiseAccount(d)),_=JSON.parse(d.identity_keys()),this.maxOneTimeKeys=d.max_number_of_one_time_keys()}finally{d.free()}this.deviceCurve25519Key=_.curve25519,this.deviceEd25519Key=_.ed25519}async initialiseFromExportedDevice(v,h){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT,n.IndexedDBCryptoStore.STORE_SESSIONS],_=>{this.cryptoStore.storeAccount(_,v.pickledAccount),v.sessions.forEach(d=>{const{deviceKey:l,sessionId:c}=d,f={session:d.session,lastReceivedMessageTs:d.lastReceivedMessageTs};this.cryptoStore.storeEndToEndSession(l,c,f,_)})}),h.unpickle(this.pickleKey,v.pickledAccount)}async initialiseAccount(v){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT],h=>{this.cryptoStore.getAccount(h,_=>{_!==null?v.unpickle(this.pickleKey,_):(v.create(),_=v.pickle(this.pickleKey),this.cryptoStore.storeAccount(h,_))})})}getAccount(v,h){this.cryptoStore.getAccount(v,_=>{const d=new $e.Olm.Account;try{d.unpickle(this.pickleKey,_),h(d)}finally{d.free()}})}storeAccount(v,h){this.cryptoStore.storeAccount(v,h.pickle(this.pickleKey))}async export(){const v={pickleKey:this.pickleKey};return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_ACCOUNT,n.IndexedDBCryptoStore.STORE_SESSIONS],h=>{this.cryptoStore.getAccount(h,_=>{v.pickledAccount=_}),v.sessions=[],this.cryptoStore.getAllEndToEndSessions(h,_=>{v.sessions.push(_)})}),v}getSession(v,h,_,d){this.cryptoStore.getEndToEndSession(v,h,_,l=>{this.unpickleSession(l,d)})}unpickleSession(v,h){const _=new $e.Olm.Session;try{_.unpickle(this.pickleKey,v.session);const d=Object.assign({},v,{session:_});h(d)}finally{_.free()}}saveSession(v,h,_){const d=h.session.session_id(),l=Object.assign(h,{session:h.session.pickle(this.pickleKey)});this.cryptoStore.storeEndToEndSession(v,d,l,_)}getUtility(v){const h=new $e.Olm.Utility;try{return v(h)}finally{h.free()}}async sign(v){let h;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_ACCOUNT],_=>{this.getAccount(_,d=>{h=d.sign(v)})}),h}async getOneTimeKeys(){let v;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_ACCOUNT],h=>{this.getAccount(h,_=>{v=JSON.parse(_.one_time_keys())})}),v}maxNumberOfOneTimeKeys(){var v;return(v=this.maxOneTimeKeys)!==null&&v!==void 0?v:-1}async markKeysAsPublished(){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT],v=>{this.getAccount(v,h=>{h.mark_keys_as_published(),this.storeAccount(v,h)})})}generateOneTimeKeys(v){return this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT],h=>{this.getAccount(h,_=>{_.generate_one_time_keys(v),this.storeAccount(h,_)})})}async generateFallbackKey(){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT],v=>{this.getAccount(v,h=>{h.generate_fallback_key(),this.storeAccount(v,h)})})}async getFallbackKey(){let v;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_ACCOUNT],h=>{this.getAccount(h,_=>{v=JSON.parse(_.unpublished_fallback_key())})}),v}async forgetOldFallbackKey(){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT],v=>{this.getAccount(v,h=>{h.forget_old_fallback_key(),this.storeAccount(v,h)})})}async createOutboundSession(v,h){let _;return await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT,n.IndexedDBCryptoStore.STORE_SESSIONS],d=>{this.getAccount(d,l=>{const c=new $e.Olm.Session;try{c.create_outbound(l,v,h),_=c.session_id(),this.storeAccount(d,l);const f={session:c,lastReceivedMessageTs:Date.now()};this.saveSession(v,f,d)}finally{c.free()}})},r.logger.withPrefix("[createOutboundSession]")),_}async createInboundSession(v,h,_){if(h!==0)throw new Error("Need messageType == 0 to create inbound session");let d;return await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_ACCOUNT,n.IndexedDBCryptoStore.STORE_SESSIONS],l=>{this.getAccount(l,c=>{const f=new $e.Olm.Session;try{f.create_inbound_from(c,v,_),c.remove_one_time_keys(f),this.storeAccount(l,c);const E=f.decrypt(h,_),w={session:f,lastReceivedMessageTs:Date.now()};this.saveSession(v,w,l),d={payload:E,session_id:f.session_id()}}finally{f.free()}})},r.logger.withPrefix("[createInboundSession]")),d}async getSessionIdsForDevice(v){const h=r.logger.withPrefix("[getSessionIdsForDevice]");if(v in this.sessionsInProgress){h.debug(`Waiting for Olm session for ${v} to be created`);try{await this.sessionsInProgress[v]}catch{}}let _;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_SESSIONS],d=>{this.cryptoStore.getEndToEndSessions(v,d,l=>{_=Object.keys(l)})},h),_}async getSessionIdForDevice(v,h=!1,_){const d=await this.getSessionInfoForDevice(v,h,_);if(d.length===0)return null;let l=0;for(let c=1;c<d.length;c++){const f=d[c],E=f.lastReceivedMessageTs===void 0?0:f.lastReceivedMessageTs,w=d[l],I=w.lastReceivedMessageTs===void 0?0:w.lastReceivedMessageTs;(E>I||E===I&&f.sessionId<w.sessionId)&&(l=c)}return d[l].sessionId}async getSessionInfoForDevice(v,h=!1,_=r.logger){if(_=_.withPrefix("[getSessionInfoForDevice]"),v in this.sessionsInProgress&&!h){_.debug(`Waiting for Olm session for ${v} to be created`);try{await this.sessionsInProgress[v]}catch{}}const d=[];return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_SESSIONS],l=>{this.cryptoStore.getEndToEndSessions(v,l,c=>{const f=Object.keys(c).sort();for(const E of f)this.unpickleSession(c[E],w=>{d.push({lastReceivedMessageTs:w.lastReceivedMessageTs,hasReceivedMessage:w.session.has_received_message(),sessionId:E})})})},_),d}async encryptMessage(v,h,_){y(_);let d;return await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_SESSIONS],l=>{this.getSession(v,h,l,c=>{const f=c.session.describe();r.logger.log("encryptMessage: Olm Session ID "+h+" to "+v+": "+f),d=c.session.encrypt(_),this.saveSession(v,c,l)})},r.logger.withPrefix("[encryptMessage]")),d}async decryptMessage(v,h,_,d){let l;return await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_SESSIONS],c=>{this.getSession(v,h,c,f=>{const E=f.session.describe();r.logger.log("decryptMessage: Olm Session ID "+h+" from "+v+": "+E),l=f.session.decrypt(_,d),f.lastReceivedMessageTs=Date.now(),this.saveSession(v,f,c)})},r.logger.withPrefix("[decryptMessage]")),l}async matchesSession(v,h,_,d){if(_!==0)return!1;let l;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_SESSIONS],c=>{this.getSession(v,h,c,f=>{l=f.session.matches_inbound(d)})},r.logger.withPrefix("[matchesSession]")),l}async recordSessionProblem(v,h,_){r.logger.info(`Recording problem on olm session with ${v} of type ${h}. Recreating: ${_}`),await this.cryptoStore.storeEndToEndSessionProblem(v,h,_)}sessionMayHaveProblems(v,h){return this.cryptoStore.getEndToEndSessionProblem(v,h)}filterOutNotifiedErrorDevices(v){return this.cryptoStore.filterOutNotifiedErrorDevices(v)}saveOutboundGroupSession(v){this.outboundGroupSessionStore[v.session_id()]=v.pickle(this.pickleKey)}getOutboundGroupSession(v,h){const _=this.outboundGroupSessionStore[v];if(_===void 0)throw new Error("Unknown outbound group session "+v);const d=new $e.Olm.OutboundGroupSession;try{return d.unpickle(this.pickleKey,_),h(d)}finally{d.free()}}createOutboundGroupSession(){const v=new $e.Olm.OutboundGroupSession;try{return v.create(),this.saveOutboundGroupSession(v),v.session_id()}finally{v.free()}}encryptGroupMessage(v,h){return r.logger.log(`encrypting msg with megolm session ${v}`),y(h),this.getOutboundGroupSession(v,_=>{const d=_.encrypt(h);return this.saveOutboundGroupSession(_),d})}getOutboundGroupSessionKey(v){return this.getOutboundGroupSession(v,function(h){return{chain_index:h.message_index(),key:h.session_key()}})}unpickleInboundGroupSession(v,h){const _=new $e.Olm.InboundGroupSession;try{return _.unpickle(this.pickleKey,v.session),h(_)}finally{_.free()}}getInboundGroupSession(v,h,_,d,l){this.cryptoStore.getEndToEndInboundGroupSession(h,_,d,(c,f)=>{if(c===null){l(null,null,f);return}if(v!==null&&v!==c.room_id)throw new Error("Mismatched room_id for inbound group session (expected "+c.room_id+", was "+v+")");this.unpickleInboundGroupSession(c,E=>{l(E,c,f)})})}async addInboundGroupSession(v,h,_,d,l,c,f,E={}){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD,n.IndexedDBCryptoStore.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS],w=>{this.getInboundGroupSession(v,h,d,w,(I,D)=>{const A=new $e.Olm.InboundGroupSession;try{if(f?A.import_session(l):A.create(l),d!=A.session_id())throw new Error("Mismatched group session ID from senderKey: "+h);if(I&&(r.logger.log(`Update for megolm session ${h}|${d}`),I.first_known_index()<=A.first_known_index())){if(!D.untrusted||E.untrusted){r.logger.log(`Keeping existing megolm session ${h}|${d}`);return}if(I.first_known_index()<A.first_known_index()){I.export_session(A.first_known_index())===A.export_session(A.first_known_index())?(r.logger.info(`Upgrading trust of existing megolm session ${h}|${d} based on newly-received trusted session`),D.untrusted=!1,this.cryptoStore.storeEndToEndInboundGroupSession(h,d,D,w)):r.logger.warn(`Newly-received megolm session ${h}|$sessionId} does not match existing session! Keeping existing session`);return}}r.logger.info(`Storing megolm session ${h}|${d} with first index `+A.first_known_index());const L=Object.assign({},E,{room_id:v,session:A.pickle(this.pickleKey),keysClaimed:c,forwardingCurve25519KeyChain:_});this.cryptoStore.storeEndToEndInboundGroupSession(h,d,L,w),!I&&E.sharedHistory&&this.cryptoStore.addSharedHistoryInboundGroupSession(v,h,d,w)}finally{A.free()}})},r.logger.withPrefix("[addInboundGroupSession]"))}async addInboundGroupSessionWithheld(v,h,_,d,l){await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],c=>{this.cryptoStore.storeEndToEndInboundGroupSessionWithheld(h,_,{room_id:v,code:d,reason:l},c)})}async decryptGroupMessage(v,h,_,d,l,c){let f=null,E;if(await this.cryptoStore.doTxn("readwrite",[n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],w=>{this.getInboundGroupSession(v,h,_,w,(I,D,A)=>{if(I===null||D===null){A&&(E=new i.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",g(A),{session:h+"|"+_})),f=null;return}let L;try{L=I.decrypt(d)}catch(x){(x==null?void 0:x.message)==="OLM.UNKNOWN_MESSAGE_INDEX"&&A?E=new i.DecryptionError("MEGOLM_UNKNOWN_INBOUND_SESSION_ID",g(A),{session:h+"|"+_}):E=x;return}let F=L.plaintext;if(F===void 0)F=L;else{const x=h+"|"+_+"|"+L.message_index;if(x in this.inboundGroupSessionMessageIndexes){const H=this.inboundGroupSessionMessageIndexes[x];if(H.id!==l||H.timestamp!==c){E=new Error("Duplicate message index, possible replay attack: "+x);return}}this.inboundGroupSessionMessageIndexes[x]={id:l,timestamp:c}}D.session=I.pickle(this.pickleKey),this.cryptoStore.storeEndToEndInboundGroupSession(h,_,D,w),f={result:F,keysClaimed:D.keysClaimed||{},senderKey:h,forwardingCurve25519KeyChain:D.forwardingCurve25519KeyChain||[],untrusted:!!D.untrusted}})},r.logger.withPrefix("[decryptGroupMessage]")),E)throw E;return f}async hasInboundSessionKeys(v,h,_){let d;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],l=>{this.cryptoStore.getEndToEndInboundGroupSession(h,_,l,c=>{if(c===null){d=!1;return}v!==c.room_id?(r.logger.warn(`requested keys for inbound group session ${h}|${_}, with incorrect room_id (expected ${c.room_id}, was ${v})`),d=!1):d=!0})},r.logger.withPrefix("[hasInboundSessionKeys]")),d}async getInboundGroupSessionKey(v,h,_,d){let l=null;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,n.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS_WITHHELD],c=>{this.getInboundGroupSession(v,h,_,c,(f,E)=>{if(f===null||E===null){l=null;return}d===void 0&&(d=f.first_known_index());const w=f.export_session(d),D=(E.keysClaimed||{}).ed25519||null,A=E.forwardingCurve25519KeyChain||[],L="untrusted"in E?E.untrusted:A.length>0;l={chain_index:d,key:w,forwarding_curve25519_key_chain:A,sender_claimed_ed25519_key:D,shared_history:E.sharedHistory||!1,untrusted:L}})},r.logger.withPrefix("[getInboundGroupSessionKey]")),l}exportInboundGroupSession(v,h,_){return this.unpickleInboundGroupSession(_,d=>{const l=d.first_known_index();return{sender_key:v,sender_claimed_keys:_.keysClaimed,room_id:_.room_id,session_id:h,session_key:d.export_session(l),forwarding_curve25519_key_chain:_.forwardingCurve25519KeyChain||[],first_known_index:d.first_known_index(),"org.matrix.msc3061.shared_history":_.sharedHistory||!1}})}async getSharedHistoryInboundGroupSessions(v){let h;return await this.cryptoStore.doTxn("readonly",[n.IndexedDBCryptoStore.STORE_SHARED_HISTORY_INBOUND_GROUP_SESSIONS],_=>{h=this.cryptoStore.getSharedHistoryInboundGroupSessions(v,_)},r.logger.withPrefix("[getSharedHistoryInboundGroupSessionsForRoom]")),h}verifySignature(v,h,_){this.getUtility(function(d){d.ed25519_verify(v,h,_)})}};ri.OlmDevice=s;const m={"m.unverified":"The sender has disabled encrypting to unverified devices.","m.blacklisted":"The sender has blocked you.","m.unauthorised":"You are not authorised to read the message.","m.no_olm":"Unable to establish a secure channel."};ri.WITHHELD_MESSAGES=m;function g(S){return S.code&&S.code in m?m[S.code]:S.reason?S.reason:"decryption key withheld"}return ri}var Fi={},_r={},Do={},Kt={};const cs=Ns(KF);var Y3;function F0(){if(Y3)return Kt;Y3=1,Object.defineProperty(Kt,"__esModule",{value:!0}),Kt.crypto=Kt.TextEncoder=void 0,Kt.setCrypto=g,Kt.setTextEncoder=S,Kt.subtleCrypto=void 0;var e=Ge(),t,r,n,i,a,o,p;let u=(t=$e.window)===null||t===void 0?void 0:t.crypto;Kt.crypto=u;let y=(r=(n=$e.window)===null||n===void 0||(i=n.crypto)===null||i===void 0?void 0:i.subtle)!==null&&r!==void 0?r:(a=$e.window)===null||a===void 0||(o=a.crypto)===null||o===void 0?void 0:o.webkitSubtle;Kt.subtleCrypto=y;let s=(p=$e.window)===null||p===void 0?void 0:p.TextEncoder;if(Kt.TextEncoder=s,!u)try{Kt.crypto=u=cs.webcrypto}catch(v){e.logger.error("Failed to load webcrypto",v)}if(!y){var m;Kt.subtleCrypto=y=(m=u)===null||m===void 0?void 0:m.subtle}if(!s)try{Kt.TextEncoder=s=cs.TextEncoder}catch(v){e.logger.error("Failed to load TextEncoder util",v)}function g(v){var h;Kt.crypto=u=v,Kt.subtleCrypto=y=(h=v.subtle)!==null&&h!==void 0?h:v.webkitSubtle}function S(v){Kt.TextEncoder=s=v}return Kt}var Q3;function wu(){if(Q3)return Do;Q3=1,Object.defineProperty(Do,"__esModule",{value:!0}),Do.calculateKeyCheck=p,Do.decryptAES=i,Do.encryptAES=n;var e=ct,t=F0();const r=new Uint8Array(8);async function n(u,y,s,m){let g;m?g=(0,e.decodeBase64)(m):(g=new Uint8Array(16),t.crypto.getRandomValues(g),g[8]&=127);const[S,v]=await a(y,s),h=new t.TextEncoder().encode(u),_=await t.subtleCrypto.encrypt({name:"AES-CTR",counter:g,length:64},S,h),d=await t.subtleCrypto.sign({name:"HMAC"},v,_);return{iv:(0,e.encodeBase64)(g),ciphertext:(0,e.encodeBase64)(_),mac:(0,e.encodeBase64)(d)}}async function i(u,y,s){const[m,g]=await a(y,s),S=(0,e.decodeBase64)(u.ciphertext);if(!await t.subtleCrypto.verify({name:"HMAC"},g,(0,e.decodeBase64)(u.mac),S))throw new Error(`Error decrypting secret ${s}: bad MAC`);const v=await t.subtleCrypto.decrypt({name:"AES-CTR",counter:(0,e.decodeBase64)(u.iv),length:64},m,S);return new TextDecoder().decode(new Uint8Array(v))}async function a(u,y){const s=await t.subtleCrypto.importKey("raw",u,{name:"HKDF"},!1,["deriveBits"]),m=await t.subtleCrypto.deriveBits({name:"HKDF",salt:r,info:new t.TextEncoder().encode(y),hash:"SHA-256"},s,512),g=m.slice(0,32),S=m.slice(32),v=t.subtleCrypto.importKey("raw",g,{name:"AES-CTR"},!1,["encrypt","decrypt"]),h=t.subtleCrypto.importKey("raw",S,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]);return Promise.all([v,h])}const o="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";function p(u,y){return n(o,u,"",y)}return Do}var J3;function g1(){if(J3)return _r;J3=1;var e=Ae;Object.defineProperty(_r,"__esModule",{value:!0}),_r.UserTrustLevel=_r.DeviceTrustLevel=_r.CrossSigningLevel=_r.CrossSigningInfo=void 0,_r.createCryptoStoreCacheCallbacks=S,_r.requestKeysDuringVerification=v;var t=e(Ue),r=ct,n=Ge(),i=sn,a=wu();const o=1e3*60;function p(h){return Object.values(h.keys)[0]}class u{constructor(_,d={},l={}){this.userId=_,this.callbacks=d,this.cacheCallbacks=l,(0,t.default)(this,"keys",{}),(0,t.default)(this,"firstUse",!0),(0,t.default)(this,"crossSigningVerifiedBefore",!1)}static fromStorage(_,d){const l=new u(d);for(const c in _)_.hasOwnProperty(c)&&(l[c]=_[c]);return l}toStorage(){return{keys:this.keys,firstUse:this.firstUse,crossSigningVerifiedBefore:this.crossSigningVerifiedBefore}}async getCrossSigningKey(_,d){const l=["master","self_signing","user_signing"].indexOf(_)>=0;if(!this.callbacks.getCrossSigningKey)throw new Error("No getCrossSigningKey callback supplied");d===void 0&&(d=this.getId(_));function c(I){if(!I)return;const D=new $e.Olm.PkSigning,A=D.init_with_seed(I);if(A===d)return[A,D];D.free()}let f=null;this.cacheCallbacks.getCrossSigningKeyCache&&l&&(f=await this.cacheCallbacks.getCrossSigningKeyCache(_,d));const E=c(f);if(E)return E;f=await this.callbacks.getCrossSigningKey(_,d);const w=c(f);if(w)return this.cacheCallbacks.storeCrossSigningKeyCache&&l&&await this.cacheCallbacks.storeCrossSigningKeyCache(_,f),w;throw f?new Error("Key type "+_+" from getCrossSigningKey callback did not match"):new Error("getCrossSigningKey callback for "+_+" returned falsey")}async isStoredInSecretStorage(_){const d=await _.isStored("m.cross_signing.master")||{};function l(c){for(const f of Object.keys(d))c[f]||delete d[f]}for(const c of["self_signing","user_signing"])l(await _.isStored(`m.cross_signing.${c}`)||{});return Object.keys(d).length?d:null}static async storeInSecretStorage(_,d){for(const[l,c]of _){const f=(0,r.encodeBase64)(c);await d.store(`m.cross_signing.${l}`,f)}}static async getFromSecretStorage(_,d){const l=await d.get(`m.cross_signing.${_}`);return l?(0,r.decodeBase64)(l):null}async isStoredInKeyCache(_){const d=this.cacheCallbacks;if(!d)return!1;const l=_?[_]:["master","self_signing","user_signing"];for(const f of l){var c;if(!await((c=d.getCrossSigningKeyCache)===null||c===void 0?void 0:c.call(d,f)))return!1}return!0}async getCrossSigningKeysFromCache(){const _=new Map,d=this.cacheCallbacks;if(!d)return _;for(const c of["master","self_signing","user_signing"]){var l;const f=await((l=d.getCrossSigningKeyCache)===null||l===void 0?void 0:l.call(d,c));f&&_.set(c,f)}return _}getId(_="master"){if(!this.keys[_])return null;const d=this.keys[_];return p(d)}async resetKeys(_){if(!this.callbacks.saveCrossSigningKeys)throw new Error("No saveCrossSigningKeys callback supplied");if(_===void 0||_&s.MASTER||!this.keys.master)_=s.MASTER|s.USER_SIGNING|s.SELF_SIGNING;else if(_===0)return;const d={},l={};let c,f;try{if(_&s.MASTER?(c=new $e.Olm.PkSigning,d.master=c.generate_seed(),f=c.init_with_seed(d.master),l.master={user_id:this.userId,usage:["master"],keys:{["ed25519:"+f]:f}}):[f,c]=await this.getCrossSigningKey("master"),_&s.SELF_SIGNING){const E=new $e.Olm.PkSigning;try{d.self_signing=E.generate_seed();const w=E.init_with_seed(d.self_signing);l.self_signing={user_id:this.userId,usage:["self_signing"],keys:{["ed25519:"+w]:w}},(0,r.pkSign)(l.self_signing,c,this.userId,f)}finally{E.free()}}if(_&s.USER_SIGNING){const E=new $e.Olm.PkSigning;try{d.user_signing=E.generate_seed();const w=E.init_with_seed(d.user_signing);l.user_signing={user_id:this.userId,usage:["user_signing"],keys:{["ed25519:"+w]:w}},(0,r.pkSign)(l.user_signing,c,this.userId,f)}finally{E.free()}}Object.assign(this.keys,l),this.callbacks.saveCrossSigningKeys(d)}finally{c&&c.free()}}clearKeys(){this.keys={}}setKeys(_){const d={};if(_.master){if(_.master.user_id!==this.userId){const c="Mismatched user ID "+_.master.user_id+" in master key from "+this.userId;throw n.logger.error(c),new Error(c)}this.keys.master?p(_.master)!==this.getId()&&(this.firstUse=!1):this.firstUse=!0,d.master=_.master}else if(this.keys.master)d.master=this.keys.master;else throw new Error("Tried to set cross-signing keys without a master key");const l=p(d.master);if(_.user_signing){if(_.user_signing.user_id!==this.userId){const c="Mismatched user ID "+_.master.user_id+" in user_signing key from "+this.userId;throw n.logger.error(c),new Error(c)}try{(0,r.pkVerify)(_.user_signing,l,this.userId)}catch(c){throw n.logger.error("invalid signature on user-signing key"),c}}if(_.self_signing){if(_.self_signing.user_id!==this.userId){const c="Mismatched user ID "+_.master.user_id+" in self_signing key from "+this.userId;throw n.logger.error(c),new Error(c)}try{(0,r.pkVerify)(_.self_signing,l,this.userId)}catch(c){throw n.logger.error("invalid signature on self-signing key"),c}}_.master&&(this.keys.master=_.master,delete this.keys.self_signing,delete this.keys.user_signing),_.self_signing&&(this.keys.self_signing=_.self_signing),_.user_signing&&(this.keys.user_signing=_.user_signing)}updateCrossSigningVerifiedBefore(_){!this.crossSigningVerifiedBefore&&_&&(this.crossSigningVerifiedBefore=!0)}async signObject(_,d){if(!this.keys[d])throw new Error("Attempted to sign with "+d+" key but no such key present");const[l,c]=await this.getCrossSigningKey(d);try{return(0,r.pkSign)(_,c,this.userId,l),_}finally{c.free()}}async signUser(_){if(!this.keys.user_signing){n.logger.info("No user signing key: not signing user");return}return this.signObject(_.keys.master,"user_signing")}async signDevice(_,d){if(_!==this.userId)throw new Error(`Trying to sign ${_}'s device; can only sign our own device`);if(!this.keys.self_signing){n.logger.info("No self signing key: not signing device");return}return this.signObject({algorithms:d.algorithms,keys:d.keys,device_id:d.deviceId,user_id:_},"self_signing")}checkUserTrust(_){if(this.userId===_.userId&&this.getId()&&this.getId()===_.getId()&&this.getId("self_signing")&&this.getId("self_signing")===_.getId("self_signing"))return new m(!0,!0,this.firstUse);if(!this.keys.user_signing)return new m(!1,!1,_.firstUse);let d;const l=_.keys.master,c=this.getId("user_signing");try{(0,r.pkVerify)(l,c,this.userId),d=!0}catch{d=!1}return new m(d,_.crossSigningVerifiedBefore,_.firstUse)}checkDeviceTrust(_,d,l,c){const f=this.checkUserTrust(_),E=_.keys.self_signing;if(!E)return new g(!1,!1,l,c);const w=y(d,_.userId);try{return(0,r.pkVerify)(E,_.getId(),_.userId),(0,r.pkVerify)(w,p(E),_.userId),g.fromUserTrustLevel(f,l,c)}catch{return new g(!1,!1,l,c)}}getCacheCallbacks(){return this.cacheCallbacks}}_r.CrossSigningInfo=u;function y(h,_){return{algorithms:h.algorithms,keys:h.keys,device_id:h.deviceId,user_id:_,signatures:h.signatures}}let s;_r.CrossSigningLevel=s,function(h){h[h.MASTER=4]="MASTER",h[h.USER_SIGNING=2]="USER_SIGNING",h[h.SELF_SIGNING=1]="SELF_SIGNING"}(s||(_r.CrossSigningLevel=s={}));class m{constructor(_,d,l){this.crossSigningVerified=_,this.crossSigningVerifiedBefore=d,this.tofu=l}isVerified(){return this.isCrossSigningVerified()}isCrossSigningVerified(){return this.crossSigningVerified}wasCrossSigningVerified(){return this.crossSigningVerifiedBefore}isTofu(){return this.tofu}}_r.UserTrustLevel=m;class g{constructor(_,d,l,c){this.crossSigningVerified=_,this.tofu=d,this.localVerified=l,this.trustCrossSignedDevices=c}static fromUserTrustLevel(_,d,l){return new g(_.isCrossSigningVerified(),_.isTofu(),d,l)}isVerified(){return Boolean(this.isLocallyVerified()||this.trustCrossSignedDevices&&this.isCrossSigningVerified())}isCrossSigningVerified(){return this.crossSigningVerified}isLocallyVerified(){return this.localVerified}isTofu(){return this.tofu}}_r.DeviceTrustLevel=g;function S(h,_){return{getCrossSigningKeyCache:async function(d,l){const c=await new Promise(f=>h.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_ACCOUNT],E=>{h.getSecretStorePrivateKey(E,f,d)}));if(c&&c.ciphertext){const f=Buffer.from(_.pickleKey),E=await(0,a.decryptAES)(c,f,d);return(0,r.decodeBase64)(E)}else return c},storeCrossSigningKeyCache:async function(d,l){if(!(l instanceof Uint8Array))throw new Error(`storeCrossSigningKeyCache expects Uint8Array, got ${l}`);const c=Buffer.from(_.pickleKey),f=await(0,a.encryptAES)((0,r.encodeBase64)(l),c,d);return h.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],E=>{h.storeSecretStorePrivateKey(E,d,f)})}}}async function v(h,_,d){if(h.getUserId()===_)return n.logger.log("Cross-signing: Self-verification done; requesting keys"),new Promise((l,c)=>{const f=h,E=f.crypto.crossSigningInfo,w=new u(E.userId,{getCrossSigningKey:async A=>{n.logger.debug("Cross-signing: requesting secret",A,d);const{promise:L}=f.requestSecret(`m.cross_signing.${A}`,[d]),F=await L,x=(0,r.decodeBase64)(F);return Uint8Array.from(x)}},E.getCacheCallbacks());w.keys=E.keys;const I=new Promise(A=>{setTimeout(A,o,new Error("Timeout"))}),D=(async()=>{if(!await f.crypto.getSessionBackupPrivateKey()){n.logger.info("No cached backup key found. Requesting...");const F=await f.requestSecret("m.megolm_backup.v1",[d]).promise;n.logger.info("Got key backup key, decoding...");const x=(0,r.decodeBase64)(F);n.logger.info("Decoded backup key, storing..."),await f.crypto.storeSessionBackupPrivateKey(Uint8Array.from(x)),n.logger.info("Backup key stored. Starting backup restore...");const H=await f.getKeyBackupVersion();f.restoreKeyBackupWithCache(void 0,void 0,H).then(()=>{n.logger.info("Backup restored.")})}})();return Promise.race([Promise.all([w.getCrossSigningKey("master"),w.getCrossSigningKey("self_signing"),w.getCrossSigningKey("user_signing"),D]),I]).then(l,c)}).catch(l=>{n.logger.warn("Cross-signing: failure while requesting keys:",l)})}return _r}var X3;function MB(){if(X3)return Fi;X3=1;var e=Ae;Object.defineProperty(Fi,"__esModule",{value:!0}),Fi.TrackingStatus=Fi.DeviceList=void 0;var t=e(Ue),r=Ge(),n=Su(),i=g1(),a=m(ct),o=sn,p=dt(),u=At(),y=q0();function s(d){if(typeof WeakMap!="function")return null;var l=new WeakMap,c=new WeakMap;return(s=function(f){return f?c:l})(d)}function m(d,l){if(!l&&d&&d.__esModule)return d;if(d===null||typeof d!="object"&&typeof d!="function")return{default:d};var c=s(l);if(c&&c.has(d))return c.get(d);var f={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var w in d)if(w!=="default"&&Object.prototype.hasOwnProperty.call(d,w)){var I=E?Object.getOwnPropertyDescriptor(d,w):null;I&&(I.get||I.set)?Object.defineProperty(f,w,I):f[w]=d[w]}return f.default=d,c&&c.set(d,f),f}let g;Fi.TrackingStatus=g,function(d){d[d.NotTracked=0]="NotTracked",d[d.PendingDownload=1]="PendingDownload",d[d.DownloadInProgress=2]="DownloadInProgress",d[d.UpToDate=3]="UpToDate"}(g||(Fi.TrackingStatus=g={}));let S=class extends u.TypedEventEmitter{constructor(l,c,f,E=250){super(),this.cryptoStore=c,this.keyDownloadChunkSize=E,(0,t.default)(this,"devices",{}),(0,t.default)(this,"crossSigningInfo",{}),(0,t.default)(this,"userByIdentityKey",{}),(0,t.default)(this,"deviceTrackingStatus",{}),(0,t.default)(this,"syncToken",null),(0,t.default)(this,"keyDownloadsInProgressByUser",new Map),(0,t.default)(this,"dirty",!1),(0,t.default)(this,"savePromise",null),(0,t.default)(this,"resolveSavePromise",null),(0,t.default)(this,"savePromiseTime",null),(0,t.default)(this,"saveTimer",null),(0,t.default)(this,"hasFetched",null),(0,t.default)(this,"serialiser",void 0),this.serialiser=new v(l,f,this)}async load(){await this.cryptoStore.doTxn("readonly",[o.IndexedDBCryptoStore.STORE_DEVICE_DATA],l=>{this.cryptoStore.getEndToEndDeviceData(l,c=>{var f;this.hasFetched=Boolean(c&&c.devices),this.devices=c?c.devices:{},this.crossSigningInfo=c?c.crossSigningInfo||{}:{},this.deviceTrackingStatus=c?c.trackingStatus:{},this.syncToken=(f=c==null?void 0:c.syncToken)!==null&&f!==void 0?f:null,this.userByIdentityKey={};for(const E of Object.keys(this.devices)){const w=this.devices[E];for(const I of Object.keys(w)){const D=w[I].keys["curve25519:"+I];D!==void 0&&(this.userByIdentityKey[D]=E)}}})});for(const l of Object.keys(this.deviceTrackingStatus))this.deviceTrackingStatus[l]==g.DownloadInProgress&&(this.deviceTrackingStatus[l]=g.PendingDownload)}stop(){this.saveTimer!==null&&clearTimeout(this.saveTimer)}async saveIfDirty(l=500){if(!this.dirty)return Promise.resolve(!1);const c=Date.now()+l;this.savePromiseTime&&c<this.savePromiseTime&&(clearTimeout(this.saveTimer),this.saveTimer=null,this.savePromiseTime=null);let f=this.savePromise;if(f===null&&(f=new Promise(E=>{this.resolveSavePromise=E}),this.savePromise=f),this.saveTimer===null){const E=this.resolveSavePromise;this.savePromiseTime=c,this.saveTimer=setTimeout(()=>{r.logger.log("Saving device tracking data",this.syncToken),this.savePromiseTime=null,this.saveTimer=null,this.savePromise=null,this.resolveSavePromise=null,this.cryptoStore.doTxn("readwrite",[o.IndexedDBCryptoStore.STORE_DEVICE_DATA],w=>{var I;this.cryptoStore.storeEndToEndDeviceData({devices:this.devices,crossSigningInfo:this.crossSigningInfo,trackingStatus:this.deviceTrackingStatus,syncToken:(I=this.syncToken)!==null&&I!==void 0?I:void 0},w)}).then(()=>{this.dirty=!1,E==null||E(!0)},w=>{r.logger.error("Failed to save device tracking data",this.syncToken),r.logger.error(w)})},l)}return f}getSyncToken(){return this.syncToken}setSyncToken(l){this.syncToken=l}downloadKeys(l,c){const f=[],E=[];if(l.forEach(w=>{const I=this.deviceTrackingStatus[w];this.keyDownloadsInProgressByUser.has(w)?(r.logger.log(`downloadKeys: already have a download in progress for ${w}: awaiting its result`),E.push(this.keyDownloadsInProgressByUser.get(w))):(c||I!=g.UpToDate)&&f.push(w)}),f.length!=0){r.logger.log("downloadKeys: downloading for",f);const w=this.doKeyDownload(f);E.push(w)}return E.length===0&&r.logger.log("downloadKeys: already have all necessary keys"),Promise.all(E).then(()=>this.getDevicesFromStore(l))}getDevicesFromStore(l){const c={};return l.forEach(f=>{c[f]={},(this.getStoredDevicesForUser(f)||[]).forEach(function(w){c[f][w.deviceId]=w})}),c}getKnownUserIds(){return Object.keys(this.devices)}getStoredDevicesForUser(l){const c=this.devices[l];if(!c)return null;const f=[];for(const E in c)c.hasOwnProperty(E)&&f.push(n.DeviceInfo.fromStorage(c[E],E));return f}getRawStoredDevicesForUser(l){return this.devices[l]}getStoredCrossSigningForUser(l){return this.crossSigningInfo[l]?i.CrossSigningInfo.fromStorage(this.crossSigningInfo[l],l):null}storeCrossSigningForUser(l,c){this.crossSigningInfo[l]=c,this.dirty=!0}getStoredDevice(l,c){const f=this.devices[l];if(f!=null&&f[c])return n.DeviceInfo.fromStorage(f[c],c)}getUserByIdentityKey(l,c){return l!==a.OLM_ALGORITHM&&l!==a.MEGOLM_ALGORITHM?null:this.userByIdentityKey[c]}getDeviceByIdentityKey(l,c){const f=this.getUserByIdentityKey(l,c);if(!f)return null;const E=this.devices[f];if(!E)return null;for(const w in E){if(!E.hasOwnProperty(w))continue;const I=E[w];for(const D in I.keys){if(!I.keys.hasOwnProperty(D)||D.indexOf("curve25519:")!==0)continue;if(I.keys[D]==c)return n.DeviceInfo.fromStorage(I,w)}}return null}storeDevicesForUser(l,c){this.setRawStoredDevicesForUser(l,c),this.dirty=!0}startTrackingDeviceList(l){if(typeof l!="string")throw new Error("userId must be a string; was "+l);this.deviceTrackingStatus[l]||(r.logger.log("Now tracking device list for "+l),this.deviceTrackingStatus[l]=g.PendingDownload,this.dirty=!0)}stopTrackingDeviceList(l){this.deviceTrackingStatus[l]&&(r.logger.log("No longer tracking device list for "+l),this.deviceTrackingStatus[l]=g.NotTracked,this.dirty=!0)}stopTrackingAllDeviceLists(){for(const l of Object.keys(this.deviceTrackingStatus))this.deviceTrackingStatus[l]=g.NotTracked;this.dirty=!0}invalidateUserDeviceList(l){this.deviceTrackingStatus[l]&&(r.logger.log("Marking device list outdated for",l),this.deviceTrackingStatus[l]=g.PendingDownload,this.dirty=!0)}refreshOutdatedDeviceLists(){this.saveIfDirty();const l=[];for(const c of Object.keys(this.deviceTrackingStatus))this.deviceTrackingStatus[c]==g.PendingDownload&&l.push(c);return this.doKeyDownload(l)}setRawStoredDevicesForUser(l,c){if(this.devices[l]!==void 0)for(const[f,E]of Object.entries(this.devices[l])){const w=E.keys["curve25519:"+f];delete this.userByIdentityKey[w]}this.devices[l]=c;for(const[f,E]of Object.entries(c)){const w=E.keys["curve25519:"+f];this.userByIdentityKey[w]=l}}setRawStoredCrossSigningForUser(l,c){this.crossSigningInfo[l]=c}doKeyDownload(l){if(l.length===0)return Promise.resolve();const c=this.serialiser.updateDevicesForUsers(l,this.syncToken).then(()=>{f(!0)},E=>{throw r.logger.error("Error downloading keys for "+l+":",E),f(!1),E});l.forEach(E=>{this.keyDownloadsInProgressByUser.set(E,c),this.deviceTrackingStatus[E]==g.PendingDownload&&(this.deviceTrackingStatus[E]=g.DownloadInProgress)});const f=E=>{this.emit(y.CryptoEvent.WillUpdateDevices,l,!this.hasFetched),l.forEach(w=>{if(this.dirty=!0,this.keyDownloadsInProgressByUser.get(w)!==c){r.logger.log("Another update in the queue for",w,"- not marking up-to-date");return}this.keyDownloadsInProgressByUser.delete(w),this.deviceTrackingStatus[w]==g.DownloadInProgress&&(E?(this.deviceTrackingStatus[w]=g.UpToDate,r.logger.log("Device list for",w,"now up to date")):this.deviceTrackingStatus[w]=g.PendingDownload)}),this.saveIfDirty(),this.emit(y.CryptoEvent.DevicesUpdated,l,!this.hasFetched),this.hasFetched=!0};return c}};Fi.DeviceList=S;class v{constructor(l,c,f){this.baseApis=l,this.olmDevice=c,this.deviceList=f,(0,t.default)(this,"downloadInProgress",!1),(0,t.default)(this,"keyDownloadsQueuedByUser",{}),(0,t.default)(this,"queuedQueryDeferred",void 0),(0,t.default)(this,"syncToken",void 0)}updateDevicesForUsers(l,c){return l.forEach(f=>{this.keyDownloadsQueuedByUser[f]=!0}),this.queuedQueryDeferred||(this.queuedQueryDeferred=(0,p.defer)()),this.syncToken=c,this.downloadInProgress?(r.logger.log("Queued key download for",l),this.queuedQueryDeferred.promise):this.doQueuedQueries()}doQueuedQueries(){if(this.downloadInProgress)throw new Error("DeviceListUpdateSerialiser.doQueuedQueries called with request active");const l=Object.keys(this.keyDownloadsQueuedByUser);this.keyDownloadsQueuedByUser={};const c=this.queuedQueryDeferred;this.queuedQueryDeferred=void 0,r.logger.log("Starting key download for",l),this.downloadInProgress=!0;const f={};this.syncToken&&(f.token=this.syncToken);const E=[];for(let w=0;w<l.length;w+=this.deviceList.keyDownloadChunkSize){const I=l.slice(w,w+this.deviceList.keyDownloadChunkSize);E.push(()=>this.baseApis.downloadKeysForUsers(I,f))}return(0,p.chunkPromises)(E,3).then(async w=>{const I=Object.assign({},...w.map(F=>F.device_keys||{})),D=Object.assign({},...w.map(F=>F.master_keys||{})),A=Object.assign({},...w.map(F=>F.self_signing_keys||{})),L=Object.assign({},...w.map(F=>F.user_signing_keys||{}));for(const F of l){await(0,p.sleep)(5);try{await this.processQueryResponseForUser(F,I[F],{master:D==null?void 0:D[F],self_signing:A==null?void 0:A[F],user_signing:L==null?void 0:L[F]})}catch(x){r.logger.error(`Error processing keys for ${F}:`,x)}}}).then(()=>{r.logger.log("Completed key download for "+l),this.downloadInProgress=!1,c==null||c.resolve(),this.queuedQueryDeferred&&this.doQueuedQueries()},w=>{r.logger.warn("Error downloading keys for "+l+":",w),this.downloadInProgress=!1,c==null||c.reject(w)}),c.promise}async processQueryResponseForUser(l,c,f){r.logger.log("got device keys for "+l+":",c),r.logger.log("got cross-signing keys for "+l+":",f);{const E={},w=this.deviceList.getRawStoredDevicesForUser(l);w&&Object.keys(w).forEach(D=>{const A=n.DeviceInfo.fromStorage(w[D],D);E[D]=A}),await h(this.olmDevice,l,E,c||{},this.baseApis.getUserId(),this.baseApis.deviceId);const I={};Object.keys(E).forEach(D=>{I[D]=E[D].toStorage()}),this.deviceList.setRawStoredDevicesForUser(l,I)}if(f&&(f.master||f.self_signing||f.user_signing)){const E=this.deviceList.getStoredCrossSigningForUser(l)||new i.CrossSigningInfo(l);E.setKeys(f),this.deviceList.setRawStoredCrossSigningForUser(l,E.toStorage()),this.deviceList.emit(y.CryptoEvent.UserCrossSigningUpdated,l)}}}async function h(d,l,c,f,E,w){let I=!1;for(const D in c)if(c.hasOwnProperty(D)&&!(D in f)){if(l===E&&D===w){r.logger.warn(`Local device ${D} missing from sync, skipping removal`);continue}r.logger.log("Device "+l+":"+D+" has been removed"),delete c[D],I=!0}for(const D in f){if(!f.hasOwnProperty(D))continue;const A=f[D];if(A.user_id!==l){r.logger.warn("Mismatched user_id "+A.user_id+" in keys from "+l+":"+D);continue}if(A.device_id!==D){r.logger.warn("Mismatched device_id "+A.device_id+" in keys from "+l+":"+D);continue}await _(d,c,A)&&(I=!0)}return I}async function _(d,l,c){if(!c.keys)return!1;const f=c.device_id,E=c.user_id,w="ed25519:"+f,I=c.keys[w];if(!I)return r.logger.warn("Device "+E+":"+f+" has no ed25519 key"),!1;const D=c.unsigned||{},A=c.signatures||{};try{await a.verifySignature(d,c,E,f,I)}catch(F){return r.logger.warn("Unable to verify signature on device "+E+":"+f+":"+F),!1}let L;if(f in l){if(L=l[f],L.getFingerprint()!=I)return r.logger.warn("Ed25519 key for device "+E+":"+f+" has changed"),!1}else l[f]=L=new n.DeviceInfo(f);return L.keys=c.keys||{},L.algorithms=c.algorithms||[],L.unsigned=D,L.signatures=A,!0}return Fi}var Na={},Z3;function AB(){if(Z3)return Na;Z3=1;var e=Ae;Object.defineProperty(Na,"__esModule",{value:!0}),Na.EncryptionSetupOperation=Na.EncryptionSetupBuilder=void 0;var t=e(Ue),r=Ge(),n=ir(),i=g1(),a=sn,o=kn,p=ln(),u=At();class y{constructor(h,_){(0,t.default)(this,"accountDataClientAdapter",void 0),(0,t.default)(this,"crossSigningCallbacks",void 0),(0,t.default)(this,"ssssCryptoCallbacks",void 0),(0,t.default)(this,"crossSigningKeys",void 0),(0,t.default)(this,"keySignatures",void 0),(0,t.default)(this,"keyBackupInfo",void 0),(0,t.default)(this,"sessionBackupPrivateKey",void 0),this.accountDataClientAdapter=new m(h),this.crossSigningCallbacks=new g,this.ssssCryptoCallbacks=new S(_)}addCrossSigningKeys(h,_){this.crossSigningKeys={authUpload:h,keys:_}}addSessionBackup(h){this.keyBackupInfo=h}addSessionBackupPrivateKeyToCache(h){this.sessionBackupPrivateKey=h}addKeySignature(h,_,d){this.keySignatures||(this.keySignatures={});const l=this.keySignatures[h]||{};this.keySignatures[h]=l,l[_]=d}async setAccountData(h,_){await this.accountDataClientAdapter.setAccountData(h,_)}buildOperation(){const h=this.accountDataClientAdapter.values;return new s(h,this.crossSigningKeys,this.keyBackupInfo,this.keySignatures)}async persist(h){if(this.crossSigningKeys){const d=(0,i.createCryptoStoreCacheCallbacks)(h.cryptoStore,h.olmDevice);for(const l of["master","self_signing","user_signing"]){var _;r.logger.log(`Cache ${l} cross-signing private key locally`);const c=this.crossSigningCallbacks.privateKeys.get(l);await((_=d.storeCrossSigningKeyCache)===null||_===void 0?void 0:_.call(d,l,c))}await h.cryptoStore.doTxn("readwrite",[a.IndexedDBCryptoStore.STORE_ACCOUNT],l=>{h.cryptoStore.storeCrossSigningKeys(l,this.crossSigningKeys.keys)})}this.sessionBackupPrivateKey&&await h.storeSessionBackupPrivateKey(this.sessionBackupPrivateKey)}}Na.EncryptionSetupBuilder=y;class s{constructor(h,_,d,l){this.accountData=h,this.crossSigningKeys=_,this.keyBackupInfo=d,this.keySignatures=l}async apply(h){const _=h.baseApis;if(this.crossSigningKeys){var d,l;const c={};for(const[f,E]of Object.entries(this.crossSigningKeys.keys))c[f+"_key"]=E;await((d=(l=this.crossSigningKeys).authUpload)===null||d===void 0?void 0:d.call(l,f=>_.uploadDeviceSigningKeys(f,c))),h.crossSigningInfo.setKeys(this.crossSigningKeys.keys)}if(this.accountData)for(const[c,f]of this.accountData)await _.setAccountData(c,f);this.keySignatures&&await _.uploadKeySignatures(this.keySignatures),this.keyBackupInfo&&(this.keyBackupInfo.version?await _.http.authedRequest(o.Method.Put,"/room_keys/version/"+this.keyBackupInfo.version,void 0,{algorithm:this.keyBackupInfo.algorithm,auth_data:this.keyBackupInfo.auth_data},{prefix:o.ClientPrefix.V3}):await _.http.authedRequest(o.Method.Post,"/room_keys/version",void 0,this.keyBackupInfo,{prefix:o.ClientPrefix.V3}))}}Na.EncryptionSetupOperation=s;class m extends u.TypedEventEmitter{constructor(h){super(),this.existingValues=h,(0,t.default)(this,"values",new Map)}getAccountDataFromServer(h){return Promise.resolve(this.getAccountData(h))}getAccountData(h){const _=this.values.get(h);if(_)return _;const d=this.existingValues[h];return d?d.getContent():null}setAccountData(h,_){const d=this.values.get(h);return this.values.set(h,_),Promise.resolve().then(()=>{const l=new n.MatrixEvent({type:h,content:_});return this.emit(p.ClientEvent.AccountData,l,d),{}})}}class g{constructor(){(0,t.default)(this,"privateKeys",new Map)}getCrossSigningKeyCache(h,_){return this.getCrossSigningKey(h,_)}storeCrossSigningKeyCache(h,_){return this.privateKeys.set(h,_),Promise.resolve()}getCrossSigningKey(h,_){var d;return Promise.resolve((d=this.privateKeys.get(h))!==null&&d!==void 0?d:null)}saveCrossSigningKeys(h){for(const[_,d]of Object.entries(h))this.privateKeys.set(_,d)}}class S{constructor(h){this.delegateCryptoCallbacks=h,(0,t.default)(this,"privateKeys",new Map)}async getSecretStorageKey({keys:h},_){var d;for(const l of Object.keys(h)){const c=this.privateKeys.get(l);if(c)return[l,c]}if(this!==null&&this!==void 0&&(d=this.delegateCryptoCallbacks)!==null&&d!==void 0&&d.getSecretStorageKey){const l=await this.delegateCryptoCallbacks.getSecretStorageKey({keys:h},_);if(l){const[c,f]=l;this.privateKeys.set(c,f)}return l}return null}addPrivateKey(h,_,d){var l,c;this.privateKeys.set(h,d),(l=this.delegateCryptoCallbacks)===null||l===void 0||(c=l.cacheSecretStorageKey)===null||c===void 0||c.call(l,h,_,d)}}return Na}var La={},e9;function NB(){if(e9)return La;e9=1;var e=Ae;Object.defineProperty(La,"__esModule",{value:!0}),La.SecretStorage=La.SECRET_STORAGE_ALGORITHM_V1_AES=void 0;var t=e(Ue),r=yu,n=Ge(),i=m(ct),a=_u(),o=wu(),p=ln(),u=dt(),y=xe;function s(v){if(typeof WeakMap!="function")return null;var h=new WeakMap,_=new WeakMap;return(s=function(d){return d?_:h})(v)}function m(v,h){if(!h&&v&&v.__esModule)return v;if(v===null||typeof v!="object"&&typeof v!="function")return{default:v};var _=s(h);if(_&&_.has(v))return _.get(v);var d={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var c in v)if(c!=="default"&&Object.prototype.hasOwnProperty.call(v,c)){var f=l?Object.getOwnPropertyDescriptor(v,c):null;f&&(f.get||f.set)?Object.defineProperty(d,c,f):d[c]=v[c]}return d.default=v,_&&_.set(v,d),d}const g="m.secret_storage.v1.aes-hmac-sha2";La.SECRET_STORAGE_ALGORITHM_V1_AES=g;let S=class{constructor(h,_,d){this.accountDataAdapter=h,this.cryptoCallbacks=_,this.baseApis=d,(0,t.default)(this,"requests",new Map)}async getDefaultKeyId(){const h=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.default_key");return h?h.key:null}setDefaultKeyId(h){return new Promise((_,d)=>{const l=c=>{c.getType()==="m.secret_storage.default_key"&&c.getContent().key===h&&(this.accountDataAdapter.removeListener(p.ClientEvent.AccountData,l),_())};this.accountDataAdapter.on(p.ClientEvent.AccountData,l),this.accountDataAdapter.setAccountData("m.secret_storage.default_key",{key:h}).catch(c=>{this.accountDataAdapter.removeListener(p.ClientEvent.AccountData,l),d(c)})})}async addKey(h,_={},d){const l={algorithm:h};if(_.name&&(l.name=_.name),h===g){if(_.passphrase&&(l.passphrase=_.passphrase),_.key){const{iv:c,mac:f}=await(0,o.calculateKeyCheck)(_.key);l.iv=c,l.mac=f}}else throw new Error(`Unknown key algorithm ${h}`);if(!d)do d=(0,a.randomString)(32);while(await this.accountDataAdapter.getAccountDataFromServer(`m.secret_storage.key.${d}`));return await this.accountDataAdapter.setAccountData(`m.secret_storage.key.${d}`,l),{keyId:d,keyInfo:l}}async getKey(h){if(h||(h=await this.getDefaultKeyId()),!h)return null;const _=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+h);return _?[h,_]:null}async hasKey(h){return Boolean(await this.getKey(h))}async checkKey(h,_){if(_.algorithm===g)if(_.mac){const{mac:d}=await(0,o.calculateKeyCheck)(h,_.iv);return _.mac.replace(/=+$/g,"")===d.replace(/=+$/g,"")}else return!0;else throw new Error("Unknown algorithm")}async store(h,_,d){const l={};if(!d){const c=await this.getDefaultKeyId();if(!c)throw new Error("No keys specified and no default key present");d=[c]}if(d.length===0)throw new Error("Zero keys given to encrypt with!");for(const c of d){const f=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+c);if(!f)throw new Error("Unknown key: "+c);if(f.algorithm===g){const E={[c]:f},[,w]=await this.getSecretStorageKey(E,h);l[c]=await w.encrypt(_)}else n.logger.warn("unknown algorithm for secret storage key "+c+": "+f.algorithm)}await this.accountDataAdapter.setAccountData(h,{encrypted:l})}async get(h){const _=await this.accountDataAdapter.getAccountDataFromServer(h);if(!_)return;if(!_.encrypted)throw new Error("Content is not encrypted!");const d={};for(const E of Object.keys(_.encrypted)){const w=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+E),I=_.encrypted[E];w.algorithm===g&&I.iv&&I.ciphertext&&I.mac&&(d[E]=w)}if(Object.keys(d).length===0)throw new Error(`Could not decrypt ${h} because none of the keys it is encrypted with are for a supported algorithm`);const[l,c]=await this.getSecretStorageKey(d,h),f=_.encrypted[l];return c.decrypt(f)}async isStored(h){const _=await this.accountDataAdapter.getAccountDataFromServer(h);if(!(_!=null&&_.encrypted))return null;const d={};for(const l of Object.keys(_.encrypted)){const c=await this.accountDataAdapter.getAccountDataFromServer("m.secret_storage.key."+l);if(!c)continue;const f=_.encrypted[l];c.algorithm===g&&f.iv&&f.ciphertext&&f.mac&&(d[l]=c)}return Object.keys(d).length?d:null}request(h,_){const d=this.baseApis.makeTxnId(),l=(0,u.defer)();this.requests.set(d,{name:h,devices:_,deferred:l});const c=w=>{const I={action:"request_cancellation",requesting_device_id:this.baseApis.deviceId,request_id:d},D={};for(const A of _)D[A]=I;this.baseApis.sendToDevice("m.secret.request",{[this.baseApis.getUserId()]:D}),l.reject(new Error(w||"Cancelled"))},f={name:h,action:"request",requesting_device_id:this.baseApis.deviceId,request_id:d,[y.ToDeviceMessageId]:(0,r.v4)()},E={};for(const w of _)E[w]=f;return n.logger.info(`Request secret ${h} from ${_}, id ${d}`),this.baseApis.sendToDevice("m.secret.request",{[this.baseApis.getUserId()]:E}),{requestId:d,promise:l.promise,cancel:c}}async onRequestReceived(h){const _=h.getSender(),d=h.getContent();if(_!==this.baseApis.getUserId()||!(d.name&&d.action&&d.requesting_device_id&&d.request_id))return;const l=d.requesting_device_id;if(d.action!=="request_cancellation"){if(d.action==="request"){if(l===this.baseApis.deviceId||(n.logger.info("received request for secret ("+_+", "+l+", "+d.request_id+")"),!this.cryptoCallbacks.onSecretRequested))return;const c=await this.cryptoCallbacks.onSecretRequested(_,l,d.request_id,d.name,this.baseApis.checkDeviceTrust(_,l));if(c){n.logger.info(`Preparing ${d.name} secret for ${l}`);const f={type:"m.secret.send",content:{request_id:d.request_id,secret:c}},E={algorithm:i.OLM_ALGORITHM,sender_key:this.baseApis.crypto.olmDevice.deviceCurve25519Key,ciphertext:{},[y.ToDeviceMessageId]:(0,r.v4)()};await i.ensureOlmSessionsForDevices(this.baseApis.crypto.olmDevice,this.baseApis,{[_]:[this.baseApis.getStoredDevice(_,l)]}),await i.encryptMessageForDevice(E.ciphertext,this.baseApis.getUserId(),this.baseApis.deviceId,this.baseApis.crypto.olmDevice,_,this.baseApis.getStoredDevice(_,l),f);const w={[_]:{[l]:E}};n.logger.info(`Sending ${d.name} secret for ${l}`),this.baseApis.sendToDevice("m.room.encrypted",w)}else n.logger.info(`Request denied for ${d.name} secret for ${l}`)}}}onSecretReceived(h){if(h.getSender()!==this.baseApis.getUserId())return;if(!i.isOlmEncrypted(h)){n.logger.error("secret event not properly encrypted");return}const _=h.getContent();if(this.baseApis.crypto.deviceList.getUserByIdentityKey(i.OLM_ALGORITHM,h.getSenderKey()||"")!==h.getSender()){n.logger.error("sending device does not belong to the user it claims to be from");return}n.logger.log("got secret share for request",_.request_id);const l=this.requests.get(_.request_id);if(l){const c=this.baseApis.crypto.deviceList.getDeviceByIdentityKey(i.OLM_ALGORITHM,h.getSenderKey());if(!c){n.logger.log("secret share from unknown device with key",h.getSenderKey());return}if(!l.devices.includes(c.deviceId)){n.logger.log("unsolicited secret share from device",c.deviceId);return}if(!this.baseApis.crypto.checkDeviceInfoTrust(h.getSender(),c).isVerified()){n.logger.log("secret share from unverified device");return}n.logger.log(`Successfully received secret ${l.name} from ${c.deviceId}`),l.deferred.resolve(_.secret)}}async getSecretStorageKey(h,_){if(!this.cryptoCallbacks.getSecretStorageKey)throw new Error("No getSecretStorageKey callback supplied");const d=await this.cryptoCallbacks.getSecretStorageKey({keys:h},_);if(!d)throw new Error("getSecretStorageKey callback returned falsey");if(d.length<2)throw new Error("getSecretStorageKey callback returned invalid data");const[l,c]=d;if(!h[l])throw new Error("App returned unknown key from getSecretStorageKey!");if(h[l].algorithm===g)return[l,{encrypt:function(E){return(0,o.encryptAES)(E,c,_)},decrypt:function(E){return(0,o.decryptAES)(E,c,_)}}];throw new Error("Unknown key type: "+h[l].algorithm)}};return La.SecretStorage=S,La}var Sr={},Fn={},$t={},t9;function bu(){if(t9)return $t;t9=1,Object.defineProperty($t,"__esModule",{value:!0}),$t.errorFactory=n,$t.errorFromEvent=s,$t.newUserCancelledError=$t.newUnknownMethodError=$t.newUnexpectedMessageError=$t.newTimeoutError=$t.newKeyMismatchError=$t.newInvalidMessageError=void 0,$t.newVerificationError=r;var e=ir(),t=xe;function r(m,g,S){const v=Object.assign({},{code:m,reason:g},S);return new e.MatrixEvent({type:t.EventType.KeyVerificationCancel,content:v})}function n(m,g){return function(S){return r(m,g,S)}}const i=n("m.user","Cancelled by user");$t.newUserCancelledError=i;const a=n("m.timeout","Timed out");$t.newTimeoutError=a;const o=n("m.unknown_method","Unknown method");$t.newUnknownMethodError=o;const p=n("m.unexpected_message","Unexpected message");$t.newUnexpectedMessageError=p;const u=n("m.key_mismatch","Key mismatch");$t.newKeyMismatchError=u;const y=n("m.invalid_message","Invalid message");$t.newInvalidMessageError=y;function s(m){const g=m.getContent();if(g){const{code:S,reason:v}=g;return{code:S,reason:v}}else return{code:"Unknown error",reason:"m.unknown"}}return $t}var r9;function B0(){if(r9)return Fn;r9=1;var e=Ae;Object.defineProperty(Fn,"__esModule",{value:!0}),Fn.VerificationEvent=Fn.VerificationBase=Fn.SwitchStartEventError=void 0;var t=e(Ue),r=ir(),n=xe,i=Ge(),a=Su(),o=bu(),p=g1(),u=At();const y=new Error("Verification timed out");class s extends Error{constructor(v){super(),this.startEvent=v}}Fn.SwitchStartEventError=s;let m;Fn.VerificationEvent=m,function(S){S.Cancel="cancel"}(m||(Fn.VerificationEvent=m={}));class g extends u.TypedEventEmitter{constructor(v,h,_,d,l,c){super(),this.channel=v,this.baseApis=h,this.userId=_,this.deviceId=d,this.startEvent=l,this.request=c,(0,t.default)(this,"cancelled",!1),(0,t.default)(this,"_done",!1),(0,t.default)(this,"promise",null),(0,t.default)(this,"transactionTimeoutTimer",null),(0,t.default)(this,"expectedEvent",void 0),(0,t.default)(this,"resolve",void 0),(0,t.default)(this,"reject",void 0),(0,t.default)(this,"resolveEvent",void 0),(0,t.default)(this,"rejectEvent",void 0),(0,t.default)(this,"started",void 0),(0,t.default)(this,"doVerification",void 0)}get initiatedByMe(){if(!this.startEvent)return!0;const v=this.startEvent.getSender(),h=this.startEvent.getContent();return v===this.baseApis.getUserId()&&h.from_device===this.baseApis.getDeviceId()}get hasBeenCancelled(){return this.cancelled}resetTimer(){i.logger.info("Refreshing/starting the verification transaction timeout timer"),this.transactionTimeoutTimer!==null&&clearTimeout(this.transactionTimeoutTimer),this.transactionTimeoutTimer=setTimeout(()=>{!this._done&&!this.cancelled&&(i.logger.info("Triggering verification timeout"),this.cancel(y))},10*60*1e3)}endTimer(){this.transactionTimeoutTimer!==null&&(clearTimeout(this.transactionTimeoutTimer),this.transactionTimeoutTimer=null)}send(v,h){return this.channel.send(v,h)}waitForEvent(v){if(this._done)return Promise.reject(new Error("Verification is already done"));const h=this.request.getEventFromOtherParty(v);return h?Promise.resolve(h):(this.expectedEvent=v,new Promise((_,d)=>{this.resolveEvent=_,this.rejectEvent=d}))}canSwitchStartEvent(v){return!1}switchStartEvent(v){if(this.canSwitchStartEvent(v))if(i.logger.log("Verification Base: switching verification start event",{restartingFlow:!!this.rejectEvent}),this.rejectEvent){const h=this.rejectEvent;this.rejectEvent=void 0,h(new s(v))}else this.startEvent=v}handleEvent(v){if(!this._done){if(v.getType()===this.expectedEvent){if(this.expectedEvent!==n.EventType.KeyVerificationDone){var h;this.expectedEvent=void 0,this.rejectEvent=void 0,this.resetTimer(),(h=this.resolveEvent)===null||h===void 0||h.call(this,v)}}else if(v.getType()===n.EventType.KeyVerificationCancel){const _=this.reject;if(this.reject=void 0,_){const d=v.getContent(),{reason:l,code:c}=d;_(new Error(`Other side cancelled verification because ${l} (${c})`))}}else if(this.expectedEvent){const _=new Error("Unexpected message: expecting "+this.expectedEvent+" but got "+v.getType());if(this.expectedEvent=void 0,this.rejectEvent){const d=this.rejectEvent;this.rejectEvent=void 0,d(_)}this.cancel(_)}}}async done(){if(this.endTimer(),!this._done){var v;return this.request.onVerifierFinished(),(v=this.resolve)===null||v===void 0||v.call(this),(0,p.requestKeysDuringVerification)(this.baseApis,this.userId,this.deviceId)}}cancel(v){if(this.endTimer(),!this._done){if(this.cancelled=!0,this.request.onVerifierCancelled(),this.userId&&this.deviceId)if(v===y){const h=(0,o.newTimeoutError)();this.send(h.getType(),h.getContent())}else if(v instanceof r.MatrixEvent){if(v.getSender()!==this.userId){const _=v.getContent();v.getType()===n.EventType.KeyVerificationCancel?(_.code=_.code||"m.unknown",_.reason=_.reason||_.body||"Unknown reason",this.send(n.EventType.KeyVerificationCancel,_)):this.send(n.EventType.KeyVerificationCancel,{code:"m.unknown",reason:_.body||"Unknown reason"})}}else this.send(n.EventType.KeyVerificationCancel,{code:"m.unknown",reason:v.toString()});this.promise!==null?this.reject&&this.reject(v):this.promise=Promise.reject(v),this.emit(m.Cancel,v)}}verify(){return this.promise?this.promise:(this.promise=new Promise((v,h)=>{this.resolve=(..._)=>{this._done=!0,this.endTimer(),v(..._)},this.reject=_=>{this._done=!0,this.endTimer(),h(_)}}),this.doVerification&&!this.started&&(this.started=!0,this.resetTimer(),new Promise((v,h)=>{var _;((_=this.baseApis.crypto.deviceList.getStoredCrossSigningForUser(this.userId))===null||_===void 0?void 0:_.getId())===this.deviceId&&h(new Error("Device ID is the same as the cross-signing ID")),v()}).then(()=>this.doVerification()).then(this.done.bind(this),this.cancel.bind(this))),this.promise)}async verifyKeys(v,h,_){const d=[];for(const[l,c]of Object.entries(h)){const f=l.split(":",2)[1],E=this.baseApis.getStoredDevice(v,f);if(E)_(l,E,c),d.push([f,l,E.keys[l]]);else{const w=this.baseApis.crypto.deviceList.getStoredCrossSigningForUser(v);w&&w.getId()===f?(_(l,a.DeviceInfo.fromStorage({keys:{[l]:f}},f),c),d.push([f,l,f])):i.logger.warn(`verification: Could not find device ${f} to verify`)}}if(!d.length)throw new Error("No devices could be verified");i.logger.info("Verification completed! Marking devices verified: ",d);for(const[l,c,f]of d)await this.baseApis.crypto.setDeviceVerification(v,l,!0,null,null,{[c]:f});v==this.baseApis.credentials.userId&&await this.baseApis.checkKeyBackup()}get events(){}}return Fn.VerificationBase=g,Fn}var n9;function nw(){if(n9)return Sr;n9=1;var e=Ae;Object.defineProperty(Sr,"__esModule",{value:!0}),Sr.SHOW_QR_CODE_METHOD=Sr.SCAN_QR_CODE_METHOD=Sr.ReciprocateQRCode=Sr.QrCodeEvent=Sr.QRCodeData=void 0;var t=e(Ue),r=B0(),n=bu(),i=ct,a=Ge();const o="m.qr_code.show.v1";Sr.SHOW_QR_CODE_METHOD=o;const p="m.qr_code.scan.v1";Sr.SCAN_QR_CODE_METHOD=p;let u;Sr.QrCodeEvent=u,function(v){v.ShowReciprocateQr="show_reciprocate_qr"}(u||(Sr.QrCodeEvent=u={}));class y extends r.VerificationBase{constructor(...h){super(...h),(0,t.default)(this,"reciprocateQREvent",void 0),(0,t.default)(this,"doVerification",async()=>{if(!this.startEvent)throw new Error("It is not currently possible to start verificationwith this method yet.");const{qrCodeData:_}=this.request;if(this.startEvent.getContent().secret!==(_==null?void 0:_.encodedSharedSecret))throw(0,n.newKeyMismatchError)();await new Promise((l,c)=>{this.reciprocateQREvent={confirm:l,cancel:()=>c((0,n.newUserCancelledError)())},this.emit(u.ShowReciprocateQr,this.reciprocateQREvent)});const d={};switch(_==null?void 0:_.mode){case g.VerifyOtherUser:{const l=_.otherUserMasterKey;d[`ed25519:${l}`]=l;break}case g.VerifySelfTrusted:{const l=this.request.targetDevice.deviceId;d[`ed25519:${l}`]=_.otherDeviceKey;break}case g.VerifySelfUntrusted:{const l=_.myMasterKey;d[`ed25519:${l}`]=l;break}}await this.verifyKeys(this.userId,d,(l,c,f)=>{const E=d[l];if(!E)throw(0,n.newKeyMismatchError)();if(f!==E)throw a.logger.error("key ID from key info does not match"),(0,n.newKeyMismatchError)();for(const w in c.keys){if(!w.startsWith("ed25519"))continue;const I=d[w];if(!I)throw(0,n.newKeyMismatchError)();if(c.keys[w]!==I)throw a.logger.error("master key does not match"),(0,n.newKeyMismatchError)()}})})}static factory(h,_,d,l,c,f){return new y(h,_,d,l,c,f)}static get NAME(){return"m.reciprocate.v1"}}Sr.ReciprocateQRCode=y;const s=2,m="MATRIX";var g;(function(v){v[v.VerifyOtherUser=0]="VerifyOtherUser",v[v.VerifySelfTrusted=1]="VerifySelfTrusted",v[v.VerifySelfUntrusted=2]="VerifySelfUntrusted"})(g||(g={}));class S{constructor(h,_,d,l,c,f){this.mode=h,this.sharedSecret=_,this.otherUserMasterKey=d,this.otherDeviceKey=l,this.myMasterKey=c,this.buffer=f}static async create(h,_){const d=S.generateSharedSecret(),l=S.determineMode(h,_);let c=null,f=null,E=null;if(l===g.VerifyOtherUser)c=_.getStoredCrossSigningForUser(h.otherUserId).getId("master");else if(l===g.VerifySelfTrusted)f=await S.getOtherDeviceKey(h,_);else if(l===g.VerifySelfUntrusted){const D=_.getUserId();E=_.getStoredCrossSigningForUser(D).getId("master")}const w=S.generateQrData(h,_,l,d,c,f,E),I=S.generateBuffer(w);return new S(l,d,c,f,E,I)}get encodedSharedSecret(){return this.sharedSecret}getBuffer(){return this.buffer}static generateSharedSecret(){const h=new Uint8Array(11);return $e.crypto.getRandomValues(h),(0,i.encodeUnpaddedBase64)(h)}static async getOtherDeviceKey(h,_){const d=_.getUserId(),l=h.targetDevice,c=l.deviceId?_.getStoredDevice(d,l.deviceId):void 0;if(!c)throw new Error("could not find device "+(l==null?void 0:l.deviceId));return c.getFingerprint()}static determineMode(h,_){const d=_.getUserId(),l=h.otherUserId;let c=g.VerifyOtherUser;return d===l&&(_.checkUserTrust(d).isCrossSigningVerified()?c=g.VerifySelfTrusted:c=g.VerifySelfUntrusted),c}static generateQrData(h,_,d,l,c,f,E){const w=_.getUserId(),I=h.channel.transactionId,D={prefix:m,version:s,mode:d,transactionId:I,firstKeyB64:"",secondKeyB64:"",secretB64:l},A=_.getStoredCrossSigningForUser(w);return d===g.VerifyOtherUser?(D.firstKeyB64=A.getId("master"),D.secondKeyB64=c):d===g.VerifySelfTrusted?(D.firstKeyB64=A.getId("master"),D.secondKeyB64=f):d===g.VerifySelfUntrusted&&(D.firstKeyB64=_.getDeviceEd25519Key(),D.secondKeyB64=E),D}static generateBuffer(h){let _=Buffer.alloc(0);const d=E=>{const w=Buffer.from([E]);_=Buffer.concat([_,w])},l=E=>{const w=Buffer.alloc(2);w.writeInt16BE(E,0),_=Buffer.concat([_,w])},c=(E,w,I=!0)=>{const D=Buffer.from(E,w);I&&l(D.byteLength),_=Buffer.concat([_,D])},f=E=>{const w=(0,i.decodeBase64)(E),I=Buffer.from(w);_=Buffer.concat([_,I])};return c(h.prefix,"ascii",!1),d(h.version),d(h.mode),c(h.transactionId,"utf-8"),f(h.firstKeyB64),f(h.secondKeyB64),f(h.secretB64),_}}return Sr.QRCodeData=S,Sr}var Bi={},lc={},i9;function LB(){if(i9)return lc;i9=1,Object.defineProperty(lc,"__esModule",{value:!0}),lc.generateDecimalSas=e;function e(t){return[(t[0]<<5|t[1]>>3)+1e3,((t[1]&7)<<10|t[2]<<2|t[3]>>6)+1e3,((t[3]&63)<<7|t[4]>>1)+1e3]}return lc}var a9;function xB(){if(a9)return Bi;a9=1;var e=Ae;Object.defineProperty(Bi,"__esModule",{value:!0}),Bi.SasEvent=Bi.SAS=void 0;var t=e(Ue),r=e(v1()),n=B0(),i=bu(),a=Ge(),o=LB(),p=xe;const u=p.EventType.KeyVerificationStart,y=[p.EventType.KeyVerificationAccept,p.EventType.KeyVerificationKey,p.EventType.KeyVerificationMac];let s;const m=(0,i.errorFactory)("m.mismatched_sas","Mismatched short authentication string"),g=(0,i.errorFactory)("m.mismatched_commitment","Mismatched commitment"),S=[["🐶","dog"],["🐱","cat"],["🦁","lion"],["🐎","horse"],["🦄","unicorn"],["🐷","pig"],["🐘","elephant"],["🐰","rabbit"],["🐼","panda"],["🐓","rooster"],["🐧","penguin"],["🐢","turtle"],["🐟","fish"],["🐙","octopus"],["🦋","butterfly"],["🌷","flower"],["🌳","tree"],["🌵","cactus"],["🍄","mushroom"],["🌏","globe"],["🌙","moon"],["☁️","cloud"],["🔥","fire"],["🍌","banana"],["🍎","apple"],["🍓","strawberry"],["🌽","corn"],["🍕","pizza"],["🎂","cake"],["❤️","heart"],["🙂","smiley"],["🤖","robot"],["🎩","hat"],["👓","glasses"],["🔧","spanner"],["🎅","santa"],["👍","thumbs up"],["☂️","umbrella"],["⌛","hourglass"],["⏰","clock"],["🎁","gift"],["💡","light bulb"],["📕","book"],["✏️","pencil"],["📎","paperclip"],["✂️","scissors"],["🔒","lock"],["🔑","key"],["🔨","hammer"],["☎️","telephone"],["🏁","flag"],["🚂","train"],["🚲","bicycle"],["✈️","aeroplane"],["🚀","rocket"],["🏆","trophy"],["⚽","ball"],["🎸","guitar"],["🎺","trumpet"],["🔔","bell"],["⚓️","anchor"],["🎧","headphones"],["📁","folder"],["📌","pin"]];function v(W){return[W[0]>>2,(W[0]&3)<<4|W[1]>>4,(W[1]&15)<<2|W[2]>>6,W[2]&63,W[3]>>2,(W[3]&3)<<4|W[4]>>4,(W[4]&15)<<2|W[5]>>6].map(G=>S[G])}const h={decimal:o.generateDecimalSas,emoji:v};function _(W,X){const G={};for(const j of X)j in h&&(G[j]=h[j](Array.from(W)));return G}const d={"hkdf-hmac-sha256":"calculate_mac","org.matrix.msc3783.hkdf-hmac-sha256":"calculate_mac_fixed_base64","hmac-sha256":"calculate_mac_long_kdf"};function l(W,X){return function(G,j){const Y=W[d[X]](G,j);return a.logger.log("SAS calculateMAC:",X,[G,j],Y),Y}}const c={"curve25519-hkdf-sha256":function(W,X,G){const j=`${W.baseApis.getUserId()}|${W.baseApis.deviceId}|${W.ourSASPubKey}|`,Y=`${W.userId}|${W.deviceId}|${W.theirSASPubKey}|`,R="MATRIX_KEY_VERIFICATION_SAS|"+(W.initiatedByMe?j+Y:Y+j)+W.channel.transactionId;return X.generate_bytes(R,G)},curve25519:function(W,X,G){const j=`${W.baseApis.getUserId()}${W.baseApis.deviceId}`,Y=`${W.userId}${W.deviceId}`,R="MATRIX_KEY_VERIFICATION_SAS"+(W.initiatedByMe?j+Y:Y+j)+W.channel.transactionId;return X.generate_bytes(R,G)}},f=["curve25519-hkdf-sha256","curve25519"],E=["sha256"],w=["org.matrix.msc3783.hkdf-hmac-sha256","hkdf-hmac-sha256","hmac-sha256"],I=Object.keys(h),D=new Set(f),A=new Set(E),L=new Set(w),F=new Set(I);function x(W,X){return Array.isArray(W)?W.filter(G=>X.has(G)):[]}let H;Bi.SasEvent=H,function(W){W.ShowSas="show_sas"}(H||(Bi.SasEvent=H={}));let K=class extends n.VerificationBase{constructor(...X){super(...X),(0,t.default)(this,"waitingForAccept",void 0),(0,t.default)(this,"ourSASPubKey",void 0),(0,t.default)(this,"theirSASPubKey",void 0),(0,t.default)(this,"sasEvent",void 0),(0,t.default)(this,"doVerification",async()=>{await $e.Olm.init(),s=s||new $e.Olm.Utility,await this.baseApis.downloadKeys([this.userId]);let G=!1;do try{return this.initiatedByMe?await this.doSendVerification():await this.doRespondVerification()}catch(j){if(j instanceof n.SwitchStartEventError)this.startEvent=j.startEvent,G=!0;else throw j}while(G)})}static get NAME(){return"m.sas.v1"}get events(){return y}canSwitchStartEvent(X){if(X.getType()!==u)return!1;const G=X.getContent();return(G==null?void 0:G.method)===K.NAME&&!!this.waitingForAccept}async sendStart(){const X=this.channel.completeContent(u,{method:K.NAME,from_device:this.baseApis.deviceId,key_agreement_protocols:f,hashes:E,message_authentication_codes:w,short_authentication_string:I});return await this.channel.sendCompleted(u,X),X}async verifyAndCheckMAC(X,G,j,Y){const R=c[X](this,j,6),k=new Promise((C,N)=>{this.sasEvent={sas:_(R,G),confirm:async()=>{try{await this.sendMAC(j,Y),C()}catch(T){N(T)}},cancel:()=>N((0,i.newUserCancelledError)()),mismatch:()=>N(m())},this.emit(H.ShowSas,this.sasEvent)}),[B]=await Promise.all([this.waitForEvent(p.EventType.KeyVerificationMac).then(C=>(this.expectedEvent=p.EventType.KeyVerificationDone,C)),k]),$=B.getContent();await this.checkMAC(j,$,Y)}async doSendVerification(){this.waitingForAccept=!0;let X;if(this.startEvent?X=this.channel.completedContentFromEvent(this.startEvent):X=await this.sendStart(),!this.initiatedByMe)throw new n.SwitchStartEventError(this.startEvent);let G;try{G=await this.waitForEvent(p.EventType.KeyVerificationAccept)}finally{this.waitingForAccept=!1}let j=G.getContent();const Y=x(j.short_authentication_string,F);if(!(D.has(j.key_agreement_protocol)&&A.has(j.hash)&&L.has(j.message_authentication_code)&&Y.length))throw(0,i.newUnknownMethodError)();if(typeof j.commitment!="string")throw(0,i.newInvalidMessageError)();const R=j.key_agreement_protocol,k=j.message_authentication_code,B=j.commitment,$=new $e.Olm.SAS;try{this.ourSASPubKey=$.get_pubkey(),await this.send(p.EventType.KeyVerificationKey,{key:this.ourSASPubKey}),G=await this.waitForEvent(p.EventType.KeyVerificationKey),j=G.getContent();const C=j.key+r.default.stringify(X);if(s.sha256(C)!==B)throw g();this.theirSASPubKey=j.key,$.set_their_key(j.key),await this.verifyAndCheckMAC(R,Y,$,k)}finally{$.free()}}async doRespondVerification(){let X=this.channel.completedContentFromEvent(this.startEvent);const G=x(f,new Set(X.key_agreement_protocols))[0],j=x(E,new Set(X.hashes))[0],Y=x(w,new Set(X.message_authentication_codes))[0],R=x(X.short_authentication_string,F);if(!(G!==void 0&&j!==void 0&&Y!==void 0&&R.length))throw(0,i.newUnknownMethodError)();const k=new $e.Olm.SAS;try{const B=k.get_pubkey()+r.default.stringify(X);await this.send(p.EventType.KeyVerificationAccept,{key_agreement_protocol:G,hash:j,message_authentication_code:Y,short_authentication_string:R,commitment:s.sha256(B)}),X=(await this.waitForEvent(p.EventType.KeyVerificationKey)).getContent(),this.theirSASPubKey=X.key,k.set_their_key(X.key),this.ourSASPubKey=k.get_pubkey(),await this.send(p.EventType.KeyVerificationKey,{key:this.ourSASPubKey}),await this.verifyAndCheckMAC(G,R,k,Y)}finally{k.free()}}sendMAC(X,G){const j={},Y=[],R="MATRIX_KEY_VERIFICATION_MAC"+this.baseApis.getUserId()+this.baseApis.deviceId+this.userId+this.deviceId+this.channel.transactionId,k=`ed25519:${this.baseApis.deviceId}`;j[k]=l(X,G)(this.baseApis.getDeviceEd25519Key(),R+k),Y.push(k);const B=this.baseApis.getCrossSigningId();if(B){const C=`ed25519:${B}`;j[C]=l(X,G)(B,R+C),Y.push(C)}const $=l(X,G)(Y.sort().join(","),R+"KEY_IDS");return this.send(p.EventType.KeyVerificationMac,{mac:j,keys:$})}async checkMAC(X,G,j){const Y="MATRIX_KEY_VERIFICATION_MAC"+this.userId+this.deviceId+this.baseApis.getUserId()+this.baseApis.deviceId+this.channel.transactionId;if(G.keys!==l(X,j)(Object.keys(G.mac).sort().join(","),Y+"KEY_IDS"))throw(0,i.newKeyMismatchError)();await this.verifyKeys(this.userId,G.mac,(R,k,B)=>{if(B!==l(X,j)(k.keys[R],Y+R))throw(0,i.newKeyMismatchError)()})}};return Bi.SAS=K,Bi}var Mo={},o9;function j0(){if(o9)return Mo;o9=1,Object.defineProperty(Mo,"__esModule",{value:!0}),Mo.deriveKey=o,Mo.keyFromAuthData=i,Mo.keyFromPassphrase=a;var e=_u(),t=F0();const r=5e5,n=256;function i(p,u){if(!$e.Olm)throw new Error("Olm is not available");if(!p.private_key_salt||!p.private_key_iterations)throw new Error("Salt and/or iterations not found: this backup cannot be restored with a passphrase");return o(u,p.private_key_salt,p.private_key_iterations,p.private_key_bits||n)}async function a(p){if(!$e.Olm)throw new Error("Olm is not available");const u=(0,e.randomString)(32);return{key:await o(p,u,r,n),salt:u,iterations:r}}async function o(p,u,y,s=n){if(!t.subtleCrypto||!t.TextEncoder)throw new Error("Password-based backup is not available on this platform");const m=await t.subtleCrypto.importKey("raw",new t.TextEncoder().encode(p),{name:"PBKDF2"},!1,["deriveBits"]),g=await t.subtleCrypto.deriveBits({name:"PBKDF2",salt:new t.TextEncoder().encode(u),iterations:y,hash:"SHA-512"},m,s);return new Uint8Array(g)}return Mo}var Cl={},ah,s9;function UB(){if(s9)return ah;s9=1;function e(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var a=t.charAt(i),o=a.charCodeAt(0);if(r[o]!==255)throw new TypeError(a+" is ambiguous");r[o]=i}var p=t.length,u=t.charAt(0),y=Math.log(p)/Math.log(256),s=Math.log(256)/Math.log(p);function m(v){if(v instanceof Uint8Array||(ArrayBuffer.isView(v)?v=new Uint8Array(v.buffer,v.byteOffset,v.byteLength):Array.isArray(v)&&(v=Uint8Array.from(v))),!(v instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(v.length===0)return"";for(var h=0,_=0,d=0,l=v.length;d!==l&&v[d]===0;)d++,h++;for(var c=(l-d)*s+1>>>0,f=new Uint8Array(c);d!==l;){for(var E=v[d],w=0,I=c-1;(E!==0||w<_)&&I!==-1;I--,w++)E+=256*f[I]>>>0,f[I]=E%p>>>0,E=E/p>>>0;if(E!==0)throw new Error("Non-zero carry");_=w,d++}for(var D=c-_;D!==c&&f[D]===0;)D++;for(var A=u.repeat(h);D<c;++D)A+=t.charAt(f[D]);return A}function g(v){if(typeof v!="string")throw new TypeError("Expected String");if(v.length===0)return new Uint8Array;for(var h=0,_=0,d=0;v[h]===u;)_++,h++;for(var l=(v.length-h)*y+1>>>0,c=new Uint8Array(l);v[h];){var f=r[v.charCodeAt(h)];if(f===255)return;for(var E=0,w=l-1;(f!==0||E<d)&&w!==-1;w--,E++)f+=p*c[w]>>>0,c[w]=f%256>>>0,f=f/256>>>0;if(f!==0)throw new Error("Non-zero carry");d=E,h++}for(var I=l-d;I!==l&&c[I]===0;)I++;for(var D=new Uint8Array(_+(l-I)),A=_;I!==l;)D[A++]=c[I++];return D}function S(v){var h=g(v);if(h)return h;throw new Error("Non-base"+p+" character")}return{encode:m,decodeUnsafe:g,decode:S}}return ah=e,ah}var oh,l9;function $B(){return l9||(l9=1,oh=UB()("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")),oh}var d9;function K0(){if(d9)return Cl;d9=1,Object.defineProperty(Cl,"__esModule",{value:!0}),Cl.decodeRecoveryKey=a,Cl.encodeRecoveryKey=i;var e=r($B());function t(o){if(typeof WeakMap!="function")return null;var p=new WeakMap,u=new WeakMap;return(t=function(y){return y?u:p})(o)}function r(o,p){if(!p&&o&&o.__esModule)return o;if(o===null||typeof o!="object"&&typeof o!="function")return{default:o};var u=t(p);if(u&&u.has(o))return u.get(o);var y={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var m in o)if(m!=="default"&&Object.prototype.hasOwnProperty.call(o,m)){var g=s?Object.getOwnPropertyDescriptor(o,m):null;g&&(g.get||g.set)?Object.defineProperty(y,m,g):y[m]=o[m]}return y.default=o,u&&u.set(o,y),y}const n=[139,1];function i(o){var p;const u=Buffer.alloc(n.length+o.length+1);u.set(n,0),u.set(o,n.length);let y=0;for(let m=0;m<u.length-1;++m)y^=u[m];return u[u.length-1]=y,(p=e.encode(u).match(/.{1,4}/g))===null||p===void 0?void 0:p.join(" ")}function a(o){const p=e.decode(o.replace(/ /g,""));let u=0;for(const y of p)u^=y;if(u!==0)throw new Error("Incorrect parity");for(let y=0;y<n.length;++y)if(p[y]!==n[y])throw new Error("Incorrect prefix");if(p.length!==n.length+$e.Olm.PRIVATE_KEY_LENGTH+1)throw new Error("Incorrect length");return Uint8Array.from(p.slice(n.length,n.length+$e.Olm.PRIVATE_KEY_LENGTH))}return Cl}var rt={},u9;function V0(){if(u9)return rt;u9=1;var e=Ae;Object.defineProperty(rt,"__esModule",{value:!0}),rt.VerificationRequestEvent=rt.VerificationRequest=rt.START_TYPE=rt.REQUEST_TYPE=rt.READY_TYPE=rt.Phase=rt.PHASE_UNSENT=rt.PHASE_STARTED=rt.PHASE_REQUESTED=rt.PHASE_READY=rt.PHASE_DONE=rt.PHASE_CANCELLED=rt.EVENT_PREFIX=rt.DONE_TYPE=rt.CANCEL_TYPE=void 0;var t=e(Ue),r=Ge(),n=bu(),i=nw(),a=xe,o=At();const p=10*60*1e3,u=2*60*1e3,y=3*1e3,s="m.key.verification.";rt.EVENT_PREFIX=s;const m=s+"request";rt.REQUEST_TYPE=m;const g=s+"start";rt.START_TYPE=g;const S=s+"cancel";rt.CANCEL_TYPE=S;const v=s+"done";rt.DONE_TYPE=v;const h=s+"ready";rt.READY_TYPE=h;let _;rt.Phase=_,function(A){A[A.Unsent=1]="Unsent",A[A.Requested=2]="Requested",A[A.Ready=3]="Ready",A[A.Started=4]="Started",A[A.Cancelled=5]="Cancelled",A[A.Done=6]="Done"}(_||(rt.Phase=_={}));const d=_.Unsent;rt.PHASE_UNSENT=d;const l=_.Requested;rt.PHASE_REQUESTED=l;const c=_.Ready;rt.PHASE_READY=c;const f=_.Started;rt.PHASE_STARTED=f;const E=_.Cancelled;rt.PHASE_CANCELLED=E;const w=_.Done;rt.PHASE_DONE=w;let I;rt.VerificationRequestEvent=I,function(A){A.Change="change"}(I||(rt.VerificationRequestEvent=I={}));let D=class extends o.TypedEventEmitter{constructor(L,F,x){super(),this.channel=L,this.verificationMethods=F,this.client=x,(0,t.default)(this,"eventsByUs",new Map),(0,t.default)(this,"eventsByThem",new Map),(0,t.default)(this,"_observeOnly",!1),(0,t.default)(this,"timeoutTimer",null),(0,t.default)(this,"_accepting",!1),(0,t.default)(this,"_declining",!1),(0,t.default)(this,"verifierHasFinished",!1),(0,t.default)(this,"_cancelled",!1),(0,t.default)(this,"_chosenMethod",null),(0,t.default)(this,"_qrCodeData",null),(0,t.default)(this,"requestReceivedAt",null),(0,t.default)(this,"commonMethods",[]),(0,t.default)(this,"_phase",void 0),(0,t.default)(this,"_cancellingUserId",void 0),(0,t.default)(this,"_verifier",void 0),(0,t.default)(this,"cancelOnTimeout",async()=>{try{this.initiatedByMe?await this.cancel({reason:"Other party didn't accept in time",code:"m.timeout"}):await this.cancel({reason:"User didn't accept in time",code:"m.timeout"})}catch(H){r.logger.error("Error while cancelling verification request",H)}}),this.channel.request=this,this.setPhase(d,!1)}static validateEvent(L,F,x){const H=F.getContent();return!L||!L.startsWith(s)?!1:H?(L===m||L===h)&&!Array.isArray(H.methods)?(r.logger.log("VerificationRequest: validateEvent: fail because methods"),!1):(L===m||L===h||L===g)&&(typeof H.from_device!="string"||H.from_device.length===0)?(r.logger.log("VerificationRequest: validateEvent: fail because from_device"),!1):!0:(r.logger.log("VerificationRequest: validateEvent: no content"),!1)}get invalid(){return this.phase===d}get requested(){return this.phase===l}get cancelled(){return this.phase===E}get ready(){return this.phase===c}get started(){return this.phase===f}get done(){return this.phase===w}get methods(){return this.commonMethods}get chosenMethod(){return this._chosenMethod}calculateEventTimeout(L){let F=this.channel.getTimestamp(L)+p;if(this.requestReceivedAt&&!this.initiatedByMe&&this.phase<=l){const x=this.requestReceivedAt+u;F=Math.min(F,x)}return Math.max(0,F-Date.now())}get timeout(){const L=this.getEventByEither(m);return L?this.calculateEventTimeout(L):0}get requestEvent(){return this.getEventByEither(m)}get phase(){return this._phase}get verifier(){return this._verifier}get canAccept(){return this.phase<c&&!this._accepting&&!this._declining}get accepting(){return this._accepting}get declining(){return this._declining}get pending(){return!this.observeOnly&&this._phase!==w&&this._phase!==E}get qrCodeData(){return this._qrCodeData}otherPartySupportsMethod(L,F=!1){if(!F&&!this.ready&&!this.started)return!1;const x=this.eventsByThem.get(m)||this.eventsByThem.get(h);if(!x){if(this.started&&this.initiatedByMe){const W=this.eventsByUs.get(g),X=W&&W.getContent(),G=X&&X.method;return L==G}return!1}const H=x.getContent();if(!H)return!1;const{methods:K}=H;return Array.isArray(K)?K.includes(L):!1}get initiatedByMe(){const L=this.eventsByUs.size+this.eventsByThem.size===0;if(this._phase===d&&L)return!0;const F=this.eventsByUs.has(m),x=this.eventsByThem.has(m);if(F&&!x)return!0;if(!F&&x)return!1;const H=this.eventsByUs.has(g),K=this.eventsByThem.has(g);return!!(H&&!K)}get requestingUserId(){return this.initiatedByMe?this.client.getUserId():this.otherUserId}get receivingUserId(){return this.initiatedByMe?this.otherUserId:this.client.getUserId()}get otherUserId(){return this.channel.userId}get isSelfVerification(){return this.client.getUserId()===this.otherUserId}get cancellingUserId(){const L=this.eventsByUs.get(S),F=this.eventsByThem.get(S);if(L&&(!F||L.getId()<F.getId()))return L.getSender();if(F)return F.getSender()}get cancellationCode(){const L=this.getEventByEither(S);return L?L.getContent().code:null}get observeOnly(){return this._observeOnly}get targetDevice(){const L=this.eventsByThem.get(m)||this.eventsByThem.get(h)||this.eventsByThem.get(g),F=L==null?void 0:L.getContent(),x=F==null?void 0:F.from_device;return{userId:this.otherUserId,deviceId:x}}beginKeyVerification(L,F=null){if(!this.observeOnly&&!this._verifier&&(this.phase===l||this.phase===c||this.phase===d&&this.channel.canCreateRequest(g))){if(this.commonMethods.length&&!this.commonMethods.includes(L)||(this._verifier=this.createVerifier(L,null,F),!this._verifier))throw(0,n.newUnknownMethodError)();this._chosenMethod=L}return this._verifier}async sendRequest(){if(!this.observeOnly&&this._phase===d){const L=[...this.verificationMethods.keys()];await this.channel.send(m,{methods:L})}}async cancel({reason:L="User declined",code:F="m.user"}={}){if(!this.observeOnly&&this._phase!==E){if(this._declining=!0,this.emit(I.Change),this._verifier)return this._verifier.cancel((0,n.errorFactory)(F,L)());this._cancellingUserId=this.client.getUserId(),await this.channel.send(S,{code:F,reason:L})}}async accept(){if(!this.observeOnly&&this.phase===l&&!this.initiatedByMe){const L=[...this.verificationMethods.keys()];this._accepting=!0,this.emit(I.Change),await this.channel.send(h,{methods:L})}}waitFor(L){return new Promise((F,x)=>{const H=()=>{let K=!1;return L(this)?(F(this),K=!0):this.cancelled&&(x(new Error("cancelled")),K=!0),K&&this.off(I.Change,H),K};H()||this.on(I.Change,H)})}setPhase(L,F=!0){this._phase=L,F&&this.emit(I.Change)}getEventByEither(L){return this.eventsByThem.get(L)||this.eventsByUs.get(L)}getEventBy(L,F=!1){return F?this.eventsByThem.get(L):this.eventsByUs.get(L)}calculatePhaseTransitions(){const L=[{phase:d}],F=()=>L[L.length-1].phase,x=this.eventsByThem.has(m),H=this.getEventBy(m,x);H&&L.push({phase:l,event:H});const K=H&&this.getEventBy(h,!x);K&&F()===l&&L.push({phase:c,event:K});let W;if(K||!H){const j=this.eventsByThem.get(g),Y=this.eventsByUs.get(g);j&&Y?W=j.getSender()<Y.getSender()?j:Y:W=j||Y}else W=this.getEventBy(g,!x);if(W){const j=F()===l&&(H==null?void 0:H.getSender())!==W.getSender(),Y=F()===d&&this.channel.canCreateRequest(g);(j||F()===c||Y)&&L.push({phase:f,event:W})}const X=this.eventsByUs.get(v);(this.verifierHasFinished||X&&F()===f)&&L.push({phase:w});const G=this.getEventByEither(S);return(this._cancelled||G)&&F()!==w&&L.push({phase:E,event:G}),L}transitionToPhase(L){const{phase:F,event:x}=L;if((F===l||F===c)&&!this.wasSentByOwnDevice(x)){const H=x.getContent();this.commonMethods=H.methods.filter(K=>this.verificationMethods.has(K))}if(this.observeOnly||(F===l||F===f||F===c)&&this.channel.receiveStartFromOtherDevices&&this.wasSentByOwnUser(x)&&!this.wasSentByOwnDevice(x)&&(this._observeOnly=!0),F===f){const{method:H}=x.getContent();!this._verifier&&!this.observeOnly&&(this._verifier=this.createVerifier(H,x),this._verifier?this._chosenMethod=H:this.cancel({code:"m.unknown_method",reason:`Unknown method: ${H}`}))}}applyPhaseTransitions(){const L=this.calculatePhaseTransitions(),F=L.findIndex(H=>H.phase===this.phase),x=L.slice(F+1);for(const H of x)this.transitionToPhase(H);return x}isWinningStartRace(L){if(L.getType()!==g)return!1;const F=this._verifier.startEvent;let x;if(this.isSelfVerification)if(F){const K=F.getContent();x=K&&K.from_device}else x=this.client.getDeviceId();else F?x=F.getSender():x=this.client.getUserId();let H;if(this.isSelfVerification){const K=L.getContent();H=K&&K.from_device}else H=L.getSender();return H<x}hasEventId(L){for(const F of this.eventsByUs.values())if(F.getId()===L)return!0;for(const F of this.eventsByThem.values())if(F.getId()===L)return!0;return!1}async handleEvent(L,F,x,H,K){if(this.done||this.cancelled)return;const W=this._observeOnly;if(this.adjustObserveOnly(F,x),!this.observeOnly&&!H&&await this.cancelOnError(L,F)||(K?this.eventsByUs.has(L):this.eventsByThem.has(L)))return;const G=this.phase;this.addEvent(L,F,K);const j=this.applyPhaseTransitions();try{if(this._verifier&&!this.observeOnly){const R=this.isWinningStartRace(F);if(this._verifier.canSwitchStartEvent(F)&&R)this._verifier.switchStartEvent(F);else if(!H){var Y;(L===S||(Y=this._verifier.events)!==null&&Y!==void 0&&Y.includes(L))&&this._verifier.handleEvent(F)}}if(j.length){x&&j.some(B=>B.phase===c)&&this.otherPartySupportsMethod(i.SCAN_QR_CODE_METHOD,!0)&&(this._qrCodeData=await i.QRCodeData.create(this,this.client));const R=j[j.length-1],{phase:k}=R;this.setupTimeout(k),this.setPhase(k)}else this._observeOnly!==W&&this.emit(I.Change)}finally{r.logger.log(`Verification request ${this.channel.transactionId}: ${L} event with id:${F.getId()}, content:${JSON.stringify(F.getContent())} deviceId:${this.channel.deviceId}, sender:${F.getSender()}, isSentByUs:${K}, isLiveEvent:${x}, isRemoteEcho:${H}, phase:${G}=>${this.phase}, observeOnly:${W}=>${this._observeOnly}`)}}setupTimeout(L){!this.timeoutTimer&&!this.observeOnly&&L===l&&(this.timeoutTimer=setTimeout(this.cancelOnTimeout,this.timeout)),this.timeoutTimer&&(L===f||L===c||L===w||L===E)&&(clearTimeout(this.timeoutTimer),this.timeoutTimer=null)}async cancelOnError(L,F){if(L===g){const K=F.getContent().method;if(!this.verificationMethods.has(K))return await this.cancel((0,n.errorFromEvent)((0,n.newUnknownMethodError)())),!0}const x=L===m&&this.phase!==d,H=L===h&&this.phase!==l&&this.phase!==f;if(this.phase!==d&&(x||H)){r.logger.warn(`Cancelling, unexpected ${L} verification event from ${F.getSender()}`);const K=`Unexpected ${L} event in phase ${this.phase}`;return await this.cancel((0,n.errorFromEvent)((0,n.newUnexpectedMessageError)({reason:K}))),!0}return!1}adjustObserveOnly(L,F=!1){F||(this._observeOnly=!0),this.calculateEventTimeout(L)<y&&(this._observeOnly=!0)}addEvent(L,F,x=!1){if(x?this.eventsByUs.set(L,F):this.eventsByThem.set(L,F),L===m){for(const[H,K]of this.eventsByThem.entries())K.getSender()!==this.otherUserId&&this.eventsByThem.delete(H);this.requestReceivedAt=Date.now()}}createVerifier(L,F=null,x=null){x||(x=this.targetDevice);const{userId:H,deviceId:K}=x,W=this.verificationMethods.get(L);if(!W){r.logger.warn("could not find verifier constructor for method",L);return}return new W(this.channel,this.client,H,K,F,this)}wasSentByOwnUser(L){return(L==null?void 0:L.getSender())===this.client.getUserId()}wasSentByOwnDevice(L){if(!this.wasSentByOwnUser(L))return!1;const F=L.getContent();return!(!F||F.from_device!==this.client.getDeviceId())}onVerifierCancelled(){this._cancelled=!0;const L=this.applyPhaseTransitions();L.length&&this.setPhase(L[L.length-1].phase)}onVerifierFinished(){this.channel.send(a.EventType.KeyVerificationDone,{}),this.verifierHasFinished=!0;const L=this.applyPhaseTransitions();L.length&&this.setPhase(L[L.length-1].phase)}getEventFromOtherParty(L){return this.eventsByThem.get(L)}};return rt.VerificationRequest=D,rt}var xa={},c9;function FB(){if(c9)return xa;c9=1;var e=Ae;Object.defineProperty(xa,"__esModule",{value:!0}),xa.InRoomRequests=xa.InRoomChannel=void 0;var t=e(Ue),r=V0(),n=Ge(),i=xe;const a=i.EventType.RoomMessage,o="m.reference",p="m.relates_to";let u=class{constructor(m,g,S){this.client=m,this.roomId=g,this.userId=S,(0,t.default)(this,"requestEventId",void 0)}get receiveStartFromOtherDevices(){return!0}get transactionId(){return this.requestEventId}static getOtherPartyUserId(m,g){if(u.getEventType(m)!==r.REQUEST_TYPE)return;const v=g.getUserId(),h=m.getSender(),d=m.getContent().to;if(h===v)return d;if(d===v)return h}getTimestamp(m){return m.getTs()}static canCreateRequest(m){return m===r.REQUEST_TYPE}canCreateRequest(m){return u.canCreateRequest(m)}static getTransactionId(m){if(u.getEventType(m)===r.REQUEST_TYPE)return m.getId();{const g=m.getRelation();if((g==null?void 0:g.rel_type)===o)return g.event_id}}static validateEvent(m,g){const S=u.getTransactionId(m);if(typeof S!="string"||S.length===0)return!1;const v=u.getEventType(m),h=m.getContent();if(v===r.REQUEST_TYPE){if(!h||typeof h.to!="string"||!h.to.length)return n.logger.log("InRoomChannel: validateEvent: no valid to "+(h&&h.to)),!1;if(!u.getOtherPartyUserId(m,g))return n.logger.log(`InRoomChannel: validateEvent: not directed to or sent by me: ${m.getSender()}, ${h&&h.to}`),!1}return r.VerificationRequest.validateEvent(v,m,g)}static getEventType(m){const g=m.getType();if(g===a){const S=m.getContent();if(S){const{msgtype:v}=S;if(v===r.REQUEST_TYPE)return r.REQUEST_TYPE}}return g&&g!==r.REQUEST_TYPE?g:""}async handleEvent(m,g,S=!1){if(g.hasEventId(m.getId()))return;const v=u.getEventType(m);if(m.getRoomId()!==this.roomId)return;if(!this.userId){const c=u.getOtherPartyUserId(m,this.client);c&&(this.userId=c)}const h=this.client.getUserId(),_=m.getSender();if(this.userId&&_!==h&&_!==this.userId){n.logger.log(`InRoomChannel: ignoring verification event from non-participating sender ${_}`);return}this.requestEventId||(this.requestEventId=u.getTransactionId(m));const d=!!m.getUnsigned().transaction_id,l=m.getSender()===this.client.getUserId();return g.handleEvent(v,m,S,d,l)}completedContentFromEvent(m){const g=Object.assign({},m.getContent());return g[p]=m.getRelation(),g}completeContent(m,g){return g=Object.assign({},g),(m===r.REQUEST_TYPE||m===r.READY_TYPE||m===r.START_TYPE)&&(g.from_device=this.client.getDeviceId()),m===r.REQUEST_TYPE?g={body:this.client.getUserId()+" is requesting to verify your key, but your client does not support in-chat key verification. You will need to use legacy key verification to verify keys.",msgtype:r.REQUEST_TYPE,to:this.userId,from_device:g.from_device,methods:g.methods}:g[p]={rel_type:o,event_id:this.transactionId},g}send(m,g){const S=this.completeContent(m,g);return this.sendCompleted(m,S)}async sendCompleted(m,g){let S=m;m===r.REQUEST_TYPE&&(S=a);const v=await this.client.sendEvent(this.roomId,S,g);m===r.REQUEST_TYPE&&(this.requestEventId=v.event_id)}};xa.InRoomChannel=u;class y{constructor(){(0,t.default)(this,"requestsByRoomId",new Map)}getRequest(m){const g=m.getRoomId(),S=u.getTransactionId(m);return this.getRequestByTxnId(g,S)}getRequestByChannel(m){return this.getRequestByTxnId(m.roomId,m.transactionId)}getRequestByTxnId(m,g){const S=this.requestsByRoomId.get(m);if(S)return S.get(g)}setRequest(m,g){this.doSetRequest(m.getRoomId(),u.getTransactionId(m),g)}setRequestByChannel(m,g){this.doSetRequest(m.roomId,m.transactionId,g)}doSetRequest(m,g,S){let v=this.requestsByRoomId.get(m);v||(v=new Map,this.requestsByRoomId.set(m,v)),v.set(g,S)}removeRequest(m){const g=m.getRoomId(),S=this.requestsByRoomId.get(g);S&&(S.delete(u.getTransactionId(m)),S.size===0&&this.requestsByRoomId.delete(g))}findRequestInProgress(m){const g=this.requestsByRoomId.get(m);if(g){for(const S of g.values())if(S.pending)return S}}}return xa.InRoomRequests=y,xa}var Ua={},p9;function BB(){if(p9)return Ua;p9=1;var e=Ae;Object.defineProperty(Ua,"__esModule",{value:!0}),Ua.ToDeviceRequests=Ua.ToDeviceChannel=void 0;var t=e(Ue),r=_u(),n=Ge(),i=V0(),a=bu(),o=ir();let p=class{constructor(s,m,g,S,v){this.client=s,this.userId=m,this.devices=g,this.transactionId=S,this.deviceId=v,(0,t.default)(this,"request",void 0)}isToDevices(s){if(s.length===this.devices.length){for(const m of s)if(!this.devices.includes(m))return!1;return!0}else return!1}static getEventType(s){return s.getType()}static getTransactionId(s){const m=s.getContent();return m&&m.transaction_id}static canCreateRequest(s){return s===i.REQUEST_TYPE||s===i.START_TYPE}canCreateRequest(s){return p.canCreateRequest(s)}static validateEvent(s,m){if(s.isCancelled())return n.logger.warn("Ignoring flagged verification request from "+s.getSender()),!1;const g=s.getContent();if(!g)return n.logger.warn("ToDeviceChannel.validateEvent: invalid: no content"),!1;if(!g.transaction_id)return n.logger.warn("ToDeviceChannel.validateEvent: invalid: no transaction_id"),!1;const S=s.getType();if(S===i.REQUEST_TYPE){if(!Number.isFinite(g.timestamp))return n.logger.warn("ToDeviceChannel.validateEvent: invalid: no timestamp"),!1;if(s.getSender()===m.getUserId()&&g.from_device==m.getDeviceId())return n.logger.warn("ToDeviceChannel.validateEvent: invalid: from own device"),!1}return i.VerificationRequest.validateEvent(S,s,m)}getTimestamp(s){const m=s.getContent();return m&&m.timestamp}async handleEvent(s,m,g=!1){const S=s.getType(),v=s.getContent();if(S===i.REQUEST_TYPE||S===i.READY_TYPE||S===i.START_TYPE){this.transactionId||(this.transactionId=v.transaction_id);const l=v.from_device;if(!this.deviceId&&this.devices.includes(l)&&(this.deviceId=l),!this.deviceId||this.deviceId!==l){const c=this.completeContent(i.CANCEL_TYPE,(0,a.errorFromEvent)((0,a.newUnexpectedMessageError)()));return this.sendToDevices(i.CANCEL_TYPE,c,[l])}}const h=m.phase===i.PHASE_STARTED||m.phase===i.PHASE_READY;await m.handleEvent(s.getType(),s,g,!1,!1);const _=m.phase===i.PHASE_STARTED||m.phase===i.PHASE_READY;if((S===i.START_TYPE||S===i.READY_TYPE)&&!h&&_&&this.deviceId){const l=this.devices.filter(c=>c!==this.deviceId&&c!==this.client.getDeviceId());if(l.length){const c=this.completeContent(i.CANCEL_TYPE,{code:"m.accepted",reason:"Verification request accepted by another device"});await this.sendToDevices(i.CANCEL_TYPE,c,l)}}}completedContentFromEvent(s){return s.getContent()}completeContent(s,m){return m=Object.assign({},m),this.transactionId&&(m.transaction_id=this.transactionId),(s===i.REQUEST_TYPE||s===i.READY_TYPE||s===i.START_TYPE)&&(m.from_device=this.client.getDeviceId()),s===i.REQUEST_TYPE&&(m.timestamp=Date.now()),m}send(s,m={}){(s===i.REQUEST_TYPE||s===i.START_TYPE)&&!this.transactionId&&(this.transactionId=p.makeTransactionId());const g=this.completeContent(s,m);return this.sendCompleted(s,g)}async sendCompleted(s,m){let g;s===i.REQUEST_TYPE||s===i.CANCEL_TYPE&&!this.deviceId?g=await this.sendToDevices(s,m,this.devices):g=await this.sendToDevices(s,m,[this.deviceId]);const S=new o.MatrixEvent({sender:this.client.getUserId(),content:m,type:s});return await this.request.handleEvent(s,S,!0,!0,!0),g}async sendToDevices(s,m,g){if(g.length){const S={};for(const v of g)S[v]=m;await this.client.sendToDevice(s,{[this.userId]:S})}}static makeTransactionId(){return(0,r.randomString)(32)}};Ua.ToDeviceChannel=p;class u{constructor(){(0,t.default)(this,"requestsByUserId",new Map)}getRequest(s){return this.getRequestBySenderAndTxnId(s.getSender(),p.getTransactionId(s))}getRequestByChannel(s){return this.getRequestBySenderAndTxnId(s.userId,s.transactionId)}getRequestBySenderAndTxnId(s,m){const g=this.requestsByUserId.get(s);if(g)return g.get(m)}setRequest(s,m){this.setRequestBySenderAndTxnId(s.getSender(),p.getTransactionId(s),m)}setRequestByChannel(s,m){this.setRequestBySenderAndTxnId(s.userId,s.transactionId,m)}setRequestBySenderAndTxnId(s,m,g){let S=this.requestsByUserId.get(s);S||(S=new Map,this.requestsByUserId.set(s,S)),S.set(m,g)}removeRequest(s){const m=s.getSender(),g=this.requestsByUserId.get(m);g&&(g.delete(p.getTransactionId(s)),g.size===0&&this.requestsByUserId.delete(m))}findRequestInProgress(s,m){const g=this.requestsByUserId.get(s);if(g){for(const S of g.values())if(S.pending&&S.channel.isToDevices(m))return S}}getRequestsInProgress(s){const m=this.requestsByUserId.get(s);return m?Array.from(m.values()).filter(g=>g.pending):[]}}return Ua.ToDeviceRequests=u,Ua}var Ol={},f9;function jB(){if(f9)return Ol;f9=1;var e=Ae;Object.defineProperty(Ol,"__esModule",{value:!0}),Ol.IllegalMethod=void 0;var t=e(Ue),r=B0();let n=class extends r.VerificationBase{constructor(...a){super(...a),(0,t.default)(this,"doVerification",async()=>{throw new Error("Verification is not possible with this method")})}static factory(a,o,p,u,y,s){return new n(a,o,p,u,y,s)}static get NAME(){return"org.matrix.illegal_method"}};return Ol.IllegalMethod=n,Ol}var $a={},h9;function iw(){if(h9)return $a;h9=1;var e=Ae;Object.defineProperty($a,"__esModule",{value:!0}),$a.DehydrationManager=$a.DEHYDRATION_ALGORITHM=void 0;var t=e(Ue),r=e(v1()),n=ct,i=sn,a=wu(),o=Ge(),p=kn;const u="org.matrix.msc2697.v1.olm.libolm_pickle";$a.DEHYDRATION_ALGORITHM=u;const y=7*24*60*60*1e3;class s{constructor(g){this.crypto=g,(0,t.default)(this,"inProgress",!1),(0,t.default)(this,"timeoutId",void 0),(0,t.default)(this,"key",void 0),(0,t.default)(this,"keyInfo",void 0),(0,t.default)(this,"deviceDisplayName",void 0),this.getDehydrationKeyFromCache()}getDehydrationKeyFromCache(){return this.crypto.cryptoStore.doTxn("readonly",[i.IndexedDBCryptoStore.STORE_ACCOUNT],g=>{this.crypto.cryptoStore.getSecretStorePrivateKey(g,async S=>{if(S){const{key:v,keyInfo:h,deviceDisplayName:_,time:d}=S,l=Buffer.from(this.crypto.olmDevice.pickleKey),c=await(0,a.decryptAES)(v,l,u);this.key=(0,n.decodeBase64)(c),this.keyInfo=h,this.deviceDisplayName=_;const f=Date.now(),E=Math.max(1,d+y-f);this.timeoutId=$e.setTimeout(this.dehydrateDevice.bind(this),E)}},"dehydration")})}async setKeyAndQueueDehydration(g,S={},v){await this.setKey(g,S,v)||this.dehydrateDevice()}async setKey(g,S={},v){if(!g){this.timeoutId&&($e.clearTimeout(this.timeoutId),this.timeoutId=void 0),await this.crypto.cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],_=>{this.crypto.cryptoStore.storeSecretStorePrivateKey(_,"dehydration",null)}),this.key=void 0,this.keyInfo=void 0;return}let h=!!this.key&&g.length==this.key.length;for(let _=0;h&&_<g.length;_++)g[_]!=this.key[_]&&(h=!1);return h||(this.key=g,this.keyInfo=S,this.deviceDisplayName=v),h}async dehydrateDevice(){if(this.inProgress){o.logger.log("Dehydration already in progress -- not starting new dehydration");return}this.inProgress=!0,this.timeoutId&&($e.clearTimeout(this.timeoutId),this.timeoutId=void 0);try{const g=Buffer.from(this.crypto.olmDevice.pickleKey),S=await(0,a.encryptAES)((0,n.encodeBase64)(this.key),g,u);await this.crypto.cryptoStore.doTxn("readwrite",[i.IndexedDBCryptoStore.STORE_ACCOUNT],F=>{this.crypto.cryptoStore.storeSecretStorePrivateKey(F,"dehydration",{keyInfo:this.keyInfo,key:S,deviceDisplayName:this.deviceDisplayName,time:Date.now()})}),o.logger.log("Attempting to dehydrate device"),o.logger.log("Creating account");const v=new $e.Olm.Account;v.create();const h=JSON.parse(v.identity_keys()),_=v.max_number_of_one_time_keys();v.generate_one_time_keys(_/2),v.generate_fallback_key();const d=JSON.parse(v.one_time_keys()),l=JSON.parse(v.fallback_key());v.mark_keys_as_published();const c=v.pickle(new Uint8Array(this.key)),f={algorithm:u,account:c};this.keyInfo.passphrase&&(f.passphrase=this.keyInfo.passphrase),o.logger.log("Uploading account to server");const w=(await this.crypto.baseApis.http.authedRequest(p.Method.Put,"/dehydrated_device",void 0,{device_data:f,initial_device_display_name:this.deviceDisplayName},{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})).device_id;o.logger.log("Preparing device keys",w);const I={algorithms:this.crypto.supportedAlgorithms,device_id:w,user_id:this.crypto.userId,keys:{[`ed25519:${w}`]:h.ed25519,[`curve25519:${w}`]:h.curve25519}},D=v.sign(r.default.stringify(I));I.signatures={[this.crypto.userId]:{[`ed25519:${w}`]:D}},this.crypto.crossSigningInfo.getId("self_signing")&&await this.crypto.crossSigningInfo.signObject(I,"self_signing"),o.logger.log("Preparing one-time keys");const A={};for(const[F,x]of Object.entries(d.curve25519)){const H={key:x},K=v.sign(r.default.stringify(H));H.signatures={[this.crypto.userId]:{[`ed25519:${w}`]:K}},A[`signed_curve25519:${F}`]=H}o.logger.log("Preparing fallback keys");const L={};for(const[F,x]of Object.entries(l.curve25519)){const H={key:x,fallback:!0},K=v.sign(r.default.stringify(H));H.signatures={[this.crypto.userId]:{[`ed25519:${w}`]:K}},L[`signed_curve25519:${F}`]=H}return o.logger.log("Uploading keys to server"),await this.crypto.baseApis.http.authedRequest(p.Method.Post,"/keys/upload/"+encodeURI(w),void 0,{device_keys:I,one_time_keys:A,"org.matrix.msc2732.fallback_keys":L}),o.logger.log("Done dehydrating"),this.timeoutId=$e.setTimeout(this.dehydrateDevice.bind(this),y),w}finally{this.inProgress=!1}}stop(){this.timeoutId&&($e.clearTimeout(this.timeoutId),this.timeoutId=void 0)}}return $a.DehydrationManager=s,$a}var kr={},m9;function aw(){if(m9)return kr;m9=1;var e=Ae;Object.defineProperty(kr,"__esModule",{value:!0}),kr.algorithmsByName=kr.DefaultAlgorithm=kr.Curve25519=kr.BackupManager=kr.Aes256=void 0;var t=e(Ue),r=ln(),n=Ge(),i=ct,a=j0(),o=dt(),p=sn,u=K0(),y=wu(),s=rr,m=q0(),g=F0(),S=kn;const v=200,h=5e3;class _{constructor(D,A){this.baseApis=D,this.getKey=A,(0,t.default)(this,"algorithm",void 0),(0,t.default)(this,"backupInfo",void 0),(0,t.default)(this,"checkedForBackup",void 0),(0,t.default)(this,"sendingBackups",void 0),(0,t.default)(this,"sessionLastCheckAttemptedTime",{}),this.checkedForBackup=!1,this.sendingBackups=!1}get version(){return this.backupInfo&&this.backupInfo.version}static checkBackupVersion(D){const A=E[D.algorithm];if(!A)throw new Error("Unknown backup algorithm: "+D.algorithm);if(typeof D.auth_data!="object")throw new Error("Invalid backup data returned");return A.checkBackupVersion(D)}static makeAlgorithm(D,A){const L=E[D.algorithm];if(!L)throw new Error("Unknown backup algorithm");return L.init(D.auth_data,A)}async enableKeyBackup(D){this.backupInfo=D,this.algorithm&&this.algorithm.free(),this.algorithm=await _.makeAlgorithm(D,this.getKey),this.baseApis.emit(m.CryptoEvent.KeyBackupStatus,!0),this.scheduleKeyBackupSend()}disableKeyBackup(){this.algorithm&&this.algorithm.free(),this.algorithm=void 0,this.backupInfo=void 0,this.baseApis.emit(m.CryptoEvent.KeyBackupStatus,!1)}getKeyBackupEnabled(){return this.checkedForBackup?Boolean(this.algorithm):null}async prepareKeyBackupVersion(D,A){const L=A?E[A]:w;if(!L)throw new Error("Unknown backup algorithm");const[F,x]=await L.prepare(D),H=(0,u.encodeRecoveryKey)(F);return{algorithm:L.algorithmName,auth_data:x,recovery_key:H,privateKey:F}}async createKeyBackupVersion(D){this.algorithm=await _.makeAlgorithm(D,this.getKey)}async checkAndStart(){if(n.logger.log("Checking key backup status..."),this.baseApis.isGuest())return n.logger.log("Skipping key backup check since user is guest"),this.checkedForBackup=!0,null;let D;try{var A;D=(A=await this.baseApis.getKeyBackupVersion())!==null&&A!==void 0?A:void 0}catch(F){return n.logger.log("Error checking for active key backup",F),F.httpStatus===404&&(this.checkedForBackup=!0),null}this.checkedForBackup=!0;const L=await this.isKeyBackupTrusted(D);return L.usable&&!this.backupInfo?(n.logger.log(`Found usable key backup v${D.version}: enabling key backups`),await this.enableKeyBackup(D)):!L.usable&&this.backupInfo?(n.logger.log("No usable key backup: disabling key backup"),this.disableKeyBackup()):!L.usable&&!this.backupInfo?n.logger.log("No usable key backup: not enabling key backup"):L.usable&&this.backupInfo&&(D.version!==this.backupInfo.version?(n.logger.log(`On backup version ${this.backupInfo.version} but found version ${D.version}: switching.`),this.disableKeyBackup(),await this.enableKeyBackup(D),await this.scheduleAllGroupSessionsForBackup()):n.logger.log(`Backup version ${D.version} still current`)),{backupInfo:D,trustInfo:L}}async checkKeyBackup(){return this.checkedForBackup=!1,this.checkAndStart()}async queryKeyBackupRateLimited(D,A){if(!this.backupInfo)return;const L=new Date().getTime();(!this.sessionLastCheckAttemptedTime[A]||L-this.sessionLastCheckAttemptedTime[A]>h)&&(this.sessionLastCheckAttemptedTime[A]=L,await this.baseApis.restoreKeyBackupWithCache(D,A,this.backupInfo,{}))}async isKeyBackupTrusted(D){const A={usable:!1,trusted_locally:!1,sigs:[]};if(!D||!D.algorithm||!D.auth_data||!D.auth_data.signatures)return n.logger.info("Key backup is absent or missing required data"),A;const L=this.baseApis.getUserId(),F=await this.baseApis.crypto.getSessionBackupPrivateKey();if(F){let K=null;try{K=await _.makeAlgorithm(D,async()=>F),await K.keyMatches(F)&&(n.logger.info("Backup is trusted locally"),A.trusted_locally=!0)}catch{}finally{var x;(x=K)===null||x===void 0||x.free()}}const H=D.auth_data.signatures[L]||{};for(const K of Object.keys(H)){const W=K.split(":");if(W[0]!=="ed25519"){n.logger.log("Ignoring unknown signature type: "+W[0]);continue}const X={deviceId:W[1]},G=this.baseApis.crypto.crossSigningInfo.getId();if(G===X.deviceId){X.crossSigningId=!0;try{await(0,i.verifySignature)(this.baseApis.crypto.olmDevice,D.auth_data,L,X.deviceId,G),X.valid=!0}catch(Y){n.logger.warn("Bad signature from cross signing key "+G,Y),X.valid=!1}A.sigs.push(X);continue}const j=this.baseApis.crypto.deviceList.getStoredDevice(L,X.deviceId);if(j){X.device=j,X.deviceTrust=this.baseApis.checkDeviceTrust(L,X.deviceId);try{await(0,i.verifySignature)(this.baseApis.crypto.olmDevice,D.auth_data,L,j.deviceId,j.getFingerprint()),X.valid=!0}catch(Y){n.logger.info("Bad signature from key ID "+K+" userID "+this.baseApis.getUserId()+" device ID "+j.deviceId+" fingerprint: "+j.getFingerprint(),D.auth_data,Y),X.valid=!1}}else X.valid=null,n.logger.info("Ignoring signature from unknown key "+K);A.sigs.push(X)}return A.usable=A.sigs.some(K=>{var W;return K.valid&&(K.device&&((W=K.deviceTrust)===null||W===void 0?void 0:W.isVerified())||K.crossSigningId)}),A}async scheduleKeyBackupSend(D=1e4){if(!this.sendingBackups){this.sendingBackups=!0;try{const A=Math.random()*D;await(0,o.sleep)(A);let L=0;for(;;){if(!this.algorithm)return;try{if(await this.backupPendingKeys(v)===0)return;L=0}catch(F){if(L++,n.logger.log("Key backup request failed",F),F.data&&(F.data.errcode=="M_NOT_FOUND"||F.data.errcode=="M_WRONG_ROOM_KEYS_VERSION"))throw await this.checkKeyBackup(),this.baseApis.crypto.emit(m.CryptoEvent.KeyBackupFailed,F.data.errcode),F}L&&await(0,o.sleep)(1e3*Math.pow(2,Math.min(L-1,4)))}}finally{this.sendingBackups=!1}}}async backupPendingKeys(D){const A=await this.baseApis.crypto.cryptoStore.getSessionsNeedingBackup(D);if(!A.length)return 0;let L=await this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup();this.baseApis.crypto.emit(m.CryptoEvent.KeyBackupSessionsRemaining,L);const F={};for(const H of A){var x;const K=H.sessionData.room_id;F[K]===void 0&&(F[K]={sessions:{}});const W=this.baseApis.crypto.olmDevice.exportInboundGroupSession(H.senderKey,H.sessionId,H.sessionData);W.algorithm=i.MEGOLM_ALGORITHM;const X=(W.forwarding_curve25519_key_chain||[]).length,G=this.baseApis.crypto.deviceList.getUserByIdentityKey(i.MEGOLM_ALGORITHM,H.senderKey),j=(x=this.baseApis.crypto.deviceList.getDeviceByIdentityKey(i.MEGOLM_ALGORITHM,H.senderKey))!==null&&x!==void 0?x:void 0,Y=this.baseApis.crypto.checkDeviceInfoTrust(G,j).isVerified();F[K].sessions[H.sessionId]={first_message_index:W.first_known_index,forwarded_count:X,is_verified:Y,session_data:await this.algorithm.encryptSession(W)}}return await this.baseApis.sendKeyBackup(void 0,void 0,this.backupInfo.version,{rooms:F}),await this.baseApis.crypto.cryptoStore.unmarkSessionsNeedingBackup(A),L=await this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup(),this.baseApis.crypto.emit(m.CryptoEvent.KeyBackupSessionsRemaining,L),A.length}async backupGroupSession(D,A){await this.baseApis.crypto.cryptoStore.markSessionsNeedingBackup([{senderKey:D,sessionId:A}]),this.backupInfo&&this.scheduleKeyBackupSend()}async scheduleAllGroupSessionsForBackup(){await this.flagAllGroupSessionsForBackup(),this.scheduleKeyBackupSend(0)}async flagAllGroupSessionsForBackup(){await this.baseApis.crypto.cryptoStore.doTxn("readwrite",[p.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS,p.IndexedDBCryptoStore.STORE_BACKUP],A=>{this.baseApis.crypto.cryptoStore.getAllEndToEndInboundGroupSessions(A,L=>{L!==null&&this.baseApis.crypto.cryptoStore.markSessionsNeedingBackup([L],A)})});const D=await this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup();return this.baseApis.emit(m.CryptoEvent.KeyBackupSessionsRemaining,D),D}countSessionsNeedingBackup(){return this.baseApis.crypto.cryptoStore.countSessionsNeedingBackup()}}kr.BackupManager=_;class d{constructor(D,A,L){this.authData=D,this.publicKey=A,this.getKey=L}static async init(D,A){if(!D||!("public_key"in D))throw new Error("auth_data missing required information");const L=new $e.Olm.PkEncryption;return L.set_recipient_key(D.public_key),new d(D,L,A)}static async prepare(D){const A=new $e.Olm.PkDecryption;try{const L={};if(!D)L.public_key=A.generate_key();else if(D instanceof Uint8Array)L.public_key=A.init_with_private_key(D);else{const x=await(0,a.keyFromPassphrase)(D);L.private_key_salt=x.salt,L.private_key_iterations=x.iterations,L.public_key=A.init_with_private_key(x.key)}return new $e.Olm.PkEncryption().set_recipient_key(L.public_key),[A.get_private_key(),L]}finally{A.free()}}static checkBackupVersion(D){if(!("public_key"in D.auth_data))throw new Error("Invalid backup data returned")}get untrusted(){return!0}async encryptSession(D){const A=Object.assign({},D);return delete A.session_id,delete A.room_id,delete A.first_known_index,this.publicKey.encrypt(JSON.stringify(A))}async decryptSessions(D){const A=await this.getKey(),L=new $e.Olm.PkDecryption;try{if(L.init_with_private_key(A)!==this.authData.public_key)throw new S.MatrixError({errcode:r.MatrixClient.RESTORE_BACKUP_ERROR_BAD_KEY});const x=[];for(const[H,K]of Object.entries(D))try{const W=JSON.parse(L.decrypt(K.session_data.ephemeral,K.session_data.mac,K.session_data.ciphertext));W.session_id=H,x.push(W)}catch(W){n.logger.log("Failed to decrypt megolm session from backup",W,K)}return x}finally{L.free()}}async keyMatches(D){const A=new $e.Olm.PkDecryption;let L;try{L=A.init_with_private_key(D)}finally{A.free()}return L===this.authData.public_key}free(){this.publicKey.free()}}kr.Curve25519=d,(0,t.default)(d,"algorithmName","m.megolm_backup.v1.curve25519-aes-sha2");function l(I){const D=new Uint8Array(I);return g.crypto.getRandomValues(D),D}const c=new s.UnstableValue("m.megolm_backup.v1.aes-hmac-sha2","org.matrix.msc3270.v1.aes-hmac-sha2");class f{constructor(D,A){this.authData=D,this.key=A}static async init(D,A){if(!D)throw new Error("auth_data missing");const L=await A();if(D.mac){const{mac:F}=await(0,y.calculateKeyCheck)(L,D.iv);if(D.mac.replace(/=+$/g,"")!==F.replace(/=+/g,""))throw new Error("Key does not match")}return new f(D,L)}static async prepare(D){let A;const L={};if(!D)A=l(32);else if(D instanceof Uint8Array)A=new Uint8Array(D);else{const H=await(0,a.keyFromPassphrase)(D);L.private_key_salt=H.salt,L.private_key_iterations=H.iterations,A=H.key}const{iv:F,mac:x}=await(0,y.calculateKeyCheck)(A);return L.iv=F,L.mac=x,[A,L]}static checkBackupVersion(D){if(!("iv"in D.auth_data&&"mac"in D.auth_data))throw new Error("Invalid backup data returned")}get untrusted(){return!1}encryptSession(D){const A=Object.assign({},D);return delete A.session_id,delete A.room_id,delete A.first_known_index,(0,y.encryptAES)(JSON.stringify(A),this.key,D.session_id)}async decryptSessions(D){const A=[];for(const[L,F]of Object.entries(D))try{const x=JSON.parse(await(0,y.decryptAES)(F.session_data,this.key,L));x.session_id=L,A.push(x)}catch(x){n.logger.log("Failed to decrypt megolm session from backup",x,F)}return A}async keyMatches(D){if(this.authData.mac){const{mac:A}=await(0,y.calculateKeyCheck)(D,this.authData.iv);return this.authData.mac.replace(/=+$/g,"")===A.replace(/=+/g,"")}else return!0}free(){this.key.fill(0)}}kr.Aes256=f,(0,t.default)(f,"algorithmName",c.name);const E={[d.algorithmName]:d,[f.algorithmName]:f};kr.algorithmsByName=E;const w=d;return kr.DefaultAlgorithm=w,kr}var v9;function q0(){if(v9)return yr;v9=1;var e=Ae;Object.defineProperty(yr,"__esModule",{value:!0}),yr.IncomingRoomKeyRequest=yr.CryptoEvent=yr.Crypto=void 0,yr.fixBackupKey=se,yr.isCryptoAvailable=N,yr.verificationMethods=void 0;var t=e(Ue),r=e(v1()),n=yu,i=xe,a=yo(),o=Ge(),p=rw(),u=Y(ct),y=MB(),s=Su(),m=Y(tw()),g=g1(),S=AB(),v=NB(),h=ZE(),_=sn,d=nw(),l=xB(),c=j0(),f=K0(),E=V0(),w=FB(),I=BB(),D=jB(),A=zt,L=wu(),F=iw(),x=aw(),H=Ti(),K=en,W=ir(),X=ln(),G=At();function j(oe){if(typeof WeakMap!="function")return null;var M=new WeakMap,O=new WeakMap;return(j=function(z){return z?O:M})(oe)}function Y(oe,M){if(!M&&oe&&oe.__esModule)return oe;if(oe===null||typeof oe!="object"&&typeof oe!="function")return{default:oe};var O=j(M);if(O&&O.has(oe))return O.get(oe);var z={},J=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var re in oe)if(re!=="default"&&Object.prototype.hasOwnProperty.call(oe,re)){var le=J?Object.getOwnPropertyDescriptor(oe,re):null;le&&(le.get||le.set)?Object.defineProperty(z,re,le):z[re]=oe[re]}return z.default=oe,O&&O.set(oe,z),z}function R(oe,M){var O=Object.keys(oe);if(Object.getOwnPropertySymbols){var z=Object.getOwnPropertySymbols(oe);M&&(z=z.filter(function(J){return Object.getOwnPropertyDescriptor(oe,J).enumerable})),O.push.apply(O,z)}return O}function k(oe){for(var M=1;M<arguments.length;M++){var O=arguments[M]!=null?arguments[M]:{};M%2?R(Object(O),!0).forEach(function(z){(0,t.default)(oe,z,O[z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(oe,Object.getOwnPropertyDescriptors(O)):R(Object(O)).forEach(function(z){Object.defineProperty(oe,z,Object.getOwnPropertyDescriptor(O,z))})}return oe}const B=s.DeviceInfo.DeviceVerification,$={[d.ReciprocateQRCode.NAME]:d.ReciprocateQRCode,[l.SAS.NAME]:l.SAS,[d.SHOW_QR_CODE_METHOD]:D.IllegalMethod,[d.SCAN_QR_CODE_METHOD]:D.IllegalMethod},C={RECIPROCATE_QR_CODE:d.ReciprocateQRCode.NAME,SAS:l.SAS.NAME};yr.verificationMethods=C;function N(){return Boolean($e.Olm)}const T=60*60*1e3;let ee;yr.CryptoEvent=ee,function(oe){oe.DeviceVerificationChanged="deviceVerificationChanged",oe.UserTrustStatusChanged="userTrustStatusChanged",oe.UserCrossSigningUpdated="userCrossSigningUpdated",oe.RoomKeyRequest="crypto.roomKeyRequest",oe.RoomKeyRequestCancellation="crypto.roomKeyRequestCancellation",oe.KeyBackupStatus="crypto.keyBackupStatus",oe.KeyBackupFailed="crypto.keyBackupFailed",oe.KeyBackupSessionsRemaining="crypto.keyBackupSessionsRemaining",oe.KeySignatureUploadFailure="crypto.keySignatureUploadFailure",oe.VerificationRequest="crypto.verification.request",oe.Warning="crypto.warning",oe.WillUpdateDevices="crypto.willUpdateDevices",oe.DevicesUpdated="crypto.devicesUpdated",oe.KeysChanged="crossSigning.keysChanged"}(ee||(yr.CryptoEvent=ee={}));class ne extends G.TypedEventEmitter{static getOlmVersion(){return p.OlmDevice.getOlmVersion()}constructor(M,O,z,J,re,le,de){if(super(),this.baseApis=M,this.userId=O,this.deviceId=z,this.clientStore=J,this.cryptoStore=re,this.roomList=le,(0,t.default)(this,"backupManager",void 0),(0,t.default)(this,"crossSigningInfo",void 0),(0,t.default)(this,"olmDevice",void 0),(0,t.default)(this,"deviceList",void 0),(0,t.default)(this,"dehydrationManager",void 0),(0,t.default)(this,"secretStorage",void 0),(0,t.default)(this,"reEmitter",void 0),(0,t.default)(this,"verificationMethods",void 0),(0,t.default)(this,"supportedAlgorithms",void 0),(0,t.default)(this,"outgoingRoomKeyRequestManager",void 0),(0,t.default)(this,"toDeviceVerificationRequests",void 0),(0,t.default)(this,"inRoomVerificationRequests",void 0),(0,t.default)(this,"trustCrossSignedDevices",!0),(0,t.default)(this,"lastOneTimeKeyCheck",null),(0,t.default)(this,"oneTimeKeyCheckInProgress",!1),(0,t.default)(this,"roomEncryptors",new Map),(0,t.default)(this,"roomDecryptors",new Map),(0,t.default)(this,"deviceKeys",{}),(0,t.default)(this,"globalBlacklistUnverifiedDevices",!1),(0,t.default)(this,"globalErrorOnUnknownDevices",!0),(0,t.default)(this,"receivedRoomKeyRequests",[]),(0,t.default)(this,"receivedRoomKeyRequestCancellations",[]),(0,t.default)(this,"processingRoomKeyRequests",!1),(0,t.default)(this,"lazyLoadMembers",!1),(0,t.default)(this,"roomDeviceTrackingState",{}),(0,t.default)(this,"lastNewSessionForced",{}),(0,t.default)(this,"sendKeyRequestsImmediately",!1),(0,t.default)(this,"oneTimeKeyCount",void 0),(0,t.default)(this,"needsNewFallback",void 0),(0,t.default)(this,"fallbackCleanup",void 0),(0,t.default)(this,"onDeviceListUserCrossSigningUpdated",async ve=>{if(ve===this.userId){const he=this.deviceList.getStoredCrossSigningForUser(ve),ce=he?he.getId():null,Se=this.crossSigningInfo.getId();Se&&ce&&!(Se!==ce)?await this.checkOwnCrossSigningTrust():(this.storeTrustedSelfKeys(null),this.emit(ee.KeysChanged,{}),this.emit(ee.UserTrustStatusChanged,this.userId,this.checkUserTrust(ve)))}else{await this.checkDeviceVerifications(ve);const he=this.deviceList.getStoredCrossSigningForUser(ve);he&&(he.updateCrossSigningVerifiedBefore(this.checkUserTrust(ve).isCrossSigningVerified()),this.deviceList.setRawStoredCrossSigningForUser(ve,he.toStorage())),this.emit(ee.UserTrustStatusChanged,ve,this.checkUserTrust(ve))}}),(0,t.default)(this,"onMembership",(ve,he,ce)=>{try{this.onRoomMembership(ve,he,ce)}catch(Se){o.logger.error("Error handling membership change:",Se)}}),(0,t.default)(this,"onToDeviceEvent",ve=>{try{o.logger.log(`received to-device ${ve.getType()} from: ${ve.getSender()} id: ${ve.getContent()[i.ToDeviceMessageId]}`),ve.getType()=="m.room_key"||ve.getType()=="m.forwarded_room_key"?this.onRoomKeyEvent(ve):ve.getType()=="m.room_key_request"?this.onRoomKeyRequestEvent(ve):ve.getType()==="m.secret.request"?this.secretStorage.onRequestReceived(ve):ve.getType()==="m.secret.send"?this.secretStorage.onSecretReceived(ve):ve.getType()==="m.room_key.withheld"?this.onRoomKeyWithheldEvent(ve):ve.getContent().transaction_id?this.onKeyVerificationMessage(ve):ve.getContent().msgtype==="m.bad.encrypted"?this.onToDeviceBadEncrypted(ve):(ve.isBeingDecrypted()||ve.shouldAttemptDecryption())&&(ve.isBeingDecrypted()||ve.attemptDecryption(this),ve.once(W.MatrixEventEvent.Decrypted,he=>{this.onToDeviceEvent(he)}))}catch(he){o.logger.error("Error handling toDeviceEvent:",he)}}),(0,t.default)(this,"onTimelineEvent",(ve,he,ce,Se,{liveEvent:Te=!0}={})=>{if(!w.InRoomChannel.validateEvent(ve,this.baseApis))return;const Me=Ke=>{const Ne=new w.InRoomChannel(this.baseApis,Ke.getRoomId());return new E.VerificationRequest(Ne,this.verificationMethods,this.baseApis)};this.handleVerificationEvent(ve,this.inRoomVerificationRequests,Me,Te)}),this.reEmitter=new a.TypedReEmitter(this),de){this.verificationMethods=new Map;for(const ve of de)typeof ve=="string"?$[ve]&&this.verificationMethods.set(ve,$[ve]):ve.NAME?this.verificationMethods.set(ve.NAME,ve):o.logger.warn(`Excluding unknown verification method ${ve}`)}else this.verificationMethods=new Map(Object.entries($));this.backupManager=new x.BackupManager(M,async()=>{const ve=await this.getSessionBackupPrivateKey();if(ve)return ve;const he=await this.getSecret("m.megolm_backup.v1");if(he){const ce=se(he);if(ce){const Se=await this.getSecretStorageKey();await this.storeSecret("m.megolm_backup.v1",ce,[Se[0]])}return u.decodeBase64(ce||he)}if(this.baseApis.cryptoCallbacks&&this.baseApis.cryptoCallbacks.getBackupKey)return this.baseApis.cryptoCallbacks.getBackupKey();throw new Error("Unable to get private key")}),this.olmDevice=new p.OlmDevice(re),this.deviceList=new y.DeviceList(M,re,this.olmDevice),this.deviceList.on(ee.UserCrossSigningUpdated,this.onDeviceListUserCrossSigningUpdated),this.reEmitter.reEmit(this.deviceList,[ee.DevicesUpdated,ee.WillUpdateDevices]),this.supportedAlgorithms=Array.from(m.DECRYPTION_CLASSES.keys()),this.outgoingRoomKeyRequestManager=new h.OutgoingRoomKeyRequestManager(M,this.deviceId,this.cryptoStore),this.toDeviceVerificationRequests=new I.ToDeviceRequests,this.inRoomVerificationRequests=new w.InRoomRequests;const ue=this.baseApis.cryptoCallbacks||{},pe=(0,g.createCryptoStoreCacheCallbacks)(re,this.olmDevice);this.crossSigningInfo=new g.CrossSigningInfo(O,ue,pe),this.secretStorage=new v.SecretStorage(M,ue,M),this.dehydrationManager=new F.DehydrationManager(this),!ue.getCrossSigningKey&&ue.getSecretStorageKey&&(ue.getCrossSigningKey=async ve=>g.CrossSigningInfo.getFromSecretStorage(ve,this.secretStorage))}async init({exportedOlmDevice:M,pickleKey:O}={}){o.logger.log("Crypto: initialising Olm..."),await $e.Olm.init(),o.logger.log(M?"Crypto: initialising Olm device from exported device...":"Crypto: initialising Olm device..."),await this.olmDevice.init({fromExportedDevice:M,pickleKey:O}),o.logger.log("Crypto: loading device list..."),await this.deviceList.load(),this.deviceKeys["ed25519:"+this.deviceId]=this.olmDevice.deviceEd25519Key,this.deviceKeys["curve25519:"+this.deviceId]=this.olmDevice.deviceCurve25519Key,o.logger.log("Crypto: fetching own devices...");let z=this.deviceList.getRawStoredDevicesForUser(this.userId);if(z||(z={}),!z[this.deviceId]){o.logger.log("Crypto: adding this device to the store...");const J={keys:this.deviceKeys,algorithms:this.supportedAlgorithms,verified:B.VERIFIED,known:!0};z[this.deviceId]=J,this.deviceList.storeDevicesForUser(this.userId,z),this.deviceList.saveIfDirty()}await this.cryptoStore.doTxn("readonly",[_.IndexedDBCryptoStore.STORE_ACCOUNT],J=>{this.cryptoStore.getCrossSigningKeys(J,re=>{re&&Object.keys(re).length!==0&&(o.logger.log("Loaded cross-signing public keys from crypto store"),this.crossSigningInfo.setKeys(re))})}),this.deviceList.startTrackingDeviceList(this.userId),o.logger.log("Crypto: checking for key backup..."),this.backupManager.checkAndStart()}getCryptoTrustCrossSignedDevices(){return this.trustCrossSignedDevices}setCryptoTrustCrossSignedDevices(M){this.trustCrossSignedDevices=M;for(const O of this.deviceList.getKnownUserIds()){const z=this.deviceList.getRawStoredDevicesForUser(O);for(const J of Object.keys(z)){const re=this.checkDeviceTrust(O,J);if(!re.isLocallyVerified()&&re.isCrossSigningVerified()){const le=this.deviceList.getStoredDevice(O,J);this.emit(ee.DeviceVerificationChanged,O,J,le)}}}}async createRecoveryKeyFromPassphrase(M){const O=new $e.Olm.PkDecryption;try{const z={};if(M){const le=await(0,c.keyFromPassphrase)(M);z.passphrase={algorithm:"m.pbkdf2",iterations:le.iterations,salt:le.salt},z.pubkey=O.init_with_private_key(le.key)}else z.pubkey=O.generate_key();const J=O.get_private_key(),re=(0,f.encodeRecoveryKey)(J);return{keyInfo:z,encodedPrivateKey:re,privateKey:J}}finally{O==null||O.free()}}async userHasCrossSigningKeys(){return await this.downloadKeys([this.userId]),this.deviceList.getStoredCrossSigningForUser(this.userId)!==null}async isCrossSigningReady(){const M=this.crossSigningInfo.getId(),O=await this.crossSigningInfo.isStoredInKeyCache()||await this.crossSigningInfo.isStoredInSecretStorage(this.secretStorage);return!!(M&&O)}async isSecretStorageReady(){const M=await this.secretStorage.hasKey(),O=await this.crossSigningInfo.isStoredInSecretStorage(this.secretStorage),z=!this.backupManager.getKeyBackupEnabled()||await this.baseApis.isKeyBackupKeyStored();return!!(M&&O&&z)}async bootstrapCrossSigning({authUploadDeviceSigningKeys:M,setupNewCrossSigning:O}={}){o.logger.log("Bootstrapping cross-signing");const z=this.baseApis.cryptoCallbacks,J=new S.EncryptionSetupBuilder(this.baseApis.store.accountData,z),re=new g.CrossSigningInfo(this.userId,J.crossSigningCallbacks,J.crossSigningCallbacks),le=async()=>{re.resetKeys(),await this.signObject(re.keys.master),J.addCrossSigningKeys(M,re.keys);const Se=this.deviceList.getStoredDevice(this.userId,this.deviceId),Te=await re.signDevice(this.userId,Se);J.addKeySignature(this.userId,this.deviceId,Te),this.backupManager.backupInfo&&(await re.signObject(this.backupManager.backupInfo.auth_data,"master"),J.addSessionBackup(this.backupManager.backupInfo))},de=this.crossSigningInfo.getId(),ue=await this.crossSigningInfo.isStoredInKeyCache(),pe=await this.crossSigningInfo.isStoredInSecretStorage(this.secretStorage),ve=ue||pe;o.logger.log({setupNewCrossSigning:O,publicKeysOnDevice:de,privateKeysInCache:ue,privateKeysInStorage:pe,privateKeysExistSomewhere:ve}),!ve||O?(o.logger.log("Cross-signing private keys not found locally or in secret storage, creating new keys"),await le()):de&&ue?o.logger.log("Cross-signing public keys trusted and private keys found locally"):pe&&(o.logger.log("Cross-signing private keys not found locally, but they are available in secret storage, reading storage and caching locally"),await this.checkOwnCrossSigningTrust({allowPrivateKeyRequests:!0}));const he=J.crossSigningCallbacks.privateKeys;if(he.size&&!this.baseApis.cryptoCallbacks.saveCrossSigningKeys){const Se=new v.SecretStorage(J.accountDataClientAdapter,J.ssssCryptoCallbacks,void 0);await Se.hasKey()&&(o.logger.log("Storing new cross-signing private keys in secret storage"),await g.CrossSigningInfo.storeInSecretStorage(he,Se))}await J.buildOperation().apply(this),await J.persist(this),o.logger.log("Cross-signing ready")}async bootstrapSecretStorage({createSecretStorageKey:M=async()=>({}),keyBackupInfo:O,setupNewKeyBackup:z,setupNewSecretStorage:J,getKeyBackupPassphrase:re}={}){o.logger.log("Bootstrapping Secure Secret Storage");const le=this.baseApis.cryptoCallbacks,de=new S.EncryptionSetupBuilder(this.baseApis.store.accountData,le),ue=new v.SecretStorage(de.accountDataClientAdapter,de.ssssCryptoCallbacks,void 0);let pe=null;const ve=async(Fe,Le)=>{Le&&(Fe.key=Le);const{keyId:We,keyInfo:Re}=await ue.addKey(v.SECRET_STORAGE_ALGORITHM_V1_AES,Fe);return Le&&de.ssssCryptoCallbacks.addPrivateKey(We,Re,Le),await ue.setDefaultKeyId(We),We},he=async(Fe,Le)=>{if(!Le.mac){var We,Re;const b=await((We=(Re=this.baseApis.cryptoCallbacks).getSecretStorageKey)===null||We===void 0?void 0:We.call(Re,{keys:{[Fe]:Le}},""));if(b){const P=b[1];de.ssssCryptoCallbacks.addPrivateKey(Fe,Le,P);const{iv:U,mac:Q}=await(0,L.calculateKeyCheck)(P);Le.iv=U,Le.mac=Q,await de.setAccountData(`m.secret_storage.key.${Fe}`,Le)}}},ce=async Fe=>{if(this.crossSigningInfo.getId()&&await this.crossSigningInfo.isStoredInKeyCache("master"))try{o.logger.log("Adding cross-signing signature to key backup"),await this.crossSigningInfo.signObject(Fe,"master")}catch(Le){o.logger.error("Signing key backup with cross-signing keys failed",Le)}else o.logger.warn("Cross-signing keys not available, skipping signature on key backup")},Se=await this.getSecretStorageKey(),[Te,Me]=Se||[null,null],Ke=!J&&Me&&Me.algorithm===v.SECRET_STORAGE_ALGORITHM_V1_AES;if(o.logger.log({keyBackupInfo:O,setupNewKeyBackup:z,setupNewSecretStorage:J,storageExists:Ke,oldKeyInfo:Me}),!Ke&&!O){o.logger.log("Secret storage does not exist, creating new storage key");const{keyInfo:Fe={},privateKey:Le}=await M();pe=await ve(Fe,Le)}else if(!Ke&&O){o.logger.log("Secret storage does not exist, using key backup key");const Fe=await this.getSessionBackupPrivateKey()||await(re==null?void 0:re()),Le={};O.auth_data.private_key_salt&&O.auth_data.private_key_iterations&&(Le.passphrase={algorithm:"m.pbkdf2",iterations:O.auth_data.private_key_iterations,salt:O.auth_data.private_key_salt,bits:256}),pe=await ve(Le,Fe),await ue.store("m.megolm_backup.v1",u.encodeBase64(Fe),[pe]),await ce(O.auth_data),de.addSessionBackup(O)}else o.logger.log("Secret storage exists"),Me&&Me.algorithm===v.SECRET_STORAGE_ALGORITHM_V1_AES&&await he(Te,Me);if(!this.baseApis.cryptoCallbacks.saveCrossSigningKeys&&await this.isCrossSigningReady()&&(pe||!await this.crossSigningInfo.isStoredInSecretStorage(ue))){o.logger.log("Copying cross-signing private keys from cache to secret storage");const Fe=await this.crossSigningInfo.getCrossSigningKeysFromCache();await g.CrossSigningInfo.storeInSecretStorage(Fe,ue)}if(z&&!O){o.logger.log("Creating new message key backup version");const Fe=await this.baseApis.prepareKeyBackupVersion(null,{secureSecretStorage:!1}),Le=(0,f.decodeRecoveryKey)(Fe.recovery_key);await ue.store("m.megolm_backup.v1",u.encodeBase64(Le));const We={algorithm:Fe.algorithm,auth_data:Fe.auth_data};await ce(We.auth_data),await this.signObject(We.auth_data),de.addSessionBackup(We)}const Ne=await ue.get("m.megolm_backup.v1");if(Ne){o.logger.info("Got session backup key from secret storage: caching");const Fe=se(Ne);if(Fe){const We=pe||Te;await ue.store("m.megolm_backup.v1",Fe,We?[We]:null)}const Le=new Uint8Array(u.decodeBase64(Fe||Ne));de.addSessionBackupPrivateKeyToCache(Le)}else if(this.backupManager.getKeyBackupEnabled()){const Fe=await this.getSessionBackupPrivateKey()||await(re==null?void 0:re());if(!Fe){o.logger.error("Key backup is enabled but couldn't get key backup key!");return}o.logger.info("Got session backup key from cache/user that wasn't in SSSS: saving to SSSS"),await ue.store("m.megolm_backup.v1",u.encodeBase64(Fe))}await de.buildOperation().apply(this),await de.persist(this),o.logger.log("Secure Secret Storage ready")}addSecretStorageKey(M,O,z){return this.secretStorage.addKey(M,O,z)}hasSecretStorageKey(M){return this.secretStorage.hasKey(M)}getSecretStorageKey(M){return this.secretStorage.getKey(M)}storeSecret(M,O,z){return this.secretStorage.store(M,O,z)}getSecret(M){return this.secretStorage.get(M)}isSecretStored(M){return this.secretStorage.isStored(M)}requestSecret(M,O){return O||(O=Object.keys(this.deviceList.getRawStoredDevicesForUser(this.userId))),this.secretStorage.request(M,O)}getDefaultSecretStorageKeyId(){return this.secretStorage.getDefaultKeyId()}setDefaultSecretStorageKeyId(M){return this.secretStorage.setDefaultKeyId(M)}checkSecretStorageKey(M,O){return this.secretStorage.checkKey(M,O)}checkSecretStoragePrivateKey(M,O){let z=null;try{return z=new $e.Olm.PkDecryption,z.init_with_private_key(M)===O}finally{var J;(J=z)===null||J===void 0||J.free()}}async getSessionBackupPrivateKey(){let M=await new Promise(O=>{this.cryptoStore.doTxn("readonly",[_.IndexedDBCryptoStore.STORE_ACCOUNT],z=>{this.cryptoStore.getSecretStorePrivateKey(z,O,"m.megolm_backup.v1")})});if(M&&typeof M=="string"&&(M=new Uint8Array(u.decodeBase64(se(M)||M)),await this.storeSessionBackupPrivateKey(M)),M&&M.ciphertext){const O=Buffer.from(this.olmDevice.pickleKey),z=await(0,L.decryptAES)(M,O,"m.megolm_backup.v1");M=u.decodeBase64(z)}return M}async storeSessionBackupPrivateKey(M){if(!(M instanceof Uint8Array))throw new Error(`storeSessionBackupPrivateKey expects Uint8Array, got ${M}`);const O=Buffer.from(this.olmDevice.pickleKey),z=await(0,L.encryptAES)(u.encodeBase64(M),O,"m.megolm_backup.v1");return this.cryptoStore.doTxn("readwrite",[_.IndexedDBCryptoStore.STORE_ACCOUNT],J=>{this.cryptoStore.storeSecretStorePrivateKey(J,"m.megolm_backup.v1",z)})}checkCrossSigningPrivateKey(M,O){let z=null;try{return z=new $e.Olm.PkSigning,z.init_with_seed(M)===O}finally{var J;(J=z)===null||J===void 0||J.free()}}async afterCrossSigningLocalKeyChange(){o.logger.info("Starting cross-signing key change post-processing");const M=this.deviceList.getStoredDevice(this.userId,this.deviceId),O=await this.crossSigningInfo.signDevice(this.userId,M);o.logger.info(`Starting background key sig upload for ${this.deviceId}`);const z=({shouldEmit:re=!1})=>this.baseApis.uploadKeySignatures({[this.userId]:{[this.deviceId]:O}}).then(le=>{const{failures:de}=le||{};if(Object.keys(de||[]).length>0)throw re&&this.baseApis.emit(ee.KeySignatureUploadFailure,de,"afterCrossSigningLocalKeyChange",z),new A.KeySignatureUploadError("Key upload failed",{failures:de});o.logger.info(`Finished background key sig upload for ${this.deviceId}`)}).catch(le=>{o.logger.error(`Error during background key sig upload for ${this.deviceId}`,le)});z({shouldEmit:!0});const J=this.baseApis.cryptoCallbacks.shouldUpgradeDeviceVerifications;if(J){o.logger.info("Starting device verification upgrade");const re={};for(const[le,de]of Object.entries(this.deviceList.crossSigningInfo)){const ue=await this.checkForDeviceVerificationUpgrade(le,g.CrossSigningInfo.fromStorage(de,le));ue&&(re[le]=ue)}if(Object.keys(re).length>0){o.logger.info(`Found ${Object.keys(re).length} verif users to upgrade`);try{const le=await J({users:re});if(le)for(const de of le)de in re&&await this.baseApis.setDeviceVerified(de,re[de].crossSigningInfo.getId())}catch(le){o.logger.log("shouldUpgradeDeviceVerifications threw an error: not upgrading",le)}}o.logger.info("Finished device verification upgrade")}o.logger.info("Finished cross-signing key change post-processing")}async checkForDeviceVerificationUpgrade(M,O){const z=this.crossSigningInfo.checkUserTrust(O);if(O.firstUse&&!z.isVerified()){const J=this.deviceList.getRawStoredDevicesForUser(M),re=await this.checkForValidDeviceSignature(M,O.keys.master,J);if(re.length)return{devices:re.map(le=>s.DeviceInfo.fromStorage(J[le],le)),crossSigningInfo:O}}}async checkForValidDeviceSignature(M,O,z){const J=[];if(z&&O.signatures&&O.signatures[M])for(const re of Object.keys(O.signatures[M])){const[,le]=re.split(":",2);if(le in z&&z[le].verified===B.VERIFIED)try{await u.verifySignature(this.olmDevice,O,M,le,z[le].keys[re]),J.push(le)}catch{}}return J}getCrossSigningId(M){return this.crossSigningInfo.getId(M)}getStoredCrossSigningForUser(M){return this.deviceList.getStoredCrossSigningForUser(M)}checkUserTrust(M){const O=this.deviceList.getStoredCrossSigningForUser(M);return O?this.crossSigningInfo.checkUserTrust(O):new g.UserTrustLevel(!1,!1,!1)}checkDeviceTrust(M,O){const z=this.deviceList.getStoredDevice(M,O);return this.checkDeviceInfoTrust(M,z)}checkDeviceInfoTrust(M,O){const z=!!(O!=null&&O.isVerified()),J=this.deviceList.getStoredCrossSigningForUser(M);if(O&&J){const re=this.trustCrossSignedDevices||M===this.userId;return this.crossSigningInfo.checkDeviceTrust(J,O,z,re)}else return new g.DeviceTrustLevel(!1,!1,z,!1)}checkIfOwnDeviceCrossSigned(M){var O;const z=this.deviceList.getStoredDevice(this.userId,M);if(!z)return!1;const J=this.deviceList.getStoredCrossSigningForUser(this.userId);return(O=J==null?void 0:J.checkDeviceTrust(J,z,!1,!0).isCrossSigningVerified())!==null&&O!==void 0?O:!1}async checkOwnCrossSigningTrust({allowPrivateKeyRequests:M=!1}={}){const O=this.userId;await this.downloadKeys([this.userId]);const z=await this.crossSigningInfo.getCrossSigningKeysFromCache(),J=this.deviceList.getStoredCrossSigningForUser(O);if(!J){o.logger.error("Got cross-signing update event for user "+O+" but no new cross-signing information found!");return}const re=J.getId(),le=this.crossSigningInfo.getId()!==re,de=J.getId()&&!z.has("master");if(le&&o.logger.info("Got new master public key",re),M&&(le||de)){o.logger.info("Attempting to retrieve cross-signing master private key");let Fe=null;try{Fe=(await this.crossSigningInfo.getCrossSigningKey("master",re))[1],o.logger.info("Got cross-signing master private key")}finally{var ue;(ue=Fe)===null||ue===void 0||ue.free()}}const pe=this.crossSigningInfo.getId("self_signing"),ve=this.crossSigningInfo.getId("user_signing");this.storeTrustedSelfKeys(J.keys);const he=pe!==J.getId("self_signing"),ce=ve!==J.getId("user_signing"),Se=J.getId("self_signing")&&!z.has("self_signing"),Te=J.getId("user_signing")&&!z.has("user_signing"),Me={};if(he&&o.logger.info("Got new self-signing key",J.getId("self_signing")),M&&(he||Se)){o.logger.info("Attempting to retrieve cross-signing self-signing private key");let Fe=null;try{Fe=(await this.crossSigningInfo.getCrossSigningKey("self_signing",J.getId("self_signing")))[1],o.logger.info("Got cross-signing self-signing private key")}finally{var Ke;(Ke=Fe)===null||Ke===void 0||Ke.free()}const Le=this.deviceList.getStoredDevice(this.userId,this.deviceId),We=await this.crossSigningInfo.signDevice(this.userId,Le);Me[this.deviceId]=We}if(ce&&o.logger.info("Got new user-signing key",J.getId("user_signing")),M&&(ce||Te)){o.logger.info("Attempting to retrieve cross-signing user-signing private key");let Fe=null;try{Fe=(await this.crossSigningInfo.getCrossSigningKey("user_signing",J.getId("user_signing")))[1],o.logger.info("Got cross-signing user-signing private key")}finally{var Ne;(Ne=Fe)===null||Ne===void 0||Ne.free()}}if(le){const Fe=this.crossSigningInfo.keys.master;await this.signObject(Fe);const Le=Fe.signatures[this.userId]["ed25519:"+this.deviceId];Me[this.crossSigningInfo.getId()]=Object.assign({},Fe,{signatures:{[this.userId]:{["ed25519:"+this.deviceId]:Le}}})}const qe=Object.keys(Me);if(qe.length){const Fe=({shouldEmit:Le=!1})=>(o.logger.info(`Starting background key sig upload for ${qe}`),this.baseApis.uploadKeySignatures({[this.userId]:Me}).then(We=>{const{failures:Re}=We||{};if(o.logger.info(`Finished background key sig upload for ${qe}`),Object.keys(Re||[]).length>0)throw Le&&this.baseApis.emit(ee.KeySignatureUploadFailure,Re,"checkOwnCrossSigningTrust",Fe),new A.KeySignatureUploadError("Key upload failed",{failures:Re})}).catch(We=>{o.logger.error(`Error during background key sig upload for ${qe}`,We)}));Fe({shouldEmit:!0})}this.emit(ee.UserTrustStatusChanged,O,this.checkUserTrust(O)),le&&(this.emit(ee.KeysChanged,{}),await this.afterCrossSigningLocalKeyChange()),await this.backupManager.checkKeyBackup()}async storeTrustedSelfKeys(M){M?this.crossSigningInfo.setKeys(M):this.crossSigningInfo.clearKeys(),await this.cryptoStore.doTxn("readwrite",[_.IndexedDBCryptoStore.STORE_ACCOUNT],O=>{this.cryptoStore.storeCrossSigningKeys(O,this.crossSigningInfo.keys)})}async checkDeviceVerifications(M){const O=this.baseApis.cryptoCallbacks.shouldUpgradeDeviceVerifications;if(O){if(o.logger.info(`Starting device verification upgrade for ${M}`),this.crossSigningInfo.keys.user_signing){const z=this.deviceList.getStoredCrossSigningForUser(M);if(z){const J=await this.checkForDeviceVerificationUpgrade(M,z);J&&(await O({users:{[M]:J}})).includes(M)&&await this.baseApis.setDeviceVerified(M,z.getId())}}o.logger.info(`Finished device verification upgrade for ${M}`)}}enableLazyLoading(){this.lazyLoadMembers=!0}registerEventHandlers(M){M.on(K.RoomMemberEvent.Membership,this.onMembership),M.on(X.ClientEvent.ToDeviceEvent,this.onToDeviceEvent),M.on(H.RoomEvent.Timeline,this.onTimelineEvent),M.on(W.MatrixEventEvent.Decrypted,this.onTimelineEvent)}start(){o.logger.warn("MatrixClient.crypto.start() is deprecated")}stop(){this.outgoingRoomKeyRequestManager.stop(),this.deviceList.stop(),this.dehydrationManager.stop()}getDeviceEd25519Key(){return this.olmDevice.deviceEd25519Key}getDeviceCurve25519Key(){return this.olmDevice.deviceCurve25519Key}setGlobalBlacklistUnverifiedDevices(M){this.globalBlacklistUnverifiedDevices=M}getGlobalBlacklistUnverifiedDevices(){return this.globalBlacklistUnverifiedDevices}uploadDeviceKeys(){const M={algorithms:this.supportedAlgorithms,device_id:this.deviceId,keys:this.deviceKeys,user_id:this.userId};return this.signObject(M).then(()=>this.baseApis.uploadKeysRequest({device_keys:M}))}updateOneTimeKeyCount(M){if(isFinite(M))this.oneTimeKeyCount=M;else throw new TypeError("Parameter for updateOneTimeKeyCount has to be a number")}setNeedsNewFallback(M){this.needsNewFallback=M}getNeedsNewFallback(){return!!this.needsNewFallback}maybeUploadOneTimeKeys(){if(this.oneTimeKeyCheckInProgress)return;const z=Date.now();if(this.lastOneTimeKeyCheck!==null&&z-this.lastOneTimeKeyCheck<6e4)return;this.lastOneTimeKeyCheck=z;const J=this.olmDevice.maxNumberOfOneTimeKeys(),re=Math.floor(J/2),le=async de=>{for(;re>de||this.getNeedsNewFallback();){if(re>de){o.logger.info("generating oneTimeKeys");const pe=Math.min(re-de,5);await this.olmDevice.generateOneTimeKeys(pe)}if(this.getNeedsNewFallback()){const pe=await this.olmDevice.getFallbackKey();(!pe.curve25519||Object.keys(pe.curve25519).length==0)&&(o.logger.info("generating fallback key"),this.fallbackCleanup&&(clearTimeout(this.fallbackCleanup),delete this.fallbackCleanup),await this.olmDevice.generateFallbackKey())}o.logger.info("calling uploadOneTimeKeys");const ue=await this.uploadOneTimeKeys();if(ue.one_time_key_counts&&ue.one_time_key_counts.signed_curve25519)de=ue.one_time_key_counts.signed_curve25519;else throw new Error("response for uploading keys does not contain one_time_key_counts.signed_curve25519")}};this.oneTimeKeyCheckInProgress=!0,Promise.resolve().then(()=>this.oneTimeKeyCount!==void 0?Promise.resolve(this.oneTimeKeyCount):this.baseApis.uploadKeysRequest({}).then(de=>de.one_time_key_counts.signed_curve25519||0)).then(de=>le(de)).catch(de=>{o.logger.error("Error uploading one-time keys",de.stack||de)}).finally(()=>{this.oneTimeKeyCount=void 0,this.oneTimeKeyCheckInProgress=!1})}async uploadOneTimeKeys(){const M=[];let O;if(this.getNeedsNewFallback()){O={};const de=await this.olmDevice.getFallbackKey();for(const[ue,pe]of Object.entries(de.curve25519)){const ve={key:pe,fallback:!0};O["signed_curve25519:"+ue]=ve,M.push(this.signObject(ve))}this.setNeedsNewFallback(!1)}const z=await this.olmDevice.getOneTimeKeys(),J={};for(const de in z.curve25519)if(z.curve25519.hasOwnProperty(de)){const ue={key:z.curve25519[de]};J["signed_curve25519:"+de]=ue,M.push(this.signObject(ue))}await Promise.all(M);const re={one_time_keys:J};O&&(re["org.matrix.msc2732.fallback_keys"]=O,re.fallback_keys=O);const le=await this.baseApis.uploadKeysRequest(re);return O&&(this.fallbackCleanup=setTimeout(()=>{delete this.fallbackCleanup,this.olmDevice.forgetOldFallbackKey()},60*60*1e3)),await this.olmDevice.markKeysAsPublished(),le}downloadKeys(M,O){return this.deviceList.downloadKeys(M,!!O)}getStoredDevicesForUser(M){return this.deviceList.getStoredDevicesForUser(M)}getStoredDevice(M,O){return this.deviceList.getStoredDevice(M,O)}saveDeviceList(M){return this.deviceList.saveIfDirty(M)}async setDeviceVerification(M,O,z=null,J=null,re=null,le){const de=this.deviceList.getStoredCrossSigningForUser(M);if(de&&de.getId()===O){if(J!==null||re!==null)throw new Error("Cannot set blocked or known for a cross-signing key");if(!z)throw new Error("Cannot set a cross-signing key as unverified");const Se=le?Object.values(le)[0]:null;if(le&&(Object.values(le).length!==1||Se!==de.getId()))throw new Error(`Key did not match expected value: expected ${de.getId()}, got ${Se}`);if(!this.crossSigningInfo.getId()&&M===this.crossSigningInfo.userId&&(this.storeTrustedSelfKeys(de.keys),this.emit(ee.UserTrustStatusChanged,this.userId,this.checkUserTrust(M))),M!==this.userId){o.logger.info("Master key "+de.getId()+" for "+M+" marked verified. Signing...");const Te=await this.crossSigningInfo.signUser(de);if(Te){const Me=async({shouldEmit:Ke=!1})=>{o.logger.info("Uploading signature for "+M+"...");const Ne=await this.baseApis.uploadKeySignatures({[M]:{[O]:Te}}),{failures:qe}=Ne||{};if(Object.keys(qe||[]).length>0)throw Ke&&this.baseApis.emit(ee.KeySignatureUploadFailure,qe,"setDeviceVerification",Me),new A.KeySignatureUploadError("Key upload failed",{failures:qe})};await Me({shouldEmit:!0})}return Te}else return de}const ue=this.deviceList.getRawStoredDevicesForUser(M);if(!ue||!ue[O])throw new Error("Unknown device "+M+":"+O);const pe=ue[O];let ve=pe.verified;if(z){if(le){for(const[Se,Te]of Object.entries(le))if(pe.keys[Se]!==Te)throw new Error(`Key did not match expected value: expected ${Te}, got ${pe.keys[Se]}`)}ve=B.VERIFIED}else z!==null&&ve==B.VERIFIED&&(ve=B.UNVERIFIED);J?ve=B.BLOCKED:J!==null&&ve==B.BLOCKED&&(ve=B.UNVERIFIED);let he=pe.known;if(re!==null&&(he=re),(pe.verified!==ve||pe.known!==he)&&(pe.verified=ve,pe.known=he,this.deviceList.storeDevicesForUser(M,ue),this.deviceList.saveIfDirty()),z&&M===this.userId){o.logger.info("Own device "+O+" marked verified: signing");let Se;if(this.checkDeviceTrust(M,O).isCrossSigningVerified()?o.logger.log(`Own device ${O} already cross-signing verified`):Se=await this.crossSigningInfo.signDevice(M,s.DeviceInfo.fromStorage(pe,O)),Se){const Me=async({shouldEmit:Ke=!1})=>{o.logger.info("Uploading signature for "+O);const Ne=await this.baseApis.uploadKeySignatures({[M]:{[O]:Se}}),{failures:qe}=Ne||{};if(Object.keys(qe||[]).length>0)throw Ke&&this.baseApis.emit(ee.KeySignatureUploadFailure,qe,"setDeviceVerification",Me),new A.KeySignatureUploadError("Key upload failed",{failures:qe})};await Me({shouldEmit:!0})}this.cancelAndResendAllOutgoingKeyRequests()}const ce=s.DeviceInfo.fromStorage(pe,O);return this.emit(ee.DeviceVerificationChanged,M,O,ce),ce}findVerificationRequestDMInProgress(M){return this.inRoomVerificationRequests.findRequestInProgress(M)}getVerificationRequestsToDeviceInProgress(M){return this.toDeviceVerificationRequests.getRequestsInProgress(M)}requestVerificationDM(M,O){const z=this.inRoomVerificationRequests.findRequestInProgress(O);if(z)return Promise.resolve(z);const J=new w.InRoomChannel(this.baseApis,O,M);return this.requestVerificationWithChannel(M,J,this.inRoomVerificationRequests)}requestVerification(M,O){O||(O=Object.keys(this.deviceList.getRawStoredDevicesForUser(M)));const z=this.toDeviceVerificationRequests.findRequestInProgress(M,O);if(z)return Promise.resolve(z);const J=new I.ToDeviceChannel(this.baseApis,M,O,I.ToDeviceChannel.makeTransactionId());return this.requestVerificationWithChannel(M,J,this.toDeviceVerificationRequests)}async requestVerificationWithChannel(M,O,z){let J=new E.VerificationRequest(O,this.verificationMethods,this.baseApis);O.transactionId&&z.setRequestByChannel(O,J),await J.sendRequest();const re=z.getRequestByChannel(O);return re?J=re:(o.logger.log(`Crypto: adding new request to requestsByTxnId with id ${O.transactionId} ${O.roomId}`),z.setRequestByChannel(O,J)),J}beginKeyVerification(M,O,z,J=null){let re;if(J){if(re=this.toDeviceVerificationRequests.getRequestBySenderAndTxnId(O,J),!re)throw new Error(`No request found for user ${O} with transactionId ${J}`)}else{J=I.ToDeviceChannel.makeTransactionId();const le=new I.ToDeviceChannel(this.baseApis,O,[z],J,z);re=new E.VerificationRequest(le,this.verificationMethods,this.baseApis),this.toDeviceVerificationRequests.setRequestBySenderAndTxnId(O,J,re)}return re.beginKeyVerification(M,{userId:O,deviceId:z})}async legacyDeviceVerification(M,O,z){const J=I.ToDeviceChannel.makeTransactionId(),re=new I.ToDeviceChannel(this.baseApis,M,[O],J,O),le=new E.VerificationRequest(re,this.verificationMethods,this.baseApis);this.toDeviceVerificationRequests.setRequestBySenderAndTxnId(M,J,le);const de=le.beginKeyVerification(z,{userId:M,deviceId:O});return await Promise.race([de.verify(),le.waitFor(ue=>ue.started)]),le}async getOlmSessionsForUser(M){const O=this.getStoredDevicesForUser(M)||[],z={};for(const J of O){const re=J.getIdentityKey(),le=await this.olmDevice.getSessionInfoForDevice(re);z[J.deviceId]={deviceIdKey:re,sessions:le}}return z}getEventSenderDeviceInfo(M){const O=M.getSenderKey(),z=M.getWireContent().algorithm;if(!O||!z||M.isKeySourceUntrusted())return null;const J=this.deviceList.getDeviceByIdentityKey(z,O);if(J===null)return null;const re=M.getClaimedEd25519Key();return re?re!==J.getFingerprint()?(o.logger.warn("Event "+M.getId()+" claims ed25519 key "+re+" but sender device has key "+J.getFingerprint()),null):J:(o.logger.warn("Event "+M.getId()+" claims no ed25519 key: cannot verify sending device"),null)}getEventEncryptionInfo(M){var O,z;const J={};if(J.senderKey=(O=M.getSenderKey())!==null&&O!==void 0?O:void 0,J.algorithm=M.getWireContent().algorithm,!J.senderKey||!J.algorithm)return J.encrypted=!1,J;J.encrypted=!0,M.isKeySourceUntrusted()?J.authenticated=!1:J.authenticated=!0,J.sender=(z=this.deviceList.getDeviceByIdentityKey(J.algorithm,J.senderKey))!==null&&z!==void 0?z:void 0;const re=M.getClaimedEd25519Key();return re||(o.logger.warn("Event "+M.getId()+" claims no ed25519 key: cannot verify sending device"),J.mismatchedSender=!0),J.sender&&re!==J.sender.getFingerprint()&&(o.logger.warn("Event "+M.getId()+" claims ed25519 key "+re+"but sender device has key "+J.sender.getFingerprint()),J.mismatchedSender=!0),J}forceDiscardSession(M){const O=this.roomEncryptors.get(M);if(O===void 0)throw new Error("Room not encrypted");if(O.forceDiscardSession===void 0)throw new Error("Room encryption algorithm doesn't support session discarding");O.forceDiscardSession()}async setRoomEncryption(M,O,z){const J=this.clientStore.getRoom(M);if(!J)throw new Error(`Unable to enable encryption tracking devices in unknown room ${M}`);await this.setRoomEncryptionImpl(J,O),!this.lazyLoadMembers&&!z&&this.deviceList.refreshOutdatedDeviceLists()}async setRoomEncryptionImpl(M,O){const z=M.roomId;if(!O.algorithm){o.logger.log("Ignoring setRoomEncryption with no algorithm");return}const J=this.roomList.getRoomEncryption(z);if(J&&JSON.stringify(J)!=JSON.stringify(O)){o.logger.error("Ignoring m.room.encryption event which requests a change of config in "+z);return}if(this.roomEncryptors.get(z))return;let le=null;J||(le=this.roomList.setRoomEncryption(z,O));const de=m.ENCRYPTION_CLASSES.get(O.algorithm);if(!de)throw new Error("Unable to encrypt with "+O.algorithm);const ue=new de({userId:this.userId,deviceId:this.deviceId,crypto:this,olmDevice:this.olmDevice,baseApis:this.baseApis,roomId:z,config:O});this.roomEncryptors.set(z,ue),le&&await le,this.lazyLoadMembers?o.logger.log("Enabling encryption in "+z):(o.logger.log("Enabling encryption in "+z+"; starting to track device lists for all users therein"),await this.trackRoomDevicesImpl(M))}trackRoomDevices(M){const O=this.clientStore.getRoom(M);if(!O)throw new Error(`Unable to start tracking devices in unknown room ${M}`);return this.trackRoomDevicesImpl(O)}trackRoomDevicesImpl(M){const O=M.roomId,z=async()=>{if(!this.roomEncryptors.has(O))return;o.logger.log(`Starting to track devices for room ${O} ...`),(await M.getEncryptionTargetMembers()).forEach(le=>{this.deviceList.startTrackingDeviceList(le.userId)})};let J=this.roomDeviceTrackingState[O];return J||(J=z(),this.roomDeviceTrackingState[O]=J.catch(re=>{throw delete this.roomDeviceTrackingState[O],re})),J}ensureOlmSessionsForUsers(M,O){const z={};for(const J of M){z[J]=[];const re=this.getStoredDevicesForUser(J)||[];for(const le of re)le.getIdentityKey()!=this.olmDevice.deviceCurve25519Key&&le.verified!=B.BLOCKED&&z[J].push(le)}return u.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,z,O)}async exportRoomKeys(){const M=[];return await this.cryptoStore.doTxn("readonly",[_.IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS],O=>{this.cryptoStore.getAllEndToEndInboundGroupSessions(O,z=>{if(z===null)return;const J=this.olmDevice.exportInboundGroupSession(z.senderKey,z.sessionId,z.sessionData);delete J.first_known_index,J.algorithm=u.MEGOLM_ALGORITHM,M.push(J)})}),M}importRoomKeys(M,O={}){let z=0,J=0;const re=M.length;function le(){var de;(de=O.progressCallback)===null||de===void 0||de.call(O,{stage:"load_keys",successes:z,failures:J,total:re})}return Promise.all(M.map(de=>!de.room_id||!de.algorithm?(o.logger.warn("ignoring room key entry with missing fields",de),J++,O.progressCallback&&le(),null):this.getRoomDecryptor(de.room_id,de.algorithm).importRoomKey(de,O).finally(()=>{z++,O.progressCallback&&le()}))).then()}countSessionsNeedingBackup(){return this.backupManager.countSessionsNeedingBackup()}prepareToEncrypt(M){const O=this.roomEncryptors.get(M.roomId);O&&O.prepareToEncrypt(M)}async encryptEvent(M,O){if(!O)throw new Error("Cannot send encrypted messages in unknown rooms");const z=M.getRoomId(),J=this.roomEncryptors.get(z);if(!J)throw new Error("Room "+z+" was previously configured to use encryption, but is no longer. Perhaps the homeserver is hiding the configuration event.");await this.trackRoomDevicesImpl(O);let re=M.getContent();const le=re["m.relates_to"];le&&(re=Object.assign({},re),delete re["m.relates_to"]);const de=re["io.element.performance_metrics"];de&&(re=Object.assign({},re),delete re["io.element.performance_metrics"]);const ue=await J.encryptMessage(O,M.getType(),re);le&&(ue["m.relates_to"]=le),de&&(ue["io.element.performance_metrics"]=de),M.makeEncrypted("m.room.encrypted",ue,this.olmDevice.deviceCurve25519Key,this.olmDevice.deviceEd25519Key)}async decryptEvent(M){if(M.isRedacted()){const O=new W.MatrixEvent(k({room_id:M.getRoomId()},M.getUnsigned().redacted_because)),z=await this.decryptEvent(O);return{clearEvent:{room_id:M.getRoomId(),type:"m.room.message",content:{},unsigned:{redacted_because:z.clearEvent}}}}else{const O=M.getWireContent();return this.getRoomDecryptor(M.getRoomId(),O.algorithm).decryptEvent(M)}}async handleDeviceListChanges(M,O){M.oldSyncToken&&await this.evalDeviceListChanges(O)}requestRoomKey(M,O,z=!1){return this.outgoingRoomKeyRequestManager.queueRoomKeyRequest(M,O,z).then(()=>{this.sendKeyRequestsImmediately&&this.outgoingRoomKeyRequestManager.sendQueuedRequests()}).catch(J=>{o.logger.error("Error requesting key for event",J)})}cancelRoomKeyRequest(M){this.outgoingRoomKeyRequestManager.cancelRoomKeyRequest(M).catch(O=>{o.logger.warn("Error clearing pending room key requests",O)})}async cancelAndResendAllOutgoingKeyRequests(){await this.outgoingRoomKeyRequestManager.cancelAndResendAllOutgoingRequests()}async onCryptoEvent(M,O){const z=O.getContent();await this.setRoomEncryptionImpl(M,z)}async onSyncWillProcess(M){M.oldSyncToken||(o.logger.log("Initial sync performed - resetting device tracking state"),this.deviceList.stopTrackingAllDeviceLists(),this.deviceList.startTrackingDeviceList(this.userId),this.roomDeviceTrackingState={}),this.sendKeyRequestsImmediately=!1}async onSyncCompleted(M){var O;this.deviceList.setSyncToken((O=M.nextSyncToken)!==null&&O!==void 0?O:null),this.deviceList.saveIfDirty(),this.deviceList.startTrackingDeviceList(this.userId),this.deviceList.refreshOutdatedDeviceLists(),M.catchingUp||(this.maybeUploadOneTimeKeys(),this.processReceivedRoomKeyRequests(),this.outgoingRoomKeyRequestManager.sendQueuedRequests(),this.sendKeyRequestsImmediately=!0)}async evalDeviceListChanges(M){if(Array.isArray(M==null?void 0:M.changed)&&M.changed.forEach(O=>{this.deviceList.invalidateUserDeviceList(O)}),Array.isArray(M==null?void 0:M.left)&&M.left.length){const O=new Set(await this.getTrackedE2eUsers());M.left.forEach(z=>{O.has(z)||this.deviceList.stopTrackingDeviceList(z)})}}async getTrackedE2eUsers(){const M=[];for(const O of this.getTrackedE2eRooms()){const z=await O.getEncryptionTargetMembers();for(const J of z)M.push(J.userId)}return M}getTrackedE2eRooms(){return this.clientStore.getRooms().filter(M=>{if(!this.roomEncryptors.get(M.roomId)||!this.roomDeviceTrackingState[M.roomId])return!1;const z=M.getMyMembership();return z==="join"||z==="invite"})}async encryptAndSendToDevices(M,O){const z={eventType:i.EventType.RoomMessageEncrypted,batch:[]};try{await Promise.all(M.map(async({userId:J,deviceInfo:re})=>{const le=re.deviceId,de={algorithm:u.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{},[i.ToDeviceMessageId]:(0,n.v4)()};z.batch.push({userId:J,deviceId:le,payload:de}),await u.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,{[J]:[re]}),await u.encryptMessageForDevice(de.ciphertext,this.userId,this.deviceId,this.olmDevice,J,re,O)})),z.batch=z.batch.filter(J=>Object.keys(J.payload.ciphertext).length>0?!0:(o.logger.log(`No ciphertext for device ${J.userId}:${J.deviceId}: pruning`),!1));try{await this.baseApis.queueToDevice(z)}catch(J){throw o.logger.error("sendToDevice failed",J),J}}catch(J){throw o.logger.error("encryptAndSendToDevices promises failed",J),J}}onRoomKeyEvent(M){const O=M.getContent();if(!O.room_id||!O.algorithm){o.logger.error("key event is missing fields");return}this.backupManager.checkedForBackup||this.backupManager.checkAndStart(),this.getRoomDecryptor(O.room_id,O.algorithm).onRoomKeyEvent(M)}onRoomKeyWithheldEvent(M){const O=M.getContent();if(O.code!=="m.no_olm"&&(!O.room_id||!O.session_id)||!O.algorithm||!O.sender_key){o.logger.error("key withheld event is missing fields");return}o.logger.info(`Got room key withheld event from ${M.getSender()} for ${O.algorithm} session ${O.sender_key}|${O.session_id} in room ${O.room_id} with code ${O.code} (${O.reason})`);const z=this.getRoomDecryptor(O.room_id,O.algorithm);if(z.onRoomKeyWithheldEvent&&z.onRoomKeyWithheldEvent(M),!O.room_id){const J=this.getRoomDecryptors(O.algorithm);for(const re of J)re.retryDecryptionFromSender(O.sender_key)}}onKeyVerificationMessage(M){if(!I.ToDeviceChannel.validateEvent(M,this.baseApis))return;const O=z=>{if(!I.ToDeviceChannel.canCreateRequest(I.ToDeviceChannel.getEventType(z)))return;const J=z.getContent(),re=J&&J.from_device;if(!re)return;const le=z.getSender(),de=new I.ToDeviceChannel(this.baseApis,le,[re]);return new E.VerificationRequest(de,this.verificationMethods,this.baseApis)};this.handleVerificationEvent(M,this.toDeviceVerificationRequests,O)}async handleVerificationEvent(M,O,z,J=!0){if(M.isSending()&&M.status!=W.EventStatus.SENT){let ue,pe;try{await new Promise((ve,he)=>{ue=ve,pe=()=>{M.status==W.EventStatus.CANCELLED&&he(new Error("Event status set to CANCELLED."))},M.once(W.MatrixEventEvent.LocalEventIdReplaced,ue),M.on(W.MatrixEventEvent.Status,pe)})}catch(ve){o.logger.error("error while waiting for the verification event to be sent: ",ve);return}finally{M.removeListener(W.MatrixEventEvent.LocalEventIdReplaced,ue),M.removeListener(W.MatrixEventEvent.Status,pe)}}let re=O.getRequest(M),le=!1;if(!re){if(re=z(M),!re){o.logger.log(`Crypto: could not find VerificationRequest for ${M.getType()}, and could not create one, so ignoring.`);return}le=!0,O.setRequest(M,re)}M.setVerificationRequest(re);try{await re.channel.handleEvent(M,re,J)}catch(ue){o.logger.error("error while handling verification event",ue)}le&&!re.initiatedByMe&&!re.invalid&&!re.observeOnly&&this.baseApis.emit(ee.VerificationRequest,re)}async onToDeviceBadEncrypted(M){const O=M.getWireContent(),z=M.getSender(),J=O.algorithm,re=O.sender_key,le=()=>{const ce=this.getRoomDecryptors(u.MEGOLM_ALGORITHM);for(const Se of ce)Se.retryDecryptionFromSender(re)};if(z===void 0||re===void 0||re===void 0)return;this.lastNewSessionForced[z]=this.lastNewSessionForced[z]||{};const de=this.lastNewSessionForced[z][re]||0;if(de+T>Date.now()){o.logger.debug("New session already forced with device "+z+":"+re+" at "+de+": not forcing another"),await this.olmDevice.recordSessionProblem(re,"wedged",!0),le();return}let ue=this.deviceList.getDeviceByIdentityKey(J,re);if(!ue&&(await this.downloadKeys([z],!1),ue=this.deviceList.getDeviceByIdentityKey(J,re),!ue)){o.logger.info("Couldn't find device for identity key "+re+": not re-establishing session"),await this.olmDevice.recordSessionProblem(re,"wedged",!1),le();return}const pe={};pe[z]=[ue],await u.ensureOlmSessionsForDevices(this.olmDevice,this.baseApis,pe,!0),this.lastNewSessionForced[z][re]=Date.now();const ve={algorithm:u.OLM_ALGORITHM,sender_key:this.olmDevice.deviceCurve25519Key,ciphertext:{},[i.ToDeviceMessageId]:(0,n.v4)()};await u.encryptMessageForDevice(ve.ciphertext,this.userId,this.deviceId,this.olmDevice,z,ue,{type:"m.dummy"}),await this.olmDevice.recordSessionProblem(re,"wedged",!0),le(),await this.baseApis.sendToDevice("m.room.encrypted",{[z]:{[ue.deviceId]:ve}});const he=await this.outgoingRoomKeyRequestManager.getOutgoingSentRoomKeyRequest(z,ue.deviceId);for(const ce of he)this.requestRoomKey(ce.requestBody,ce.recipients,!0)}onRoomMembership(M,O,z){const J=O.roomId,re=this.roomEncryptors.get(J);if(re){if(J in this.roomDeviceTrackingState){var le;O.membership=="join"?(o.logger.log("Join event for "+O.userId+" in "+J),this.deviceList.startTrackingDeviceList(O.userId)):O.membership=="invite"&&(le=this.clientStore.getRoom(J))!==null&&le!==void 0&&le.shouldEncryptForInvitedMembers()&&(o.logger.log("Invite event for "+O.userId+" in "+J),this.deviceList.startTrackingDeviceList(O.userId))}re.onRoomMembership(M,O,z)}}onRoomKeyRequestEvent(M){const O=M.getContent();if(O.action==="request"){const z=new me(M);this.receivedRoomKeyRequests.push(z)}else if(O.action==="request_cancellation"){const z=new q(M);this.receivedRoomKeyRequestCancellations.push(z)}}async processReceivedRoomKeyRequests(){if(!this.processingRoomKeyRequests){this.processingRoomKeyRequests=!0;try{const M=this.receivedRoomKeyRequests;this.receivedRoomKeyRequests=[];const O=this.receivedRoomKeyRequestCancellations;this.receivedRoomKeyRequestCancellations=[],await Promise.all(M.map(z=>this.processReceivedRoomKeyRequest(z))),await Promise.all(O.map(z=>this.processReceivedRoomKeyRequestCancellation(z)))}catch(M){o.logger.error(`Error processing room key requsts: ${M}`)}finally{this.processingRoomKeyRequests=!1}}}async processReceivedRoomKeyRequest(M){const O=M.userId,z=M.deviceId,J=M.requestBody,re=J.room_id,le=J.algorithm;if(o.logger.log(`m.room_key_request from ${O}:${z} for ${re} / ${J.session_id} (id ${M.requestId})`),O!==this.userId){if(!this.roomEncryptors.get(re)){o.logger.debug(`room key request for unencrypted room ${re}`);return}const ue=this.roomEncryptors.get(re),pe=this.deviceList.getStoredDevice(O,z);if(!pe){o.logger.debug(`Ignoring keyshare for unknown device ${O}:${z}`);return}try{await ue.reshareKeyWithDevice(J.sender_key,J.session_id,O,pe)}catch(ve){o.logger.warn("Failed to re-share keys for session "+J.session_id+" with device "+O+":"+pe.deviceId,ve)}return}if(z===this.deviceId){o.logger.log("Ignoring room key request from ourselves");return}if(!this.roomDecryptors.has(re)){o.logger.log(`room key request for unencrypted room ${re}`);return}const de=this.roomDecryptors.get(re).get(le);if(!de){o.logger.log(`room key request for unknown alg ${le} in room ${re}`);return}if(!await de.hasKeysForKeyRequest(M)){o.logger.log(`room key request for unknown session ${re} / `+J.session_id);return}if(M.share=()=>{de.shareKeysWithDevice(M)},this.checkDeviceTrust(O,z).isVerified()){o.logger.log("device is already verified: sharing keys"),M.share();return}this.emit(ee.RoomKeyRequest,M)}async processReceivedRoomKeyRequestCancellation(M){o.logger.log(`m.room_key_request cancellation for ${M.userId}:${M.deviceId} (id ${M.requestId})`),this.emit(ee.RoomKeyRequestCancellation,M)}getRoomDecryptor(M,O){let z,J;if(M&&(z=this.roomDecryptors.get(M),z||(z=new Map,this.roomDecryptors.set(M,z)),J=z.get(O),J))return J;const re=m.DECRYPTION_CLASSES.get(O);if(!re)throw new m.DecryptionError("UNKNOWN_ENCRYPTION_ALGORITHM",'Unknown encryption algorithm "'+O+'".');return J=new re({userId:this.userId,crypto:this,olmDevice:this.olmDevice,baseApis:this.baseApis,roomId:M??void 0}),z&&z.set(O,J),J}getRoomDecryptors(M){const O=[];for(const z of this.roomDecryptors.values())z.has(M)&&O.push(z.get(M));return O}async signObject(M){const O=M.signatures||{},z=M.unsigned;delete M.signatures,delete M.unsigned,O[this.userId]=O[this.userId]||{},O[this.userId]["ed25519:"+this.deviceId]=await this.olmDevice.sign(r.default.stringify(M)),M.signatures=O,z!==void 0&&(M.unsigned=z)}}yr.Crypto=ne;function se(oe){if(typeof oe!="string"||oe.indexOf(",")<0)return null;const M=Uint8Array.from(oe.split(","),O=>parseInt(O));return u.encodeBase64(M)}class me{constructor(M){(0,t.default)(this,"userId",void 0),(0,t.default)(this,"deviceId",void 0),(0,t.default)(this,"requestId",void 0),(0,t.default)(this,"requestBody",void 0),(0,t.default)(this,"share",void 0);const O=M.getContent();this.userId=M.getSender(),this.deviceId=O.requesting_device_id,this.requestId=O.request_id,this.requestBody=O.body||{},this.share=()=>{throw new Error("don't know how to share keys for this request yet")}}}yr.IncomingRoomKeyRequest=me;class q{constructor(M){(0,t.default)(this,"userId",void 0),(0,t.default)(this,"deviceId",void 0),(0,t.default)(this,"requestId",void 0);const O=M.getContent();this.userId=M.getSender(),this.deviceId=O.requesting_device_id,this.requestId=O.request_id}}return yr}var Pl={},kl={},g9;function KB(){if(g9)return kl;g9=1;var e=Ae;Object.defineProperty(kl,"__esModule",{value:!0}),kl.EventContext=void 0;var t=e(Ue),r=Pn();class n{constructor(a){this.ourEvent=a,(0,t.default)(this,"timeline",void 0),(0,t.default)(this,"ourEventIndex",0),(0,t.default)(this,"paginateTokens",{[r.Direction.Backward]:null,[r.Direction.Forward]:null}),this.timeline=[a]}getEvent(){return this.timeline[this.ourEventIndex]}getTimeline(){return this.timeline}getOurEventIndex(){return this.ourEventIndex}getPaginateToken(a=!1){return this.paginateTokens[a?r.Direction.Backward:r.Direction.Forward]}setPaginateToken(a,o=!1){this.paginateTokens[o?r.Direction.Backward:r.Direction.Forward]=a??null}addEvents(a,o=!1){o?(this.timeline=a.concat(this.timeline),this.ourEventIndex+=a.length):this.timeline=this.timeline.concat(a)}}return kl.EventContext=n,kl}var y9;function VB(){if(y9)return Pl;y9=1,Object.defineProperty(Pl,"__esModule",{value:!0}),Pl.SearchResult=void 0;var e=KB();class t{static fromJson(n,i){const a=n.context||{};let o=(a.events_before||[]).map(i),p=(a.events_after||[]).map(i);const u=new e.EventContext(i(n.result)),y=u.ourEvent.threadRootId;return o=o.filter(s=>s.threadRootId===y),p=p.filter(s=>s.threadRootId===y),u.setPaginateToken(a.start,!0),u.addEvents(o,!0),u.addEvents(p,!1),u.setPaginateToken(a.end,!1),new t(n.rank,u)}constructor(n,i){this.rank=n,this.context=i}}return Pl.SearchResult=t,Pl}var Ao={},_9;function qB(){if(_9)return Ao;_9=1,Object.defineProperty(Ao,"__esModule",{value:!0}),Ao.CrossSigningKey=void 0;let e;return Ao.CrossSigningKey=e,function(t){t.Master="master",t.SelfSigning="self_signing",t.UserSigning="user_signing"}(e||(Ao.CrossSigningKey=e={})),Ao}var _t={};Object.defineProperty(_t,"__esModule",{value:!0});_t.Visibility=_t.RestrictedAllowType=_t.Preset=_t.JoinRule=_t.HistoryVisibility=_t.GuestAccess=void 0;let Fv;_t.Visibility=Fv;(function(e){e.Public="public",e.Private="private"})(Fv||(_t.Visibility=Fv={}));let Bv;_t.Preset=Bv;(function(e){e.PrivateChat="private_chat",e.TrustedPrivateChat="trusted_private_chat",e.PublicChat="public_chat"})(Bv||(_t.Preset=Bv={}));let jv;_t.JoinRule=jv;(function(e){e.Public="public",e.Invite="invite",e.Private="private",e.Knock="knock",e.Restricted="restricted"})(jv||(_t.JoinRule=jv={}));let Kv;_t.RestrictedAllowType=Kv;(function(e){e.RoomMembership="m.room_membership"})(Kv||(_t.RestrictedAllowType=Kv={}));let Vv;_t.GuestAccess=Vv;(function(e){e.CanJoin="can_join",e.Forbidden="forbidden"})(Vv||(_t.GuestAccess=Vv={}));let qv;_t.HistoryVisibility=qv;(function(e){e.Invited="invited",e.Joined="joined",e.Shared="shared",e.WorldReadable="world_readable"})(qv||(_t.HistoryVisibility=qv={}));var dc={},S9;function WB(){if(S9)return dc;S9=1;var e=Ae;Object.defineProperty(dc,"__esModule",{value:!0}),dc.eventMapperFor=a;var t=e(Ue),r=ir();function n(o,p){var u=Object.keys(o);if(Object.getOwnPropertySymbols){var y=Object.getOwnPropertySymbols(o);p&&(y=y.filter(function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable})),u.push.apply(u,y)}return u}function i(o){for(var p=1;p<arguments.length;p++){var u=arguments[p]!=null?arguments[p]:{};p%2?n(Object(u),!0).forEach(function(y){(0,t.default)(o,y,u[y])}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(u)):n(Object(u)).forEach(function(y){Object.defineProperty(o,y,Object.getOwnPropertyDescriptor(u,y))})}return o}function a(o,p){let u=Boolean(p.preventReEmit);const y=p.decrypt!==!1;function s(m){p.toDevice&&delete m.room_id;const g=o.getRoom(m.room_id);let S;g&&m.state_key===void 0&&(S=g.findEventById(m.event_id)),!S||S.status?S=new r.MatrixEvent(m):(S.setUnsigned(i(i({},S.getUnsigned()),m.unsigned)),u=!0);const v=g==null?void 0:g.findThreadForEvent(S);return v&&S.setThread(v),S.isEncrypted()&&(u||o.reEmitter.reEmit(S,[r.MatrixEventEvent.Decrypted]),y&&o.decryptEventIfNeeded(S)),u||(o.reEmitter.reEmit(S,[r.MatrixEventEvent.Replaced,r.MatrixEventEvent.VisibilityChange]),g==null||g.reEmitter.reEmit(S,[r.MatrixEventEvent.BeforeRedaction])),S}return s}return dc}var Bn={},Dl={},E9;function HB(){if(E9)return Dl;E9=1;var e=Ae;Object.defineProperty(Dl,"__esModule",{value:!0}),Dl.MSC3089Branch=void 0;var t=e(Ue),r=xe,n=Pn();function i(p,u){var y=Object.keys(p);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(p);u&&(s=s.filter(function(m){return Object.getOwnPropertyDescriptor(p,m).enumerable})),y.push.apply(y,s)}return y}function a(p){for(var u=1;u<arguments.length;u++){var y=arguments[u]!=null?arguments[u]:{};u%2?i(Object(y),!0).forEach(function(s){(0,t.default)(p,s,y[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(y)):i(Object(y)).forEach(function(s){Object.defineProperty(p,s,Object.getOwnPropertyDescriptor(y,s))})}return p}let o=class{constructor(u,y,s){this.client=u,this.indexEvent=y,this.directory=s}get id(){const u=this.indexEvent.getStateKey();if(!u)throw new Error("State key not found for branch");return u}get isActive(){return this.indexEvent.getContent().active===!0}get version(){var u;return(u=this.indexEvent.getContent().version)!==null&&u!==void 0?u:1}get roomId(){return this.indexEvent.getRoomId()}async delete(){await this.client.sendStateEvent(this.roomId,r.UNSTABLE_MSC3089_BRANCH.name,{},this.id),await this.client.redactEvent(this.roomId,this.id);const u=(await this.getVersionHistory())[1];u&&await u.delete()}getName(){return this.indexEvent.getContent().name||"Unnamed File"}async setName(u){await this.client.sendStateEvent(this.roomId,r.UNSTABLE_MSC3089_BRANCH.name,a(a({},this.indexEvent.getContent()),{},{name:u}),this.id)}isLocked(){return this.indexEvent.getContent().locked||!1}async setLocked(u){await this.client.sendStateEvent(this.roomId,r.UNSTABLE_MSC3089_BRANCH.name,a(a({},this.indexEvent.getContent()),{},{locked:u}),this.id)}async getFileInfo(){const y=(await this.getFileEvent()).getOriginalContent().file,s=this.client.mxcUrlToHttp(y.url);if(!s)throw new Error(`No HTTP URL available for ${y.url}`);return{info:y,httpUrl:s}}async getFileEvent(){const u=this.client.getRoom(this.roomId);if(!u)throw new Error("Unknown room");let y=u.getUnfilteredTimelineSet().findEventById(this.id);for(;!y&&u.getLiveTimeline().getState(n.EventTimeline.BACKWARDS).paginationToken;)await this.client.scrollback(u,100),y=u.getUnfilteredTimelineSet().findEventById(this.id);if(!y)throw new Error("Failed to find event");return await this.client.decryptEventIfNeeded(y,{emit:!0,isRetry:!0}),y}async createNewVersion(u,y,s,m){const g=await this.directory.createFile(u,y,s,a(a({},m??{}),{},{"m.new_content":!0,"m.relates_to":{rel_type:r.RelationType.Replace,event_id:this.id}}));return await this.client.sendStateEvent(this.roomId,r.UNSTABLE_MSC3089_BRANCH.name,{active:!0,name:u,version:this.version+1},g.event_id),await this.client.sendStateEvent(this.roomId,r.UNSTABLE_MSC3089_BRANCH.name,a(a({},this.indexEvent.getContent()),{},{active:!1}),this.id),g}async getVersionHistory(){const u=[];u.push(this);const y=this.client.getRoom(this.roomId);if(!y)throw new Error("Invalid or unknown room");const s=[...y.getLiveTimeline().getEvents()].reverse();let m,g=await this.getFileEvent();do if(m=s.find(S=>S.replacingEventId()===g.getId()),m){const S=this.directory.getFile(m.getId());if(S)u.push(S),g=m;else break}while(m);return u}};return Dl.MSC3089Branch=o,Dl}var w9;function ow(){if(w9)return Bn;w9=1;var e=Ae;Object.defineProperty(Bn,"__esModule",{value:!0}),Bn.TreePermissions=Bn.MSC3089TreeSpace=Bn.DEFAULT_TREE_POWER_LEVELS_TEMPLATE=void 0;var t=e(Ue),r=e(dE()),n=xe,i=Ge(),a=dt(),o=HB(),p=ew();function u(S,v){var h=Object.keys(S);if(Object.getOwnPropertySymbols){var _=Object.getOwnPropertySymbols(S);v&&(_=_.filter(function(d){return Object.getOwnPropertyDescriptor(S,d).enumerable})),h.push.apply(h,_)}return h}function y(S){for(var v=1;v<arguments.length;v++){var h=arguments[v]!=null?arguments[v]:{};v%2?u(Object(h),!0).forEach(function(_){(0,t.default)(S,_,h[_])}):Object.getOwnPropertyDescriptors?Object.defineProperties(S,Object.getOwnPropertyDescriptors(h)):u(Object(h)).forEach(function(_){Object.defineProperty(S,_,Object.getOwnPropertyDescriptor(h,_))})}return S}const s={invite:100,kick:100,ban:100,redact:50,state_default:50,events_default:50,users_default:0,events:{[n.EventType.RoomPowerLevels]:100,[n.EventType.RoomHistoryVisibility]:100,[n.EventType.RoomTombstone]:100,[n.EventType.RoomEncryption]:100,[n.EventType.RoomName]:50,[n.EventType.RoomMessage]:50,[n.EventType.RoomMessageEncrypted]:50,[n.EventType.Sticker]:50},users:{}};Bn.DEFAULT_TREE_POWER_LEVELS_TEMPLATE=s;let m;Bn.TreePermissions=m,function(S){S.Viewer="viewer",S.Editor="editor",S.Owner="owner"}(m||(Bn.TreePermissions=m={}));let g=class{constructor(v,h){if(this.client=v,this.roomId=h,(0,t.default)(this,"room",void 0),this.room=this.client.getRoom(this.roomId),!this.room)throw new Error("Unknown room")}get id(){return this.roomId}get isTopLevel(){const v=this.room.currentState.getStateEvents(n.EventType.SpaceParent);return v!=null&&v.length?v.every(h=>{var _;return!((_=h.getContent())!==null&&_!==void 0&&_.via)}):!0}async setName(v){await this.client.sendStateEvent(this.roomId,n.EventType.RoomName,{name:v},"")}async invite(v,h=!0,_=!0){const d=[this.retryInvite(v)];return h&&d.push(...this.getDirectories().map(l=>l.invite(v,h,_))),Promise.all(d).then(()=>{_&&(0,p.isRoomSharedHistory)(this.room)&&this.client.sendSharedHistoryKeys(this.roomId,[v])})}retryInvite(v){return(0,a.simpleRetryOperation)(async()=>{await this.client.invite(this.roomId,v).catch(h=>{throw(h==null?void 0:h.errcode)==="M_FORBIDDEN"?new r.default.AbortError(h):h})})}async setPermissions(v,h){var _;const d=this.room.currentState.getStateEvents(n.EventType.RoomPowerLevels,"");if(Array.isArray(d))throw new Error("Unexpected return type for power levels");const l=(d==null?void 0:d.getContent())||{},c=l.users_default||0,f=l.events_default||50,E=((_=l.events)===null||_===void 0?void 0:_[n.EventType.RoomPowerLevels])||100,w=l.users||{};switch(h){case m.Viewer:w[v]=c;break;case m.Editor:w[v]=f;break;case m.Owner:w[v]=E;break;default:throw new Error("Invalid role: "+h)}l.users=w,await this.client.sendStateEvent(this.roomId,n.EventType.RoomPowerLevels,l,"")}getPermissions(v){var h,_;const d=this.room.currentState.getStateEvents(n.EventType.RoomPowerLevels,"");if(Array.isArray(d))throw new Error("Unexpected return type for power levels");const l=(d==null?void 0:d.getContent())||{},c=l.users_default||0,f=l.events_default||50,E=((h=l.events)===null||h===void 0?void 0:h[n.EventType.RoomPowerLevels])||100,w=((_=l.users)===null||_===void 0?void 0:_[v])||c;return w>=E?m.Owner:w>=f?m.Editor:m.Viewer}async createDirectory(v){const h=await this.client.unstableCreateFileTree(v);return await this.client.sendStateEvent(this.roomId,n.EventType.SpaceChild,{via:[this.client.getDomain()]},h.roomId),await this.client.sendStateEvent(h.roomId,n.EventType.SpaceParent,{via:[this.client.getDomain()]},this.roomId),h}getDirectories(){const v=[],h=this.room.currentState.getStateEvents(n.EventType.SpaceChild);for(const _ of h)try{const d=_.getStateKey();if(d){const l=this.client.unstableGetFileTreeSpace(d);l&&v.push(l)}}catch(d){i.logger.warn("Unable to create tree space instance for listing. Are we joined?",d)}return v}getDirectory(v){return this.getDirectories().find(h=>h.roomId===v)}async delete(){const v=this.getDirectories();for(const d of v)await d.delete();const h=["invite","knock","join"],_=this.room.currentState.getStateEvents(n.EventType.RoomMember);for(const d of _)if(d.getStateKey()!==this.client.getUserId()&&h.includes(d.getContent().membership)){const c=d.getStateKey();if(!c)throw new Error("State key not found for branch");await this.client.kick(this.roomId,c,"Room deleted")}await this.client.leave(this.roomId)}getOrderedChildren(v){const h=v.map(_=>({roomId:_.getStateKey(),order:_.getContent().order})).filter(_=>_.roomId);return h.sort((_,d)=>{if(_.order&&!d.order)return-1;if(!_.order&&d.order)return 1;if(!_.order&&!d.order){var l,c,f,E;const w=this.client.getRoom(_.roomId),I=this.client.getRoom(d.roomId);if(!w||!I)return(0,a.lexicographicCompare)(_.roomId,d.roomId);const D=(l=(c=w.currentState.getStateEvents(n.EventType.RoomCreate,""))===null||c===void 0?void 0:c.getTs())!==null&&l!==void 0?l:0,A=(f=(E=I.currentState.getStateEvents(n.EventType.RoomCreate,""))===null||E===void 0?void 0:E.getTs())!==null&&f!==void 0?f:0;return D===A?(0,a.lexicographicCompare)(_.roomId,d.roomId):D-A}else return(0,a.lexicographicCompare)(_.order,d.order)}),h}getParentRoom(){const h=this.room.currentState.getStateEvents(n.EventType.SpaceParent)[0];if(!h)throw new Error("Expected to have a parent in a non-top level space");const _=h.getStateKey();if(!_)throw new Error("No state key found for parent");const d=this.client.getRoom(_);if(!d)throw new Error("Unable to locate room for parent");return d}getOrder(){if(this.isTopLevel)return-1;const h=this.getParentRoom().currentState.getStateEvents(n.EventType.SpaceChild);return this.getOrderedChildren(h).findIndex(d=>d.roomId===this.roomId)}async setOrder(v){var h;if(this.isTopLevel)throw new Error("Cannot set order of top level spaces currently");const _=this.getParentRoom(),d=_.currentState.getStateEvents(n.EventType.SpaceChild),l=this.getOrderedChildren(d);v=Math.max(Math.min(v,l.length-1),0);const f=this.getOrder()<v;f&&v===l.length-1?v--:!f&&v===0&&v++;const E=l[f?v:v-1],w=l[f?v+1:v];let I=a.DEFAULT_ALPHABET[0],D=!1;if(!E)w!=null&&w.order&&(I=(0,a.prevString)(w.order));else if(v===l.length-1)w!=null&&w.order&&(I=(0,a.nextString)(w.order));else{const x=E==null?void 0:E.order,H=w==null?void 0:w.order;x&&H?x===H?I=(0,a.nextString)(x):I=(0,a.averageBetweenStrings)(x,H):x?I=(0,a.nextString)(x):H?I=(0,a.prevString)(H):D=!0}if(D){let x;for(let H=0;H<=v;H++){const K=l[H];if(H===0&&(x=K.order),K.order)x=K.order;else{var A;x=x?(0,a.nextString)(x):a.DEFAULT_ALPHABET[0];const W=_.currentState.getStateEvents(n.EventType.SpaceChild,K.roomId),X=(A=W==null?void 0:W.getContent())!==null&&A!==void 0?A:{via:[this.client.getDomain()]};await this.client.sendStateEvent(_.roomId,n.EventType.SpaceChild,y(y({},X),{},{order:x}),K.roomId)}}x&&(I=(0,a.nextString)(x))}const L=_.currentState.getStateEvents(n.EventType.SpaceChild,this.roomId),F=(h=L==null?void 0:L.getContent())!==null&&h!==void 0?h:{via:[this.client.getDomain()]};await this.client.sendStateEvent(_.roomId,n.EventType.SpaceChild,y(y({},F),{},{order:I}),this.roomId)}async createFile(v,h,_,d){var l;const{content_uri:c}=await this.client.uploadContent(h,{includeFilename:!1});_.url=c;const f={msgtype:n.MsgType.File,body:v,url:c,file:_};d=(l=d)!==null&&l!==void 0?l:{},d["m.new_content"]&&(d["m.new_content"]=f);const E=await this.client.sendMessage(this.roomId,y(y(y({},d),f),{},{[n.UNSTABLE_MSC3089_LEAF.name]:{}}));return await this.client.sendStateEvent(this.roomId,n.UNSTABLE_MSC3089_BRANCH.name,{active:!0,name:v},E.event_id),E}getFile(v){const h=this.room.currentState.getStateEvents(n.UNSTABLE_MSC3089_BRANCH.name,v);return h?new o.MSC3089Branch(this.client,h,this):null}listFiles(){return this.listAllFiles().filter(v=>v.isActive)}listAllFiles(){var v;return((v=this.room.currentState.getStateEvents(n.UNSTABLE_MSC3089_BRANCH.name))!==null&&v!==void 0?v:[]).map(_=>new o.MSC3089Branch(this.client,_,this))}};return Bn.MSC3089TreeSpace=g,Bn}var Qs={};Object.defineProperty(Qs,"__esModule",{value:!0});Qs.SearchOrderBy=void 0;var b9;(function(e){e.RoomId="room_id",e.Sender="sender"})(b9||(b9={}));let Wv;Qs.SearchOrderBy=Wv;(function(e){e.Recent="recent",e.Rank="rank"})(Wv||(Qs.SearchOrderBy=Wv={}));var ji={},T9;function GB(){if(T9)return ji;T9=1;var e=Ae;Object.defineProperty(ji,"__esModule",{value:!0}),ji.MediaHandlerEvent=ji.MediaHandler=void 0;var t=e(Ue),r=At(),n=zs(),i=Ge();let a;ji.MediaHandlerEvent=a,function(p){p.LocalStreamsChanged="local_streams_changed"}(a||(ji.MediaHandlerEvent=a={}));class o extends r.TypedEventEmitter{constructor(u){super(),this.client=u,(0,t.default)(this,"audioInput",void 0),(0,t.default)(this,"audioSettings",void 0),(0,t.default)(this,"videoInput",void 0),(0,t.default)(this,"localUserMediaStream",void 0),(0,t.default)(this,"userMediaStreams",[]),(0,t.default)(this,"screensharingStreams",[])}restoreMediaSettings(u,y){this.audioInput=u,this.videoInput=y}async setAudioInput(u){i.logger.info("Setting audio input to",u),this.audioInput!==u&&(this.audioInput=u,await this.updateLocalUsermediaStreams())}async setAudioSettings(u){i.logger.info("Setting audio settings to",u),this.audioSettings=Object.assign({},u),await this.updateLocalUsermediaStreams()}async setVideoInput(u){i.logger.info("Setting video input to",u),this.videoInput!==u&&(this.videoInput=u,await this.updateLocalUsermediaStreams())}async setMediaInputs(u,y){i.logger.log(`mediaHandler setMediaInputs audioInput: ${u} videoInput: ${y}`),this.audioInput=u,this.videoInput=y,await this.updateLocalUsermediaStreams()}async updateLocalUsermediaStreams(){if(this.userMediaStreams.length===0)return;const u=new Map;for(const y of this.client.callEventHandler.calls.values())u.set(y.callId,{audio:y.hasLocalUserMediaAudioTrack,video:y.hasLocalUserMediaVideoTrack});for(const y of this.userMediaStreams){i.logger.log(`mediaHandler stopping all tracks for stream ${y.id}`);for(const s of y.getTracks())s.stop()}this.userMediaStreams=[],this.localUserMediaStream=void 0;for(const y of this.client.callEventHandler.calls.values()){if(y.callHasEnded()||!u.has(y.callId))continue;const{audio:s,video:m}=u.get(y.callId);i.logger.log(`mediaHandler updateLocalUsermediaStreams getUserMediaStream call ${y.callId}`);const g=await this.getUserMediaStream(s,m);y.callHasEnded()||await y.updateLocalUsermediaStream(g)}for(const y of this.client.groupCallEventHandler.groupCalls.values()){if(!y.localCallFeed)continue;i.logger.log(`mediaHandler updateLocalUsermediaStreams getUserMediaStream groupCall ${y.groupCallId}`);const s=await this.getUserMediaStream(!0,y.type===n.GroupCallType.Video);y.state!==n.GroupCallState.Ended&&await y.updateLocalUsermediaStream(s)}this.emit(a.LocalStreamsChanged)}async hasAudioDevice(){return(await navigator.mediaDevices.enumerateDevices()).filter(y=>y.kind==="audioinput").length>0}async hasVideoDevice(){return(await navigator.mediaDevices.enumerateDevices()).filter(y=>y.kind==="videoinput").length>0}async getUserMediaStream(u,y,s=!0){const m=u&&await this.hasAudioDevice(),g=y&&await this.hasVideoDevice();let S,v=!0;if(this.localUserMediaStream){if(m){var h,_;(this.localUserMediaStream.getAudioTracks().length===0||((h=this.localUserMediaStream.getAudioTracks()[0])===null||h===void 0||(_=h.getSettings())===null||_===void 0?void 0:_.deviceId)!==this.audioInput)&&(v=!1)}if(g){var d,l;(this.localUserMediaStream.getVideoTracks().length===0||((d=this.localUserMediaStream.getVideoTracks()[0])===null||d===void 0||(l=d.getSettings())===null||l===void 0?void 0:l.deviceId)!==this.videoInput)&&(v=!1)}}else v=!1;if(v){var c;if(S=this.localUserMediaStream.clone(),i.logger.log(`mediaHandler clone userMediaStream ${(c=this.localUserMediaStream)===null||c===void 0?void 0:c.id} new stream ${S.id} shouldRequestAudio ${m} shouldRequestVideo ${g}`),!m)for(const f of S.getAudioTracks())S.removeTrack(f);if(!g)for(const f of S.getVideoTracks())S.removeTrack(f)}else{const f=this.getUserMediaContraints(m,g);S=await navigator.mediaDevices.getUserMedia(f),i.logger.log(`mediaHandler getUserMediaStream streamId ${S.id} shouldRequestAudio ${m} shouldRequestVideo ${g}`,f);for(const E of S.getTracks()){const w=E.getSettings();E.kind==="audio"?this.audioInput=w.deviceId:E.kind==="video"&&(this.videoInput=w.deviceId)}s&&(this.localUserMediaStream=S)}return s&&this.userMediaStreams.push(S),this.emit(a.LocalStreamsChanged),S}stopUserMediaStream(u){i.logger.log(`mediaHandler stopUserMediaStream stopping stream ${u.id}`);for(const s of u.getTracks())s.stop();const y=this.userMediaStreams.indexOf(u);y!==-1&&(i.logger.debug("Splicing usermedia stream out stream array",u.id),this.userMediaStreams.splice(y,1)),this.emit(a.LocalStreamsChanged),this.localUserMediaStream===u&&(this.localUserMediaStream=void 0)}async getScreensharingStream(u={},y=!0){let s;if(this.screensharingStreams.length===0){const m=this.getScreenshareContraints(u);u.desktopCapturerSourceId?(i.logger.debug("Getting screensharing stream using getUserMedia()",u),s=await navigator.mediaDevices.getUserMedia(m)):(i.logger.debug("Getting screensharing stream using getDisplayMedia()",u),s=await navigator.mediaDevices.getDisplayMedia(m))}else{const m=this.screensharingStreams[this.screensharingStreams.length-1];i.logger.log("Cloning screensharing stream",m.id),s=m.clone()}return y&&this.screensharingStreams.push(s),this.emit(a.LocalStreamsChanged),s}stopScreensharingStream(u){i.logger.debug("Stopping screensharing stream",u.id);for(const s of u.getTracks())s.stop();const y=this.screensharingStreams.indexOf(u);y!==-1&&(i.logger.debug("Splicing screensharing stream out stream array",u.id),this.screensharingStreams.splice(y,1)),this.emit(a.LocalStreamsChanged)}stopAllStreams(){for(const u of this.userMediaStreams){i.logger.log(`mediaHandler stopAllStreams stopping stream ${u.id}`);for(const y of u.getTracks())y.stop()}for(const u of this.screensharingStreams)for(const y of u.getTracks())y.stop();this.userMediaStreams=[],this.screensharingStreams=[],this.localUserMediaStream=void 0,this.emit(a.LocalStreamsChanged)}getUserMediaContraints(u,y){const s=!!navigator.webkitGetUserMedia;return{audio:u?{deviceId:this.audioInput?{ideal:this.audioInput}:void 0,autoGainControl:this.audioSettings?{ideal:this.audioSettings.autoGainControl}:void 0,echoCancellation:this.audioSettings?{ideal:this.audioSettings.echoCancellation}:void 0,noiseSuppression:this.audioSettings?{ideal:this.audioSettings.noiseSuppression}:void 0}:!1,video:y?{deviceId:this.videoInput?{ideal:this.videoInput}:void 0,width:s?{exact:640}:{ideal:640},height:s?{exact:360}:{ideal:360}}:!1}}getScreenshareContraints(u){const{desktopCapturerSourceId:y,audio:s}=u;return y?(i.logger.debug("Using desktop capturer source",y),{audio:s??!1,video:{mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:y}}}):(i.logger.debug("Not using desktop capturer source"),{audio:s??!1,video:!0})}}return ji.MediaHandler=o,ji}var Ml={},kt={},R9;function zB(){if(R9)return kt;R9=1;var e=Ae;Object.defineProperty(kt,"__esModule",{value:!0}),kt.SlidingSyncState=kt.SlidingSyncEvent=kt.SlidingSync=kt.MSC3575_WILDCARD=kt.MSC3575_STATE_KEY_ME=kt.MSC3575_STATE_KEY_LAZY=kt.ExtensionState=void 0;var t=e(Ue),r=Ge(),n=At(),i=dt();function a(d,l){var c=Object.keys(d);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(d);l&&(f=f.filter(function(E){return Object.getOwnPropertyDescriptor(d,E).enumerable})),c.push.apply(c,f)}return c}function o(d){for(var l=1;l<arguments.length;l++){var c=arguments[l]!=null?arguments[l]:{};l%2?a(Object(c),!0).forEach(function(f){(0,t.default)(d,f,c[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(c)):a(Object(c)).forEach(function(f){Object.defineProperty(d,f,Object.getOwnPropertyDescriptor(c,f))})}return d}const p=10*1e3,u="*";kt.MSC3575_WILDCARD=u;const y="$ME";kt.MSC3575_STATE_KEY_ME=y;const s="$LAZY";kt.MSC3575_STATE_KEY_LAZY=s;let m;kt.SlidingSyncState=m,function(d){d.RequestFinished="FINISHED",d.Complete="COMPLETE"}(m||(kt.SlidingSyncState=m={}));class g{constructor(l){(0,t.default)(this,"list",void 0),(0,t.default)(this,"isModified",void 0),(0,t.default)(this,"roomIndexToRoomId",{}),(0,t.default)(this,"joinedCount",0),this.replaceList(l)}setModified(l){this.isModified=l}updateListRange(l){this.list.ranges=JSON.parse(JSON.stringify(l))}replaceList(l){l.filters=l.filters||{},l.ranges=l.ranges||[],this.list=JSON.parse(JSON.stringify(l)),this.isModified=!0,this.roomIndexToRoomId={},this.joinedCount=0}getList(l){let c={ranges:JSON.parse(JSON.stringify(this.list.ranges))};return(this.isModified||l)&&(c=JSON.parse(JSON.stringify(this.list))),c}isIndexInRange(l){for(const c of this.list.ranges)if(c[0]<=l&&l<=c[1])return!0;return!1}}let S;kt.ExtensionState=S,function(d){d.PreProcess="ExtState.PreProcess",d.PostProcess="ExtState.PostProcess"}(S||(kt.ExtensionState=S={}));let v;kt.SlidingSyncEvent=v,function(d){d.RoomData="SlidingSync.RoomData",d.Lifecycle="SlidingSync.Lifecycle",d.List="SlidingSync.List"}(v||(kt.SlidingSyncEvent=v={}));class h extends n.TypedEventEmitter{constructor(l,c,f,E,w){super(),this.proxyBaseUrl=l,this.roomSubscriptionInfo=f,this.client=E,this.timeoutMS=w,(0,t.default)(this,"lists",void 0),(0,t.default)(this,"listModifiedCount",0),(0,t.default)(this,"terminated",!1),(0,t.default)(this,"needsResend",!1),(0,t.default)(this,"txnId",null),(0,t.default)(this,"txnIdDefers",[]),(0,t.default)(this,"extensions",{}),(0,t.default)(this,"desiredRoomSubscriptions",new Set),(0,t.default)(this,"confirmedRoomSubscriptions",new Set),(0,t.default)(this,"customSubscriptions",new Map),(0,t.default)(this,"roomIdToCustomSubscription",new Map),(0,t.default)(this,"pendingReq",void 0),(0,t.default)(this,"abortController",void 0),this.lists=c.map(I=>new g(I))}addCustomSubscription(l,c){this.customSubscriptions.set(l,c)}useCustomSubscription(l,c){this.roomIdToCustomSubscription.set(l,c),this.confirmedRoomSubscriptions.delete(l)}listLength(){return this.lists.length}getListData(l){return this.lists[l]?{joinedCount:this.lists[l].joinedCount,roomIndexToRoomId:Object.assign({},this.lists[l].roomIndexToRoomId)}:null}getList(l){return this.lists[l]?this.lists[l].getList(!0):null}setListRanges(l,c){return this.lists[l].updateListRange(c),this.resend()}setList(l,c){return this.lists[l]?this.lists[l].replaceList(c):this.lists[l]=new g(c),this.listModifiedCount+=1,this.resend()}getRoomSubscriptions(){return new Set(Array.from(this.desiredRoomSubscriptions))}modifyRoomSubscriptions(l){return this.desiredRoomSubscriptions=l,this.resend()}modifyRoomSubscriptionInfo(l){return this.roomSubscriptionInfo=l,this.confirmedRoomSubscriptions=new Set,this.resend()}registerExtension(l){if(this.extensions[l.name()])throw new Error(`registerExtension: ${l.name()} already exists as an extension`);this.extensions[l.name()]=l}getExtensionRequest(l){const c={};return Object.keys(this.extensions).forEach(f=>{c[f]=this.extensions[f].onRequest(l)}),c}onPreExtensionsResponse(l){Object.keys(l).forEach(c=>{this.extensions[c].when()==S.PreProcess&&this.extensions[c].onResponse(l[c])})}onPostExtensionsResponse(l){Object.keys(l).forEach(c=>{this.extensions[c].when()==S.PostProcess&&this.extensions[c].onResponse(l[c])})}invokeRoomDataListeners(l,c){c.required_state||(c.required_state=[]),c.timeline||(c.timeline=[]),this.emit(v.RoomData,l,c)}invokeLifecycleListeners(l,c,f){this.emit(v.Lifecycle,l,c,f)}shiftRight(l,c,f){for(let E=c;E>f;E--)this.lists[l].isIndexInRange(E)&&(this.lists[l].roomIndexToRoomId[E]=this.lists[l].roomIndexToRoomId[E-1])}shiftLeft(l,c,f){for(let E=f;E<c;E++)this.lists[l].isIndexInRange(E)&&(this.lists[l].roomIndexToRoomId[E]=this.lists[l].roomIndexToRoomId[E+1])}removeEntry(l,c){let f=-1;for(const E in this.lists[l].roomIndexToRoomId)Number(E)>f&&(f=Number(E));f<0||c>f||(this.shiftLeft(l,f,c),delete this.lists[l].roomIndexToRoomId[f])}addEntry(l,c){let f=-1;for(const E in this.lists[l].roomIndexToRoomId)Number(E)>f&&(f=Number(E));f<0||c>f||this.shiftRight(l,f+1,c)}processListOps(l,c){let f=-1;l.ops.forEach(E=>{switch(E.op){case"DELETE":{r.logger.debug("DELETE",c,E.index,";"),delete this.lists[c].roomIndexToRoomId[E.index],f!==-1&&this.removeEntry(c,f),f=E.index;break}case"INSERT":{r.logger.debug("INSERT",c,E.index,E.room_id,";"),this.lists[c].roomIndexToRoomId[E.index]&&(f<0?this.addEntry(c,E.index):f>E.index?this.shiftRight(c,f,E.index):f<E.index&&this.shiftLeft(c,E.index,f)),f=-1,this.lists[c].roomIndexToRoomId[E.index]=E.room_id;break}case"INVALIDATE":{const w=E.range[0];for(let I=w;I<=E.range[1];I++)delete this.lists[c].roomIndexToRoomId[I];r.logger.debug("INVALIDATE",c,E.range[0],E.range[1],";");break}case"SYNC":{const w=E.range[0];for(let I=w;I<=E.range[1];I++){const D=E.room_ids[I-w];if(!D)break;this.lists[c].roomIndexToRoomId[I]=D}r.logger.debug("SYNC",c,E.range[0],E.range[1],(E.room_ids||[]).join(" "),";");break}}}),f!==-1&&this.removeEntry(c,f)}resend(){var l;if(this.needsResend&&this.txnIdDefers.length>0)return this.txnIdDefers[this.txnIdDefers.length-1].promise;this.needsResend=!0,this.txnId=this.client.makeTxnId();const c=(0,i.defer)();return this.txnIdDefers.push(o(o({},c),{},{txnId:this.txnId})),(l=this.abortController)===null||l===void 0||l.abort(),this.abortController=new AbortController,c.promise}resolveTransactionDefers(l){if(!l)return;let c=-1;for(let f=0;f<this.txnIdDefers.length;f++)if(this.txnIdDefers[f].txnId===l){c=f;break}if(c===-1){r.logger.warn(`resolveTransactionDefers: seen ${l} but it isn't a pending txn, ignoring.`);return}for(let f=0;f<c;f++)this.txnIdDefers[f].reject(this.txnIdDefers[f].txnId);this.txnIdDefers[c].resolve(l),this.txnIdDefers=this.txnIdDefers.slice(c+1)}stop(){var l;this.terminated=!0,(l=this.abortController)===null||l===void 0||l.abort(),this.removeAllListeners(v.Lifecycle),this.removeAllListeners(v.List),this.removeAllListeners(v.RoomData)}resetup(){var l;r.logger.warn("SlidingSync: resetting connection info"),this.txnIdDefers.forEach(c=>{c.reject(c.txnId)}),this.txnIdDefers=[],this.lists.forEach(c=>{c.setModified(!0)}),this.confirmedRoomSubscriptions=new Set,this.needsResend=!0,(l=this.abortController)===null||l===void 0||l.abort(),this.abortController=new AbortController}async start(){this.abortController=new AbortController;let l;for(;!this.terminated;){this.needsResend=!1;let c=!1,f;try{const w=this.listModifiedCount,I={lists:this.lists.map(L=>L.getList(!1)),pos:l,timeout:this.timeoutMS,clientTimeout:this.timeoutMS+p,extensions:this.getExtensionRequest(l===void 0)},D=_(this.desiredRoomSubscriptions,this.confirmedRoomSubscriptions),A=_(this.confirmedRoomSubscriptions,this.desiredRoomSubscriptions);if(A.size>0&&(I.unsubscribe_rooms=Array.from(A)),D.size>0){I.room_subscriptions={};for(const L of D){const F=this.roomIdToCustomSubscription.get(L);let x=this.roomSubscriptionInfo;F&&this.customSubscriptions.has(F)&&(x=this.customSubscriptions.get(F)),I.room_subscriptions[L]=x}}this.txnId&&(I.txn_id=this.txnId,this.txnId=null),this.pendingReq=this.client.slidingSync(I,this.proxyBaseUrl,this.abortController.signal),f=await this.pendingReq,l=f.pos;for(const L of D)this.confirmedRoomSubscriptions.add(L);for(const L of A)this.confirmedRoomSubscriptions.delete(L);w!==this.listModifiedCount&&(r.logger.debug("list modified during await call, not updating list"),c=!0),this.lists.forEach(L=>{L.setModified(!1)}),f.lists=f.lists||[],f.rooms=f.rooms||{},f.extensions=f.extensions||{},f.lists.forEach((L,F)=>{this.lists[F].joinedCount=L.count}),this.invokeLifecycleListeners(m.RequestFinished,f)}catch(w){if(w.httpStatus){if(this.invokeLifecycleListeners(m.RequestFinished,null,w),w.httpStatus===400){this.resetup(),l=void 0,await(0,i.sleep)(50);continue}}else if(this.needsResend||w.name==="AbortError")continue;r.logger.error(w),await(0,i.sleep)(5e3)}if(!f)continue;this.onPreExtensionsResponse(f.extensions),Object.keys(f.rooms).forEach(w=>{this.invokeRoomDataListeners(w,f.rooms[w])});const E=new Set;c||f.lists.forEach((w,I)=>{w.ops=w.ops||[],w.ops.length>0&&E.add(I),this.processListOps(w,I)}),this.invokeLifecycleListeners(m.Complete,f),this.onPostExtensionsResponse(f.extensions),E.forEach(w=>{this.emit(v.List,w,this.lists[w].joinedCount,Object.assign({},this.lists[w].roomIndexToRoomId))}),this.resolveTransactionDefers(f.txn_id)}}}kt.SlidingSync=h;const _=(d,l)=>{const c=new Set(d);for(const f of l)c.delete(f);return c};return kt}var I9;function sw(){if(I9)return Ml;I9=1;var e=Ae;Object.defineProperty(Ml,"__esModule",{value:!0}),Ml.SlidingSyncSdk=void 0;var t=e(Ue),r=Ti(),n=Ge(),i=h(dt()),a=Pn(),o=ln(),p=m1(),u=kn,y=zB(),s=xe,m=A0(),g=Ia(),S=en;function v(L){if(typeof WeakMap!="function")return null;var F=new WeakMap,x=new WeakMap;return(v=function(H){return H?x:F})(L)}function h(L,F){if(!F&&L&&L.__esModule)return L;if(L===null||typeof L!="object"&&typeof L!="function")return{default:L};var x=v(F);if(x&&x.has(L))return x.get(L);var H={},K=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var W in L)if(W!=="default"&&Object.prototype.hasOwnProperty.call(L,W)){var X=K?Object.getOwnPropertyDescriptor(L,W):null;X&&(X.get||X.set)?Object.defineProperty(H,W,X):H[W]=L[W]}return H.default=L,x&&x.set(L,H),H}const _=3;class d{constructor(F){this.crypto=F}name(){return"e2ee"}when(){return y.ExtensionState.PreProcess}onRequest(F){if(F)return{enabled:!0}}async onResponse(F){if(F.device_lists&&await this.crypto.handleDeviceListChanges({oldSyncToken:"yep"},F.device_lists),F.device_one_time_keys_count){const x=F.device_one_time_keys_count.signed_curve25519||0;this.crypto.updateOneTimeKeyCount(x)}if(F.device_unused_fallback_key_types||F["org.matrix.msc2732.device_unused_fallback_key_types"]){const x=F.device_unused_fallback_key_types||F["org.matrix.msc2732.device_unused_fallback_key_types"];this.crypto.setNeedsNewFallback(Array.isArray(x)&&!x.includes("signed_curve25519"))}}}class l{constructor(F){this.client=F,(0,t.default)(this,"nextBatch",null)}name(){return"to_device"}when(){return y.ExtensionState.PreProcess}onRequest(F){const x={since:this.nextBatch!==null?this.nextBatch:void 0};return F&&(x.limit=100,x.enabled=!0),x}async onResponse(F){var x;const H=[];(x=F.events)===null||x===void 0||x.map(this.client.getEventMapper()).map(K=>{if(K.getType()==="m.key.verification.cancel"){const W=K.getContent().transaction_id;W&&H.push(W)}return K}).forEach(K=>{const W=K.getContent();if(K.getType()=="m.room.message"&&W.msgtype=="m.bad.encrypted"){n.logger.log("Ignoring undecryptable to-device event from "+K.getSender());return}if(K.getType()==="m.key.verification.start"||K.getType()==="m.key.verification.request"){const X=W.transaction_id;H.includes(X)&&K.flagCancelled()}this.client.emit(o.ClientEvent.ToDeviceEvent,K)}),this.nextBatch=F.next_batch}}class c{constructor(F){this.client=F}name(){return"account_data"}when(){return y.ExtensionState.PostProcess}onRequest(F){if(F)return{enabled:!0}}onResponse(F){F.global&&F.global.length>0&&this.processGlobalAccountData(F.global);for(const x in F.rooms){const H=D(this.client,x,F.rooms[x]),K=this.client.getRoom(x);if(!K){n.logger.warn("got account data for room but room doesn't exist on client:",x);continue}K.addAccountData(H),H.forEach(W=>{this.client.emit(o.ClientEvent.Event,W)})}}processGlobalAccountData(F){const x=D(this.client,void 0,F),H=x.reduce((K,W)=>(K[W.getType()]=this.client.store.getAccountData(W.getType()),K),{});this.client.store.storeAccountDataEvents(x),x.forEach(K=>{if(K.getType()===s.EventType.PushRules){const X=K.getContent();this.client.pushRules=m.PushProcessor.rewriteDefaultRules(X)}const W=H[K.getType()];return this.client.emit(o.ClientEvent.AccountData,K,W),K})}}class f{constructor(F){this.client=F}name(){return"typing"}when(){return y.ExtensionState.PostProcess}onRequest(F){if(F)return{enabled:!0}}onResponse(F){if(F!=null&&F.rooms)for(const x in F.rooms)A(this.client,x,[F.rooms[x]])}}class E{constructor(F){this.client=F}name(){return"receipts"}when(){return y.ExtensionState.PostProcess}onRequest(F){if(F)return{enabled:!0}}onResponse(F){if(F!=null&&F.rooms)for(const x in F.rooms)A(this.client,x,[F.rooms[x]])}}class w{constructor(F,x,H={}){var K;this.slidingSync=F,this.client=x,this.opts=H,(0,t.default)(this,"syncState",null),(0,t.default)(this,"syncStateData",void 0),(0,t.default)(this,"lastPos",null),(0,t.default)(this,"failCount",0),(0,t.default)(this,"notifEvents",[]),this.opts.initialSyncLimit=(K=this.opts.initialSyncLimit)!==null&&K!==void 0?K:8,this.opts.resolveInvitesToProfiles=this.opts.resolveInvitesToProfiles||!1,this.opts.pollTimeout=this.opts.pollTimeout||30*1e3,this.opts.pendingEventOrdering=this.opts.pendingEventOrdering||o.PendingEventOrdering.Chronological,this.opts.experimentalThreadSupport=this.opts.experimentalThreadSupport===!0,H.canResetEntireTimeline||(H.canResetEntireTimeline=X=>!1),x.getNotifTimelineSet()&&x.reEmitter.reEmit(x.getNotifTimelineSet(),[r.RoomEvent.Timeline,r.RoomEvent.TimelineReset]),this.slidingSync.on(y.SlidingSyncEvent.Lifecycle,this.onLifecycle.bind(this)),this.slidingSync.on(y.SlidingSyncEvent.RoomData,this.onRoomData.bind(this));const W=[new l(this.client),new c(this.client),new f(this.client),new E(this.client)];this.opts.crypto&&W.push(new d(this.opts.crypto)),W.forEach(X=>{this.slidingSync.registerExtension(X)})}onRoomData(F,x){let H=this.client.store.getRoom(F);if(!H){if(!x.initial){n.logger.debug("initial flag not set but no stored room exists for room ",F,x);return}H=(0,p._createAndReEmitRoom)(this.client,F,this.opts)}this.processRoomData(this.client,H,x)}onLifecycle(F,x,H){switch(H&&n.logger.debug("onLifecycle",F,H),F){case y.SlidingSyncState.Complete:if(this.purgeNotifications(),!x)break;this.lastPos||this.updateSyncState(p.SyncState.Prepared,{oldSyncToken:void 0,nextSyncToken:x.pos,catchingUp:!1,fromCache:!1}),this.updateSyncState(p.SyncState.Syncing,{oldSyncToken:this.lastPos,nextSyncToken:x.pos,catchingUp:!1,fromCache:!1}),this.lastPos=x.pos;break;case y.SlidingSyncState.RequestFinished:if(H){if(this.failCount+=1,this.updateSyncState(this.failCount>_?p.SyncState.Error:p.SyncState.Reconnecting,{error:new u.MatrixError(H)}),this.shouldAbortSync(new u.MatrixError(H)))return}else this.failCount=0;break}}async syncLeftRooms(){return[]}async peek(F){return null}stopPeeking(){}getSyncState(){return this.syncState}getSyncStateData(){var F;return(F=this.syncStateData)!==null&&F!==void 0?F:null}createRoom(F){const{timelineSupport:x}=this.client,H=new r.Room(F,this.client,this.client.getUserId(),{lazyLoadMembers:this.opts.lazyLoadMembers,pendingEventOrdering:this.opts.pendingEventOrdering,timelineSupport:x});return this.client.reEmitter.reEmit(H,[r.RoomEvent.Name,r.RoomEvent.Redaction,r.RoomEvent.RedactionCancelled,r.RoomEvent.Receipt,r.RoomEvent.Tags,r.RoomEvent.LocalEchoUpdated,r.RoomEvent.AccountData,r.RoomEvent.MyMembership,r.RoomEvent.Timeline,r.RoomEvent.TimelineReset]),this.registerStateListeners(H),H}registerStateListeners(F){this.client.reEmitter.reEmit(F.currentState,[g.RoomStateEvent.Events,g.RoomStateEvent.Members,g.RoomStateEvent.NewMember,g.RoomStateEvent.Update]),F.currentState.on(g.RoomStateEvent.NewMember,(x,H,K)=>{var W;K.user=(W=this.client.getUser(K.userId))!==null&&W!==void 0?W:void 0,this.client.reEmitter.reEmit(K,[S.RoomMemberEvent.Name,S.RoomMemberEvent.Typing,S.RoomMemberEvent.PowerLevel,S.RoomMemberEvent.Membership])})}shouldAbortSync(F){return F.errcode==="M_UNKNOWN_TOKEN"?(n.logger.warn("Token no longer valid - assuming logout"),this.stop(),this.updateSyncState(p.SyncState.Error,{error:F}),!0):!1}async processRoomData(F,x,H){H=I(F,x.roomId,H);const K=D(this.client,x.roomId,H.required_state);let W=D(this.client,x.roomId,H.timeline,!1);const X=[];if(H.initial){const R=new Set;x.getLiveTimeline().getEvents().forEach(C=>{R.add(C.getId())});const k=[],B=[];let $=!1;for(let C=W.length-1;C>=0;C--){const N=W[C];if(R.has(N.getId())){$=!0;continue}$?k.push(N):B.unshift(N)}W=B,k.length>0&&x.addEventsToTimeline(k,!0,x.getLiveTimeline(),H.prev_batch)}const G=this.client.isRoomEncrypted(x.roomId);if(H.notification_count!=null&&x.setUnreadNotificationCount(r.NotificationCountType.Total,H.notification_count),H.highlight_count!=null&&(!G||G&&x.getUnreadNotificationCount(r.NotificationCountType.Highlight)<=0)&&x.setUnreadNotificationCount(r.NotificationCountType.Highlight,H.highlight_count),Number.isInteger(H.invited_count)&&x.currentState.setInvitedMemberCount(H.invited_count),Number.isInteger(H.joined_count)&&x.currentState.setJoinedMemberCount(H.joined_count),H.invite_state){const R=D(this.client,x.roomId,H.invite_state);this.injectRoomEvents(x,R),H.initial&&(x.recalculate(),this.client.store.storeRoom(x),this.client.emit(o.ClientEvent.Room,x)),R.forEach(k=>{this.client.emit(o.ClientEvent.Event,k)}),x.updateMyMembership("invite");return}if(H.initial){var j;x.getLiveTimeline().setPaginationToken((j=H.prev_batch)!==null&&j!==void 0?j:null,a.EventTimeline.BACKWARDS)}this.injectRoomEvents(x,K,W,H.num_live),x.addEphemeralEvents(X),x.updateMyMembership("join"),x.recalculate(),H.initial&&(F.store.storeRoom(x),F.emit(o.ClientEvent.Room,x)),this.addNotifications(W);const Y=async R=>{F.emit(o.ClientEvent.Event,R),R.isState()&&R.getType()==s.EventType.RoomEncryption&&this.opts.crypto&&await this.opts.crypto.onCryptoEvent(x,R)};await i.promiseMapSeries(K,Y),await i.promiseMapSeries(W,Y),X.forEach(function(R){F.emit(o.ClientEvent.Event,R)}),x.decryptCriticalEvents()}injectRoomEvents(F,x,H,K){H=H||[],x=x||[],K=K||0;const W=F.getLiveTimeline(),X=W.getEvents().length==0;if(X){for(const j of x)this.client.getPushActionsForEvent(j);W.initialiseState(x)}X||(F.oldState.setStateEvents(x),F.currentState.setStateEvents(x));let G=[];K>0&&(G=H.slice(-1*K),H=H.slice(0,-1*G.length)),F.addLiveEvents(H,{fromCache:!0}),G.length>0&&F.addLiveEvents(G,{fromCache:!1}),F.recalculate(),this.resolveInvites(F)}resolveInvites(F){if(!F||!this.opts.resolveInvitesToProfiles)return;const x=this.client;F.getMembersWithMembership("invite").forEach(function(H){if(H.requestedProfileInfo)return;H.requestedProfileInfo=!0;const K=x.getUser(H.userId);let W;K?W=Promise.resolve({avatar_url:K.avatarUrl,displayname:K.displayName}):W=x.getProfileInfo(H.userId),W.then(function(X){const G=H.events.member;G.getContent().membership==="invite"&&(G.getContent().avatar_url=X.avatar_url,G.getContent().displayname=X.displayname,H.setMembershipEvent(G,F.currentState))},function(X){})})}retryImmediately(){return!0}async sync(){for(n.logger.debug("Sliding sync init loop");!this.client.isGuest();)try{n.logger.debug("Getting push rules...");const F=await this.client.getPushRules();n.logger.debug("Got push rules"),this.client.pushRules=F;break}catch(F){if(n.logger.error("Getting push rules failed",F),this.shouldAbortSync(F))return}await this.slidingSync.start()}stop(){n.logger.debug("SyncApi.stop"),this.slidingSync.stop()}updateSyncState(F,x){const H=this.syncState;this.syncState=F,this.syncStateData=x,this.client.emit(o.ClientEvent.Sync,this.syncState,H,x)}addNotifications(F){if(this.client.getNotifTimelineSet())for(const x of F){const H=this.client.getPushActionsForEvent(x);H&&H.notify&&H.tweaks&&H.tweaks.highlight&&this.notifEvents.push(x)}}purgeNotifications(){this.notifEvents.sort(function(F,x){return F.getTs()-x.getTs()}),this.notifEvents.forEach(F=>{var x;(x=this.client.getNotifTimelineSet())===null||x===void 0||x.addLiveEvent(F)}),this.notifEvents=[]}}Ml.SlidingSyncSdk=w;function I(L,F,x){if(!x.name)return x;for(const H of x.required_state)if(H.type===s.EventType.RoomName&&H.state_key==="")return H.content={name:x.name},x;return x.required_state.push({event_id:"$fake-sliding-sync-name-event-"+F,state_key:"",type:s.EventType.RoomName,content:{name:x.name},sender:L.getUserId(),origin_server_ts:new Date().getTime()}),x}function D(L,F,x,H=!0){const K=L.getEventMapper({decrypt:H});return x.map(function(W){return W.room_id=F,K(W)})}function A(L,F,x){const H=D(L,F,x),K=L.getRoom(F);if(!K){n.logger.warn("got ephemeral events for room but room doesn't exist on client:",F);return}K.addEphemeralEvents(H),H.forEach(W=>{L.emit(o.ClientEvent.Event,W)})}return Ml}var Fa={},C9;function lw(){if(C9)return Fa;C9=1,Object.defineProperty(Fa,"__esModule",{value:!0}),Fa.M_BEACON_INFO=Fa.M_BEACON=void 0;var e=rr;const t=new e.UnstableValue("m.beacon_info","org.matrix.msc3672.beacon_info");Fa.M_BEACON_INFO=t;const r=new e.UnstableValue("m.beacon","org.matrix.msc3672.beacon");return Fa.M_BEACON=r,Fa}var Al={},Tu={},YB=Ae;Object.defineProperty(Tu,"__esModule",{value:!0});Tu.MatrixScheduler=void 0;var uc=YB(Ue),O9=XB(dt());Ge();var QB=xe,JB=kn;function dw(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(dw=function(n){return n?r:t})(e)}function XB(e,t){if(!t&&e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=dw(t);if(r&&r.has(e))return r.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if(a!=="default"&&Object.prototype.hasOwnProperty.call(e,a)){var o=i?Object.getOwnPropertyDescriptor(e,a):null;o&&(o.get||o.set)?Object.defineProperty(n,a,o):n[a]=e[a]}return n.default=e,r&&r.set(e,n),n}class Op{static RETRY_BACKOFF_RATELIMIT(t,r,n){if(n.httpStatus===400||n.httpStatus===403||n.httpStatus===401||n instanceof JB.ConnectionError||n.name==="M_TOO_LARGE")return-1;if(n.name==="M_LIMIT_EXCEEDED"){const i=n.data.retry_after_ms;if(i>0)return i}return r>4?-1:1e3*Math.pow(2,r)}static QUEUE_MESSAGES(t){return t.getType()===QB.EventType.RoomMessage||t.hasAssociation()?"message":null}constructor(t=Op.RETRY_BACKOFF_RATELIMIT,r=Op.QUEUE_MESSAGES){this.retryAlgorithm=t,this.queueAlgorithm=r,(0,uc.default)(this,"queues",{}),(0,uc.default)(this,"activeQueues",[]),(0,uc.default)(this,"procFn",null),(0,uc.default)(this,"processQueue",n=>{const i=this.peekNextEvent(n);if(!i){const a=this.activeQueues.indexOf(n);a>=0&&this.activeQueues.splice(a,1);return}Nl("Queue '%s' has %s pending events",n,this.queues[n].length),Promise.resolve().then(()=>this.procFn(i.event)).then(a=>{this.removeNextEvent(n),Nl("Queue '%s' sent event %s",n,i.event.getId()),i.defer.resolve(a),this.processQueue(n)},a=>{i.attempts+=1;const o=this.retryAlgorithm(i.event,i.attempts,a);Nl("retry(%s) err=%s event_id=%s waitTime=%s",i.attempts,a,i.event.getId(),o),o===-1?(Nl("Queue '%s' giving up on event %s",n,i.event.getId()),this.removeNextEvent(n),i.defer.reject(a),this.processQueue(n)):setTimeout(this.processQueue,o,n)})})}getQueueForEvent(t){const r=this.queueAlgorithm(t);return!r||!this.queues[r]?null:this.queues[r].map(function(n){return n.event})}removeEventFromQueue(t){const r=this.queueAlgorithm(t);if(!r||!this.queues[r])return!1;let n=!1;return O9.removeElement(this.queues[r],i=>i.event.getId()===t.getId()?(n=!0,!0):!1),n}setProcessFunction(t){this.procFn=t,this.startProcessingQueues()}queueEvent(t){const r=this.queueAlgorithm(t);if(!r)return null;this.queues[r]||(this.queues[r]=[]);const n=O9.defer();return this.queues[r].push({event:t,defer:n,attempts:0}),Nl("Queue algorithm dumped event %s into queue '%s'",t.getId(),r),this.startProcessingQueues(),n.promise}startProcessingQueues(){this.procFn&&Object.keys(this.queues).filter(t=>this.activeQueues.indexOf(t)===-1&&this.queues[t].length>0).forEach(t=>{this.activeQueues.push(t),this.processQueue(t)})}peekNextEvent(t){const r=this.queues[t];if(Array.isArray(r))return r[0]}removeNextEvent(t){const r=this.queues[t];if(Array.isArray(r))return r.shift()}}Tu.MatrixScheduler=Op;function Nl(...e){}var P9;function ZB(){if(P9)return Al;P9=1;var e=Ae;Object.defineProperty(Al,"__esModule",{value:!0}),Al.ToDeviceMessageQueue=void 0;var t=e(Ue),r=xe,n=Ge(),i=Tu;const a=20;let o=class{constructor(u){this.client=u,(0,t.default)(this,"sending",!1),(0,t.default)(this,"running",!0),(0,t.default)(this,"retryTimeout",null),(0,t.default)(this,"retryAttempts",0),(0,t.default)(this,"sendQueue",async()=>{if(this.retryTimeout!==null&&clearTimeout(this.retryTimeout),this.retryTimeout=null,this.sending||!this.running)return;n.logger.debug("Attempting to send queued to-device messages"),this.sending=!0;let y;try{for(;this.running&&(y=await this.client.store.getOldestToDeviceBatch(),y!==null);)await this.sendBatch(y),await this.client.store.removeToDeviceBatch(y.id),this.retryAttempts=0;if(!this.running)return;n.logger.debug("All queued to-device messages sent")}catch(s){++this.retryAttempts;const m=i.MatrixScheduler.RETRY_BACKOFF_RATELIMIT(null,this.retryAttempts,s);if(m===-1){Math.floor(s.httpStatus/100)===4?(n.logger.error("Fatal error when sending to-device message - dropping to-device batch!",s),await this.client.store.removeToDeviceBatch(y.id)):n.logger.info("Automatic retry limit reached for to-device messages.");return}n.logger.info(`Failed to send batch of to-device messages. Will retry in ${m}ms`,s),this.retryTimeout=setTimeout(this.sendQueue,m)}finally{this.sending=!1}})}start(){this.running=!0,this.sendQueue()}stop(){this.running=!1,this.retryTimeout!==null&&clearTimeout(this.retryTimeout),this.retryTimeout=null}async queueBatch(u){const y=[];for(let s=0;s<u.batch.length;s+=a){const m={eventType:u.eventType,batch:u.batch.slice(s,s+a),txnId:this.client.makeTxnId()};y.push(m);const g=m.batch.map(S=>`${S.userId}/${S.deviceId} (msgid ${S.payload[r.ToDeviceMessageId]})`);n.logger.info(`Enqueuing batch of to-device messages. type=${u.eventType} txnid=${m.txnId}`,g)}await this.client.store.saveToDeviceBatches(y),this.sendQueue()}async sendBatch(u){const y={};for(const s of u.batch)y[s.userId]||(y[s.userId]={}),y[s.userId][s.deviceId]=s.payload;n.logger.info(`Sending batch of ${u.batch.length} to-device messages with ID ${u.id} and txnId ${u.txnId}`),await this.client.sendToDevice(u.eventType,y,u.txnId)}};return Al.ToDeviceMessageQueue=o,Al}var Wr={},k9;function ej(){if(k9)return Wr;k9=1,Object.defineProperty(Wr,"__esModule",{value:!0}),Wr.PolicyScope=Wr.POLICIES_ACCOUNT_EVENT_TYPE=Wr.IgnoredInvites=Wr.IGNORE_INVITES_ACCOUNT_EVENT_KEY=void 0;var e=uu,t=Pn(),r=_t,n=dt();const i=new e.UnstableValue("m.policies","org.matrix.msc3847.policies");Wr.POLICIES_ACCOUNT_EVENT_TYPE=i;const a=new e.UnstableValue("m.ignore.invites","org.matrix.msc3847.ignore.invites");Wr.IGNORE_INVITES_ACCOUNT_EVENT_KEY=a;var o;(function(y){y.Ban="m.ban"})(o||(o={}));let p;Wr.PolicyScope=p,function(y){y.User="m.policy.user",y.Room="m.policy.room",y.Server="m.policy.server"}(p||(Wr.PolicyScope=p={}));class u{constructor(s){this.client=s}async addRule(s,m,g){const S=await this.getOrCreateTargetRoom();return(await this.client.sendStateEvent(S.roomId,s,{entity:m,reason:g,recommendation:o.Ban})).event_id}async removeRule(s){await this.client.redactEvent(s.getRoomId(),s.getId())}async addSource(s){await this.client.joinRoom(s);const m=(await this.getOrCreateSourceRooms()).map(g=>g.roomId);return m.includes(s)?!1:(m.push(s),await this.withIgnoreInvitesPolicies(g=>{g.sources=m}),!0)}async getRuleForInvite({sender:s,roomId:m}){const g=await this.getOrCreateSourceRooms(),S=s.split(":")[1],v=m.split(":")[1];for(const h of g){const _=h.getUnfilteredTimelineSet().getLiveTimeline().getState(t.EventTimeline.FORWARDS);for(const{scope:d,entities:l}of[{scope:p.Room,entities:[m]},{scope:p.User,entities:[s]},{scope:p.Server,entities:[S,v]}]){const c=_.getStateEvents(d);for(const f of c){const E=f.getContent();if((E==null?void 0:E.recommendation)!=o.Ban)continue;const w=E==null?void 0:E.entity;if(!w)continue;let I;try{I=new RegExp((0,n.globToRegexp)(w,!1))}catch{continue}for(const D of l)if(D&&I.test(D))return f}}}return null}async getOrCreateTargetRoom(){let m=this.getIgnoreInvitesPolicies().target;if(typeof m!="string"&&(m=null),m){const g=this.client.getRoom(m);if(g)return g;m=null}return m=(await this.client.createRoom({name:"Individual Policy Room",preset:r.Preset.PrivateChat})).room_id,await this.withIgnoreInvitesPolicies(g=>{g.target=m}),this.client.getRoom(m)}async getOrCreateSourceRooms(){let m=this.getIgnoreInvitesPolicies().sources,g=!1;Array.isArray(m)||(g=!0,m=[]);let S=m.filter(v=>typeof v=="string").map(v=>this.client.getRoom(v)).filter(v=>!!v);if(S.length!=m.length&&(g=!0),S.length==0){const v=await this.getOrCreateTargetRoom();g=!0,S=[v]}return g&&await this.withIgnoreInvitesPolicies(v=>{v.sources=m}),S}getIgnoreInvitesPolicies(){return this.getPoliciesAndIgnoreInvitesPolicies().ignoreInvitesPolicies}async withIgnoreInvitesPolicies(s){const{policies:m,ignoreInvitesPolicies:g}=this.getPoliciesAndIgnoreInvitesPolicies();s(g),m[a.name]=g,await this.client.setAccountData(i.name,m)}getPoliciesAndIgnoreInvitesPolicies(){let s={};for(const v of[i.name,i.altName]){var m;if(!v)continue;const h=(m=this.client.getAccountData(v))===null||m===void 0?void 0:m.getContent();if(h){s=h;break}}let g={},S=!1;for(const v of[a.name,a.altName]){if(!v)continue;const h=s[v];if(h&&typeof h=="object"){g=h,S=!0;break}}return S||(s[a.name]=g),{policies:s,ignoreInvitesPolicies:g}}}return Wr.IgnoredInvites=u,Wr}var D9;function ln(){if(D9)return It;D9=1;var e=Ae;Object.defineProperty(It,"__esModule",{value:!0}),It.UNSTABLE_MSC3852_LAST_SEEN_UA=It.RoomVersionStability=It.PendingEventOrdering=It.MatrixClient=It.M_AUTHENTICATION=It.ClientEvent=It.CRYPTO_ENABLED=void 0,It.fixNotificationCountOnDecryption=We;var t=e(lF),r=e(Ue),n=uu,i=m1(),a=ir(),o=jF(),p=Eu(),u=h1(),y=WE(),s=re(dt()),m=Pn(),g=A0(),S=va,v=re(ct),h=yo(),_=kB(),d=Ge(),l=Ys,c=kn,f=q0(),E=K0(),w=j0(),I=Zr,D=Ks,A=VB(),L=iw(),F=qB(),x=re(ut),H=Ti(),K=xe,W=_t,X=WB(),G=_u(),j=aw(),Y=ow(),R=Qs,k=ht,B=zs(),$=GB(),C=HE(),N=At(),T=js(),ee=sw(),ne=y1(),se=lw(),me=rr,q=ZB(),oe=ej(),M=f1(),O=M0();const z=["server","limit","since"];function J(Re){if(typeof WeakMap!="function")return null;var b=new WeakMap,P=new WeakMap;return(J=function(U){return U?P:b})(Re)}function re(Re,b){if(!b&&Re&&Re.__esModule)return Re;if(Re===null||typeof Re!="object"&&typeof Re!="function")return{default:Re};var P=J(b);if(P&&P.has(Re))return P.get(Re);var U={},Q=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var te in Re)if(te!=="default"&&Object.prototype.hasOwnProperty.call(Re,te)){var ie=Q?Object.getOwnPropertyDescriptor(Re,te):null;ie&&(ie.get||ie.set)?Object.defineProperty(U,te,ie):U[te]=Re[te]}return U.default=Re,P&&P.set(Re,U),U}function le(Re,b){var P=Object.keys(Re);if(Object.getOwnPropertySymbols){var U=Object.getOwnPropertySymbols(Re);b&&(U=U.filter(function(Q){return Object.getOwnPropertyDescriptor(Re,Q).enumerable})),P.push.apply(P,U)}return P}function de(Re){for(var b=1;b<arguments.length;b++){var P=arguments[b]!=null?arguments[b]:{};b%2?le(Object(P),!0).forEach(function(U){(0,r.default)(Re,U,P[U])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Re,Object.getOwnPropertyDescriptors(P)):le(Object(P)).forEach(function(U){Object.defineProperty(Re,U,Object.getOwnPropertyDescriptor(P,U))})}return Re}const ue=3e3,pe=(0,f.isCryptoAvailable)();It.CRYPTO_ENABLED=pe;const ve=216e5,he=10*60*1e3,ce=new me.UnstableValue("last_seen_user_agent","org.matrix.msc3852.last_seen_user_agent");It.UNSTABLE_MSC3852_LAST_SEEN_UA=ce;let Se;It.PendingEventOrdering=Se,function(Re){Re.Chronological="chronological",Re.Detached="detached"}(Se||(It.PendingEventOrdering=Se={}));let Te;It.RoomVersionStability=Te,function(Re){Re.Stable="stable",Re.Unstable="unstable"}(Te||(It.RoomVersionStability=Te={}));var Me;(function(Re){Re.MasterKey="master_key",Re.SelfSigningKey="self_signing_key",Re.UserSigningKey="user_signing_key"})(Me||(Me={}));const Ke=new me.UnstableValue("m.authentication","org.matrix.msc2965.authentication");It.M_AUTHENTICATION=Ke;const Ne="$";let qe;It.ClientEvent=qe,function(Re){Re.Sync="sync",Re.Event="event",Re.ToDeviceEvent="toDeviceEvent",Re.AccountData="accountData",Re.Room="Room",Re.DeleteRoom="deleteRoom",Re.SyncUnexpectedError="sync.unexpectedError",Re.ClientWellKnown="WellKnown.client",Re.ReceivedVoipEvent="received_voip_event",Re.TurnServers="turnServers",Re.TurnServersError="turnServers.error"}(qe||(It.ClientEvent=qe={}));const Fe=new me.UnstableValue("action","org.matrix.msc3824.action");class Le extends N.TypedEventEmitter{constructor(b){var P;super(),(0,r.default)(this,"reEmitter",new h.TypedReEmitter(this)),(0,r.default)(this,"olmVersion",null),(0,r.default)(this,"usingExternalCrypto",!1),(0,r.default)(this,"store",void 0),(0,r.default)(this,"deviceId",void 0),(0,r.default)(this,"credentials",void 0),(0,r.default)(this,"pickleKey",void 0),(0,r.default)(this,"scheduler",void 0),(0,r.default)(this,"clientRunning",!1),(0,r.default)(this,"timelineSupport",!1),(0,r.default)(this,"urlPreviewCache",{}),(0,r.default)(this,"identityServer",void 0),(0,r.default)(this,"http",void 0),(0,r.default)(this,"crypto",void 0),(0,r.default)(this,"cryptoBackend",void 0),(0,r.default)(this,"cryptoCallbacks",void 0),(0,r.default)(this,"callEventHandler",void 0),(0,r.default)(this,"groupCallEventHandler",void 0),(0,r.default)(this,"supportsCallTransfer",!1),(0,r.default)(this,"forceTURN",!1),(0,r.default)(this,"iceCandidatePoolSize",0),(0,r.default)(this,"idBaseUrl",void 0),(0,r.default)(this,"baseUrl",void 0),(0,r.default)(this,"canSupportVoip",!1),(0,r.default)(this,"peekSync",null),(0,r.default)(this,"isGuestAccount",!1),(0,r.default)(this,"ongoingScrollbacks",{}),(0,r.default)(this,"notifTimelineSet",null),(0,r.default)(this,"cryptoStore",void 0),(0,r.default)(this,"verificationMethods",void 0),(0,r.default)(this,"fallbackICEServerAllowed",!1),(0,r.default)(this,"roomList",void 0),(0,r.default)(this,"syncApi",void 0),(0,r.default)(this,"roomNameGenerator",void 0),(0,r.default)(this,"pushRules",void 0),(0,r.default)(this,"syncLeftRoomsPromise",void 0),(0,r.default)(this,"syncedLeftRooms",!1),(0,r.default)(this,"clientOpts",void 0),(0,r.default)(this,"clientWellKnownIntervalID",void 0),(0,r.default)(this,"canResetTimelineCallback",void 0),(0,r.default)(this,"canSupport",new Map),(0,r.default)(this,"pushProcessor",new g.PushProcessor(this)),(0,r.default)(this,"serverVersionsPromise",void 0),(0,r.default)(this,"cachedCapabilities",void 0),(0,r.default)(this,"clientWellKnown",void 0),(0,r.default)(this,"clientWellKnownPromise",void 0),(0,r.default)(this,"turnServers",[]),(0,r.default)(this,"turnServersExpiry",0),(0,r.default)(this,"checkTurnServersIntervalID",void 0),(0,r.default)(this,"exportedOlmDeviceToImport",void 0),(0,r.default)(this,"txnCtr",0),(0,r.default)(this,"mediaHandler",new $.MediaHandler(this)),(0,r.default)(this,"sessionId",void 0),(0,r.default)(this,"pendingEventEncryption",new Map),(0,r.default)(this,"useE2eForGroupCall",!0),(0,r.default)(this,"toDeviceMessageQueue",void 0),(0,r.default)(this,"ignoredInvites",void 0),(0,r.default)(this,"startCallEventHandler",()=>{this.isInitialSyncComplete()&&(this.callEventHandler.start(),this.groupCallEventHandler.start(),this.off(qe.Sync,this.startCallEventHandler))}),b.baseUrl=s.ensureNoTrailingSlash(b.baseUrl),b.idBaseUrl=s.ensureNoTrailingSlash(b.idBaseUrl),this.baseUrl=b.baseUrl,this.idBaseUrl=b.idBaseUrl,this.identityServer=b.identityServer,this.usingExternalCrypto=(P=b.usingExternalCrypto)!==null&&P!==void 0?P:!1,this.store=b.store||new o.StubStore,this.deviceId=b.deviceId||null,this.sessionId=(0,G.randomString)(10);const U=b.userId||null;this.credentials={userId:U},this.http=new c.MatrixHttpApi(this,{fetchFn:b.fetchFn,baseUrl:b.baseUrl,idBaseUrl:b.idBaseUrl,accessToken:b.accessToken,prefix:c.ClientPrefix.R0,onlyData:!0,extraParams:b.queryParams,localTimeoutMs:b.localTimeoutMs,useAuthorizationHeader:b.useAuthorizationHeader}),b.deviceToImport?this.deviceId?d.logger.warn("not importing device because device ID is provided to constructor independently of exported data"):this.credentials.userId?d.logger.warn("not importing device because user ID is provided to constructor independently of exported data"):b.deviceToImport.deviceId?(this.deviceId=b.deviceToImport.deviceId,this.credentials.userId=b.deviceToImport.userId,this.exportedOlmDeviceToImport=b.deviceToImport.olmDevice):d.logger.warn("not importing device because no device ID in exported data"):b.pickleKey&&(this.pickleKey=b.pickleKey),this.scheduler=b.scheduler,this.scheduler&&this.scheduler.setProcessFunction(async Q=>{const te=this.getRoom(Q.getRoomId());Q.status!==a.EventStatus.SENDING&&this.updatePendingEventStatus(te,Q,a.EventStatus.SENDING);const ie=await this.sendEventHttpRequest(Q);return te&&te.updatePendingEvent(Q,a.EventStatus.SENT,ie.event_id),ie}),(0,p.supportsMatrixCall)()&&(this.callEventHandler=new y.CallEventHandler(this),this.groupCallEventHandler=new C.GroupCallEventHandler(this),this.canSupportVoip=!0,this.on(qe.Sync,this.startCallEventHandler)),this.timelineSupport=Boolean(b.timelineSupport),this.cryptoStore=b.cryptoStore,this.verificationMethods=b.verificationMethods,this.cryptoCallbacks=b.cryptoCallbacks||{},this.forceTURN=b.forceTURN||!1,this.iceCandidatePoolSize=b.iceCandidatePoolSize===void 0?0:b.iceCandidatePoolSize,this.supportsCallTransfer=b.supportsCallTransfer||!1,this.fallbackICEServerAllowed=b.fallbackICEServerAllowed||!1,b.useE2eForGroupCall!==void 0&&(this.useE2eForGroupCall=b.useE2eForGroupCall),this.roomList=new _.RoomList(this.cryptoStore),this.roomNameGenerator=b.roomNameGenerator,this.toDeviceMessageQueue=new q.ToDeviceMessageQueue(this),this.on(a.MatrixEventEvent.Decrypted,Q=>{We(this,Q)}),this.on(H.RoomEvent.Receipt,(Q,te)=>{if(te&&this.isRoomEncrypted(te.roomId)){const fe=Q.getContent();if(!(Object.keys(fe).filter(Be=>{for(const[Pe,Ee]of Object.entries(fe[Be]))if(s.isSupportedReceiptType(Pe)&&Ee&&Object.keys(Ee).includes(this.getUserId()))return!0;return!1}).length>0))return;const _e=20,be=te.getLiveTimeline().getEvents();let Ce=0;for(let Be=be.length-1;Be>=0;Be--){var ie;if(Be===be.length-_e)return;const Pe=be[Be];if(te.hasUserReadEvent(this.getUserId(),Pe.getId()))break;const Ee=this.getPushActionsForEvent(Pe);Ce+=Ee!=null&&(ie=Ee.tweaks)!==null&&ie!==void 0&&ie.highlight?1:0}te.setUnreadNotificationCount(H.NotificationCountType.Highlight,Ce)}}),this.ignoredInvites=new oe.IgnoredInvites(this)}async startClient(b){if(this.clientRunning)return;this.clientRunning=!0,typeof b=="number"&&(b={initialSyncLimit:b});const P=this.getUserId();P&&this.store.storeUser(new I.User(P)),this.canSupportVoip&&(this.checkTurnServersIntervalID=setInterval(()=>{this.checkTurnServers()},he),this.checkTurnServers()),this.syncApi&&(d.logger.error("Still have sync object whilst not running: stopping old one"),this.syncApi.stop());try{await this.getVersions();const{threads:U,list:Q,fwdPagination:te}=await this.doesServerSupportThread();ne.Thread.setServerSideSupport(U),ne.Thread.setServerSideListSupport(Q),ne.Thread.setServerSideFwdPaginationSupport(te)}catch(U){d.logger.error("Can't fetch server versions, continuing to initialise sync, this will be retried later",U)}this.clientOpts=Object.assign({},b),this.clientOpts.crypto=this.crypto,this.clientOpts.canResetEntireTimeline=U=>this.canResetTimelineCallback?this.canResetTimelineCallback(U):!1,this.clientOpts.slidingSync?this.syncApi=new ee.SlidingSyncSdk(this.clientOpts.slidingSync,this,this.clientOpts):this.syncApi=new i.SyncApi(this,this.clientOpts),this.syncApi.sync(),this.clientOpts.clientWellKnownPollPeriod!==void 0&&(this.clientWellKnownIntervalID=setInterval(()=>{this.fetchClientWellKnown()},1e3*this.clientOpts.clientWellKnownPollPeriod),this.fetchClientWellKnown()),this.toDeviceMessageQueue.start()}stopClient(){var b,P,U,Q,te;(b=this.cryptoBackend)===null||b===void 0||b.stop(),this.clientRunning&&(d.logger.log("stopping MatrixClient"),this.clientRunning=!1,(P=this.syncApi)===null||P===void 0||P.stop(),this.syncApi=void 0,(U=this.peekSync)===null||U===void 0||U.stopPeeking(),(Q=this.callEventHandler)===null||Q===void 0||Q.stop(),(te=this.groupCallEventHandler)===null||te===void 0||te.stop(),this.callEventHandler=void 0,this.groupCallEventHandler=void 0,$e.clearInterval(this.checkTurnServersIntervalID),this.checkTurnServersIntervalID=void 0,this.clientWellKnownIntervalID!==void 0&&$e.clearInterval(this.clientWellKnownIntervalID),this.toDeviceMessageQueue.stop())}async rehydrateDevice(){if(this.crypto)throw new Error("Cannot rehydrate device after crypto is initialized");if(!this.cryptoCallbacks.getDehydrationKey)return;const b=await this.getDehydratedDevice();if(!b)return;if(!b.device_data||!b.device_id){d.logger.info("no dehydrated device found");return}const P=new $e.Olm.Account;try{const U=b.device_data;if(U.algorithm!==L.DEHYDRATION_ALGORITHM){d.logger.warn("Wrong algorithm for dehydrated device");return}d.logger.log("unpickling dehydrated device");const Q=await this.cryptoCallbacks.getDehydrationKey(U,ie=>{P.unpickle(new Uint8Array(ie),U.account)});if(P.unpickle(Q,U.account),d.logger.log("unpickled device"),(await this.http.authedRequest(c.Method.Post,"/dehydrated_device/claim",void 0,{device_id:b.device_id},{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})).success){this.deviceId=b.device_id,d.logger.info("using dehydrated device");const ie=this.pickleKey||"DEFAULT_KEY";return this.exportedOlmDeviceToImport={pickledAccount:P.pickle(ie),sessions:[],pickleKey:ie},P.free(),this.deviceId}else{P.free(),d.logger.info("not using dehydrated device");return}}catch(U){P.free(),d.logger.warn("could not unpickle",U)}}async getDehydratedDevice(){try{return await this.http.authedRequest(c.Method.Get,"/dehydrated_device",void 0,void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc2697.v2"})}catch(b){d.logger.info("could not get dehydrated device",b);return}}async setDehydrationKey(b,P,U){if(!this.crypto){d.logger.warn("not dehydrating device if crypto is not enabled");return}return this.crypto.dehydrationManager.setKeyAndQueueDehydration(b,P,U)}async createDehydratedDevice(b,P,U){if(!this.crypto){d.logger.warn("not dehydrating device if crypto is not enabled");return}return await this.crypto.dehydrationManager.setKey(b,P,U),this.crypto.dehydrationManager.dehydrateDevice()}async exportDevice(){if(!this.crypto){d.logger.warn("not exporting device if crypto is not enabled");return}return{userId:this.credentials.userId,deviceId:this.deviceId,olmDevice:await this.crypto.olmDevice.export()}}clearStores(){if(this.clientRunning)throw new Error("Cannot clear stores while client is running");const b=[];return b.push(this.store.deleteAllData()),this.cryptoStore&&b.push(this.cryptoStore.deleteAllData()),Promise.all(b).then()}getUserId(){return this.credentials&&this.credentials.userId?this.credentials.userId:null}getDomain(){return this.credentials&&this.credentials.userId?this.credentials.userId.replace(/^.*?:/,""):null}getUserIdLocalpart(){return this.credentials&&this.credentials.userId?this.credentials.userId.split(":")[0].substring(1):null}getDeviceId(){return this.deviceId}getSessionId(){return this.sessionId}supportsVoip(){return this.canSupportVoip}getMediaHandler(){return this.mediaHandler}setForceTURN(b){this.forceTURN=b}setSupportsCallTransfer(b){this.supportsCallTransfer=b}getUseE2eForGroupCall(){return this.useE2eForGroupCall}createCall(b){return(0,p.createNewMatrixCall)(this,b)}async createGroupCall(b,P,U,Q,te,ie){if(this.getGroupCallForRoom(b))throw new Error(`${b} already has an existing group call`);const fe=this.getRoom(b);if(!fe)throw new Error(`Cannot find room ${b}`);return new B.GroupCall(this,fe,P,U,Q,void 0,te,ie).create()}waitUntilRoomReadyForGroupCalls(b){return this.groupCallEventHandler.waitUntilRoomReadyForGroupCalls(b)}getGroupCallForRoom(b){return this.groupCallEventHandler.groupCalls.get(b)||null}getSyncState(){var b,P;return(b=(P=this.syncApi)===null||P===void 0?void 0:P.getSyncState())!==null&&b!==void 0?b:null}getSyncStateData(){return this.syncApi?this.syncApi.getSyncStateData():null}isInitialSyncComplete(){const b=this.getSyncState();return b?b===i.SyncState.Prepared||b===i.SyncState.Syncing:!1}isGuest(){return this.isGuestAccount}setGuest(b){this.isGuestAccount=b}getScheduler(){return this.scheduler}retryImmediately(){var b,P;return this.toDeviceMessageQueue.sendQueue(),(b=(P=this.syncApi)===null||P===void 0?void 0:P.retryImmediately())!==null&&b!==void 0?b:!1}getNotifTimelineSet(){return this.notifTimelineSet}setNotifTimelineSet(b){this.notifTimelineSet=b}getCapabilities(b=!1){const P=new Date().getTime();return this.cachedCapabilities&&!b&&P<this.cachedCapabilities.expiration?(d.logger.log("Returning cached capabilities"),Promise.resolve(this.cachedCapabilities.capabilities)):this.http.authedRequest(c.Method.Get,"/capabilities").catch(U=>(d.logger.error(U),{})).then((U={})=>{const Q=U.capabilities||{},te=Object.keys(Q).length?ve:6e4+Math.random()*5e3;return this.cachedCapabilities={capabilities:Q,expiration:P+te},d.logger.log("Caching capabilities: ",Q),Q})}async initCrypto(){if(!(0,f.isCryptoAvailable)())throw new Error("End-to-end encryption not supported in this js-sdk build: did you remember to load the olm library?");if(this.cryptoBackend){d.logger.warn("Attempt to re-initialise e2e encryption on MatrixClient");return}if(!this.cryptoStore)throw new Error("Cannot enable encryption: no cryptoStore provided");d.logger.log("Crypto: Starting up crypto store..."),await this.cryptoStore.startup(),d.logger.log("Crypto: initialising roomlist..."),await this.roomList.init();const b=this.getUserId();if(b===null)throw new Error("Cannot enable encryption on MatrixClient with unknown userId: ensure userId is passed in createClient().");if(this.deviceId===null)throw new Error("Cannot enable encryption on MatrixClient with unknown deviceId: ensure deviceId is passed in createClient().");const P=new f.Crypto(this,b,this.deviceId,this.store,this.cryptoStore,this.roomList,this.verificationMethods);this.reEmitter.reEmit(P,[f.CryptoEvent.KeyBackupFailed,f.CryptoEvent.KeyBackupSessionsRemaining,f.CryptoEvent.RoomKeyRequest,f.CryptoEvent.RoomKeyRequestCancellation,f.CryptoEvent.Warning,f.CryptoEvent.DevicesUpdated,f.CryptoEvent.WillUpdateDevices,f.CryptoEvent.DeviceVerificationChanged,f.CryptoEvent.UserTrustStatusChanged,f.CryptoEvent.KeysChanged]),d.logger.log("Crypto: initialising crypto object..."),await P.init({exportedOlmDevice:this.exportedOlmDeviceToImport,pickleKey:this.pickleKey}),delete this.exportedOlmDeviceToImport,this.olmVersion=f.Crypto.getOlmVersion(),P.registerEventHandlers(this),this.cryptoBackend=this.crypto=P,this.crypto.uploadDeviceKeys().catch(U=>{d.logger.error("Error uploading device keys",U)})}isCryptoEnabled(){return!!this.cryptoBackend}getDeviceEd25519Key(){var b,P;return(b=(P=this.crypto)===null||P===void 0?void 0:P.getDeviceEd25519Key())!==null&&b!==void 0?b:null}getDeviceCurve25519Key(){var b,P;return(b=(P=this.crypto)===null||P===void 0?void 0:P.getDeviceCurve25519Key())!==null&&b!==void 0?b:null}async uploadKeys(){d.logger.warn("MatrixClient.uploadKeys is deprecated")}downloadKeys(b,P){return this.crypto?this.crypto.downloadKeys(b,P):Promise.reject(new Error("End-to-end encryption disabled"))}getStoredDevicesForUser(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getStoredDevicesForUser(b)||[]}getStoredDevice(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getStoredDevice(b,P)||null}setDeviceVerified(b,P,U=!0){const Q=this.setDeviceVerification(b,P,U,null,null);return b==this.credentials.userId&&this.checkKeyBackup(),Q}setDeviceBlocked(b,P,U=!0){return this.setDeviceVerification(b,P,null,U,null)}setDeviceKnown(b,P,U=!0){return this.setDeviceVerification(b,P,null,null,U)}async setDeviceVerification(b,P,U,Q,te){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.setDeviceVerification(b,P,U,Q,te)}requestVerificationDM(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.requestVerificationDM(b,P)}findVerificationRequestDMInProgress(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.findVerificationRequestDMInProgress(b)}getVerificationRequestsToDeviceInProgress(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getVerificationRequestsToDeviceInProgress(b)}requestVerification(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.requestVerification(b,P)}beginKeyVerification(b,P,U){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.beginKeyVerification(b,P,U)}checkSecretStorageKey(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkSecretStorageKey(b,P)}setGlobalBlacklistUnverifiedDevices(b){if(!this.cryptoBackend)throw new Error("End-to-end encryption disabled");return this.cryptoBackend.globalBlacklistUnverifiedDevices=b,b}getGlobalBlacklistUnverifiedDevices(){if(!this.cryptoBackend)throw new Error("End-to-end encryption disabled");return this.cryptoBackend.globalBlacklistUnverifiedDevices}setGlobalErrorOnUnknownDevices(b){if(!this.cryptoBackend)throw new Error("End-to-end encryption disabled");this.cryptoBackend.globalErrorOnUnknownDevices=b}getGlobalErrorOnUnknownDevices(){if(!this.cryptoBackend)throw new Error("End-to-end encryption disabled");return this.cryptoBackend.globalErrorOnUnknownDevices}getCrossSigningId(b=F.CrossSigningKey.Master){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getCrossSigningId(b)}getStoredCrossSigningForUser(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getStoredCrossSigningForUser(b)}checkUserTrust(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkUserTrust(b)}checkDeviceTrust(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkDeviceTrust(b,P)}checkIfOwnDeviceCrossSigned(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkIfOwnDeviceCrossSigned(b)}checkOwnCrossSigningTrust(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkOwnCrossSigningTrust(b)}checkCrossSigningPrivateKey(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkCrossSigningPrivateKey(b,P)}legacyDeviceVerification(b,P,U){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.legacyDeviceVerification(b,P,U)}prepareToEncrypt(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");this.crypto.prepareToEncrypt(b)}userHasCrossSigningKeys(){if(!this.cryptoBackend)throw new Error("End-to-end encryption disabled");return this.cryptoBackend.userHasCrossSigningKeys()}isCrossSigningReady(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.isCrossSigningReady()}bootstrapCrossSigning(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.bootstrapCrossSigning(b)}getCryptoTrustCrossSignedDevices(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getCryptoTrustCrossSignedDevices()}setCryptoTrustCrossSignedDevices(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");this.crypto.setCryptoTrustCrossSignedDevices(b)}countSessionsNeedingBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.countSessionsNeedingBackup()}getEventEncryptionInfo(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getEventEncryptionInfo(b)}createRecoveryKeyFromPassphrase(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.createRecoveryKeyFromPassphrase(b)}isSecretStorageReady(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.isSecretStorageReady()}bootstrapSecretStorage(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.bootstrapSecretStorage(b)}addSecretStorageKey(b,P,U){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.addSecretStorageKey(b,P,U)}hasSecretStorageKey(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.hasSecretStorageKey(b)}storeSecret(b,P,U){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.storeSecret(b,P,U)}getSecret(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getSecret(b)}isSecretStored(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.isSecretStored(b)}requestSecret(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.requestSecret(b,P)}getDefaultSecretStorageKeyId(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.getDefaultSecretStorageKeyId()}setDefaultSecretStorageKeyId(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.setDefaultSecretStorageKeyId(b)}checkSecretStoragePrivateKey(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.checkSecretStoragePrivateKey(b,P)}async getEventSenderDeviceInfo(b){return this.crypto?this.crypto.getEventSenderDeviceInfo(b):null}async isEventSenderVerified(b){const P=await this.getEventSenderDeviceInfo(b);return P?P.isVerified():!1}getOutgoingRoomKeyRequest(b){if(!this.crypto)throw new Error("End-to-End encryption disabled");const P=b.getWireContent(),U={session_id:P.session_id,sender_key:P.sender_key,algorithm:P.algorithm,room_id:b.getRoomId()};return!U.session_id||!U.sender_key||!U.algorithm||!U.room_id?Promise.resolve(null):this.crypto.cryptoStore.getOutgoingRoomKeyRequest(U)}cancelAndResendEventRoomKeyRequest(b){if(!this.crypto)throw new Error("End-to-End encryption disabled");return b.cancelAndResendKeyRequest(this.crypto,this.getUserId())}setRoomEncryption(b,P){if(!this.crypto)throw new Error("End-to-End encryption disabled");return this.crypto.setRoomEncryption(b,P)}isRoomEncrypted(b){const P=this.getRoom(b);return P?P.currentState.getStateEvents(K.EventType.RoomEncryption,"")?!0:this.roomList.isRoomEncrypted(b):!1}encryptAndSendToDevices(b,P){if(!this.crypto)throw new Error("End-to-End encryption disabled");return this.crypto.encryptAndSendToDevices(b,P)}forceDiscardSession(b){if(!this.crypto)throw new Error("End-to-End encryption disabled");this.crypto.forceDiscardSession(b)}exportRoomKeys(){return this.crypto?this.crypto.exportRoomKeys():Promise.reject(new Error("End-to-end encryption disabled"))}importRoomKeys(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.importRoomKeys(b,P)}checkKeyBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.checkKeyBackup()}async getKeyBackupVersion(){let b;try{b=await this.http.authedRequest(c.Method.Get,"/room_keys/version",void 0,void 0,{prefix:c.ClientPrefix.V3})}catch(P){if(P.errcode==="M_NOT_FOUND")return null;throw P}return j.BackupManager.checkBackupVersion(b),b}isKeyBackupTrusted(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.isKeyBackupTrusted(b)}getKeyBackupEnabled(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.getKeyBackupEnabled()}enableKeyBackup(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.enableKeyBackup(b)}disableKeyBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");this.crypto.backupManager.disableKeyBackup()}async prepareKeyBackupVersion(b,P={secureSecretStorage:!1}){if(!this.crypto)throw new Error("End-to-end encryption disabled");const{algorithm:U,auth_data:Q,recovery_key:te,privateKey:ie}=await this.crypto.backupManager.prepareKeyBackupVersion(b);return P.secureSecretStorage&&(await this.storeSecret("m.megolm_backup.v1",(0,v.encodeBase64)(ie)),d.logger.info("Key backup private key stored in secret storage")),{algorithm:U,auth_data:Q,recovery_key:te}}isKeyBackupKeyStored(){return Promise.resolve(this.isSecretStored("m.megolm_backup.v1"))}async createKeyBackupVersion(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.backupManager.createKeyBackupVersion(b);const P={algorithm:b.algorithm,auth_data:b.auth_data};await this.crypto.signObject(P.auth_data),this.cryptoCallbacks.getCrossSigningKey&&this.crypto.crossSigningInfo.getId()&&await this.crypto.crossSigningInfo.signObject(P.auth_data,"master");const U=await this.http.authedRequest(c.Method.Post,"/room_keys/version",void 0,P,{prefix:c.ClientPrefix.V3});return await this.checkKeyBackup(),this.getKeyBackupEnabled()||d.logger.error("Key backup not usable even though we just created it"),U}async deleteKeyBackupVersion(b){if(!this.crypto)throw new Error("End-to-end encryption disabled");this.crypto.backupManager.version&&this.crypto.backupManager.disableKeyBackup();const P=s.encodeUri("/room_keys/version/$version",{$version:b});await this.http.authedRequest(c.Method.Delete,P,void 0,void 0,{prefix:c.ClientPrefix.V3})}makeKeyBackupPath(b,P,U){let Q;return P!==void 0?Q=s.encodeUri("/room_keys/keys/$roomId/$sessionId",{$roomId:b,$sessionId:P}):b!==void 0?Q=s.encodeUri("/room_keys/keys/$roomId",{$roomId:b}):Q="/room_keys/keys",{path:Q,queryData:U===void 0?void 0:{version:U}}}async sendKeyBackup(b,P,U,Q){if(!this.crypto)throw new Error("End-to-end encryption disabled");const te=this.makeKeyBackupPath(b,P,U);await this.http.authedRequest(c.Method.Put,te.path,te.queryData,Q,{prefix:c.ClientPrefix.V3})}async scheduleAllGroupSessionsForBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");await this.crypto.backupManager.scheduleAllGroupSessionsForBackup()}flagAllGroupSessionsForBackup(){if(!this.crypto)throw new Error("End-to-end encryption disabled");return this.crypto.backupManager.flagAllGroupSessionsForBackup()}isValidRecoveryKey(b){try{return(0,E.decodeRecoveryKey)(b),!0}catch{return!1}}keyBackupKeyFromPassword(b,P){return(0,w.keyFromAuthData)(P.auth_data,b)}keyBackupKeyFromRecoveryKey(b){return(0,E.decodeRecoveryKey)(b)}async restoreKeyBackupWithPassword(b,P,U,Q,te){const ie=await(0,w.keyFromAuthData)(Q.auth_data,b);return this.restoreKeyBackup(ie,P,U,Q,te)}async restoreKeyBackupWithSecretStorage(b,P,U,Q){if(!this.crypto)throw new Error("End-to-end encryption disabled");const te=await this.getSecret("m.megolm_backup.v1"),ie=(0,f.fixBackupKey)(te);if(ie){const ge=await this.crypto.getSecretStorageKey();await this.storeSecret("m.megolm_backup.v1",ie,[ge[0]])}const fe=(0,v.decodeBase64)(ie||te);return this.restoreKeyBackup(fe,P,U,b,Q)}restoreKeyBackupWithRecoveryKey(b,P,U,Q,te){const ie=(0,E.decodeRecoveryKey)(b);return this.restoreKeyBackup(ie,P,U,Q,te)}async restoreKeyBackupWithCache(b,P,U,Q){if(!this.crypto)throw new Error("End-to-end encryption disabled");const te=await this.crypto.getSessionBackupPrivateKey();if(!te)throw new Error("Couldn't get key");return this.restoreKeyBackup(te,b,P,U,Q)}async restoreKeyBackup(b,P,U,Q,te){const ie=te==null?void 0:te.cacheCompleteCallback,fe=te==null?void 0:te.progressCallback;if(!this.crypto)throw new Error("End-to-end encryption disabled");let ge=0,_e=[];const be=this.makeKeyBackupPath(P,U,Q.version),Ce=await j.BackupManager.makeAlgorithm(Q,async()=>b),Be=Ce.untrusted;try{if(!await Ce.keyMatches(b))return Promise.reject(new c.MatrixError({errcode:Le.RESTORE_BACKUP_ERROR_BAD_KEY}));this.crypto.storeSessionBackupPrivateKey(b).catch(Ee=>{d.logger.warn("Error caching session backup key:",Ee)}).then(ie),fe&&fe({stage:"fetch"});const Pe=await this.http.authedRequest(c.Method.Get,be.path,be.queryData,void 0,{prefix:c.ClientPrefix.V3});if(Pe.rooms){const Ee=Pe.rooms;for(const[Ve,ke]of Object.entries(Ee)){if(!ke.sessions)continue;ge+=Object.keys(ke.sessions).length;const De=await Ce.decryptSessions(ke.sessions);for(const tt of De)tt.room_id=Ve,_e.push(tt)}}else if(Pe.sessions){const Ee=Pe.sessions;ge=Object.keys(Ee).length,_e=await Ce.decryptSessions(Ee);for(const Ve of _e)Ve.room_id=P}else{ge=1;try{const[Ee]=await Ce.decryptSessions({[U]:Pe});Ee.room_id=P,Ee.session_id=U,_e.push(Ee)}catch(Ee){d.logger.log("Failed to decrypt megolm session from backup",Ee)}}}finally{Ce.free()}return await this.importRoomKeys(_e,{progressCallback:fe,untrusted:Be,source:"backup"}),await this.checkKeyBackup(),{total:ge,imported:_e.length}}async deleteKeysFromBackup(b,P,U){if(!this.crypto)throw new Error("End-to-end encryption disabled");const Q=this.makeKeyBackupPath(b,P,U);await this.http.authedRequest(c.Method.Delete,Q.path,Q.queryData,void 0,{prefix:c.ClientPrefix.V3})}async sendSharedHistoryKeys(b,P){if(!this.crypto)throw new Error("End-to-end encryption disabled");const U=this.roomList.getRoomEncryption(b);if(!U){d.logger.error("Unknown room. Not sharing decryption keys");return}const Q=await this.crypto.downloadKeys(P),te={};for(const[fe,ge]of Object.entries(Q))te[fe]=Object.values(ge);const ie=this.crypto.getRoomDecryptor(b,U.algorithm);ie.sendSharedHistoryInboundSessions?await ie.sendSharedHistoryInboundSessions(te):d.logger.warn("Algorithm does not support sharing previous keys",U.algorithm)}getMediaConfig(){return this.http.authedRequest(c.Method.Get,"/config",void 0,void 0,{prefix:c.MediaPrefix.R0})}getRoom(b){return b?this.store.getRoom(b):null}getRooms(){return this.store.getRooms()}getVisibleRooms(){const b=this.store.getRooms(),P=new Set;for(const U of b){const Q=U.currentState.getStateEvents(K.EventType.RoomCreate,"");if(Q){const te=Q.getContent().predecessor;te&&te.room_id&&P.add(te.room_id)}}return b.filter(U=>!(U.currentState.getStateEvents(K.EventType.RoomTombstone,"")&&P.has(U.roomId)))}getUser(b){return this.store.getUser(b)}getUsers(){return this.store.getUsers()}setAccountData(b,P){const U=s.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:b});return(0,c.retryNetworkOperation)(5,()=>this.http.authedRequest(c.Method.Put,U,void 0,P))}getAccountData(b){return this.store.getAccountData(b)}async getAccountDataFromServer(b){if(this.isInitialSyncComplete()){const Q=this.store.getAccountData(b);return Q?Q.getContent():null}const P=s.encodeUri("/user/$userId/account_data/$type",{$userId:this.credentials.userId,$type:b});try{return await this.http.authedRequest(c.Method.Get,P)}catch(Q){var U;if(((U=Q.data)===null||U===void 0?void 0:U.errcode)==="M_NOT_FOUND")return null;throw Q}}getIgnoredUsers(){const b=this.getAccountData("m.ignored_user_list");return!b||!b.getContent()||!b.getContent().ignored_users?[]:Object.keys(b.getContent().ignored_users)}setIgnoredUsers(b){const P={ignored_users:{}};return b.forEach(U=>{P.ignored_users[U]={}}),this.setAccountData("m.ignored_user_list",P)}isUserIgnored(b){return this.getIgnoredUsers().includes(b)}async joinRoom(b,P={}){P.syncRoom===void 0&&(P.syncRoom=!0);const U=this.getRoom(b);if(U!=null&&U.hasMembershipState(this.credentials.userId,"join"))return Promise.resolve(U);let Q=Promise.resolve();if(P.inviteSignUrl){const ie=new URL(P.inviteSignUrl);ie.searchParams.set("mxid",this.credentials.userId),Q=this.http.requestOtherUrl(c.Method.Post,ie)}const te={};P.viaServers&&(te.server_name=P.viaServers);try{const ie={},fe=await Q;fe&&(ie.third_party_signed=fe);const ge=s.encodeUri("/join/$roomid",{$roomid:b}),be=(await this.http.authedRequest(c.Method.Post,ge,te,ie)).room_id,Be=new i.SyncApi(this,this.clientOpts).createRoom(be);return P.syncRoom,Be}catch(ie){throw ie}}resendEvent(b,P){return this.toDeviceMessageQueue.sendQueue(),this.updatePendingEventStatus(P,b,a.EventStatus.SENDING),this.encryptAndSendEvent(P,b)}cancelPendingEvent(b){if(![a.EventStatus.QUEUED,a.EventStatus.NOT_SENT,a.EventStatus.ENCRYPTING].includes(b.status))throw new Error("cannot cancel an event with status "+b.status);b.status===a.EventStatus.ENCRYPTING?this.pendingEventEncryption.delete(b.getId()):this.scheduler&&b.status===a.EventStatus.QUEUED&&this.scheduler.removeEventFromQueue(b);const P=this.getRoom(b.getRoomId());this.updatePendingEventStatus(P,b,a.EventStatus.CANCELLED)}setRoomName(b,P){return this.sendStateEvent(b,K.EventType.RoomName,{name:P})}setRoomTopic(b,P,U){const Q=x.makeTopicContent(P,U);return this.sendStateEvent(b,K.EventType.RoomTopic,Q)}getRoomTags(b){const P=s.encodeUri("/user/$userId/rooms/$roomId/tags",{$userId:this.credentials.userId,$roomId:b});return this.http.authedRequest(c.Method.Get,P)}setRoomTag(b,P,U){const Q=s.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:b,$tag:P});return this.http.authedRequest(c.Method.Put,Q,void 0,U)}deleteRoomTag(b,P){const U=s.encodeUri("/user/$userId/rooms/$roomId/tags/$tag",{$userId:this.credentials.userId,$roomId:b,$tag:P});return this.http.authedRequest(c.Method.Delete,U)}setRoomAccountData(b,P,U){const Q=s.encodeUri("/user/$userId/rooms/$roomId/account_data/$type",{$userId:this.credentials.userId,$roomId:b,$type:P});return this.http.authedRequest(c.Method.Put,Q,void 0,U)}setPowerLevel(b,P,U,Q){let te={users:{}};if(Q.getType()===K.EventType.RoomPowerLevels&&(te=s.deepCopy(Q.getContent())),Array.isArray(P))for(const fe of P)te.users[fe]=U;else te.users[P]=U;const ie=s.encodeUri("/rooms/$roomId/state/m.room.power_levels",{$roomId:b});return this.http.authedRequest(c.Method.Put,ie,void 0,te)}async unstable_createLiveBeacon(b,P){return this.unstable_setLiveBeacon(b,P)}async unstable_setLiveBeacon(b,P){return this.sendStateEvent(b,se.M_BEACON_INFO.name,P,this.getUserId())}sendEvent(b,P,U,Q,te){var ie;let fe,ge,_e,be;if(!(P!=null&&P.startsWith(Ne))&&P!==null?(be=Q,_e=U,ge=P,fe=null):(be=te,_e=Q,ge=U,fe=P),fe&&!((ie=_e["m.relates_to"])!==null&&ie!==void 0&&ie.rel_type)){var Ce,Be;const Ve=!!((Ce=_e["m.relates_to"])!==null&&Ce!==void 0&&Ce["m.in_reply_to"]);_e["m.relates_to"]=de(de({},_e["m.relates_to"]),{},{rel_type:ne.THREAD_RELATION_TYPE.name,event_id:fe,is_falling_back:!Ve});const ke=(Be=this.getRoom(b))===null||Be===void 0?void 0:Be.getThread(fe);if(ke&&!Ve){var Pe,Ee;_e["m.relates_to"]["m.in_reply_to"]={event_id:(Pe=(Ee=ke.lastReply(De=>De.isRelation(ne.THREAD_RELATION_TYPE.name)&&!De.status))===null||Ee===void 0?void 0:Ee.getId())!==null&&Pe!==void 0?Pe:fe}}}return this.sendCompleteEvent(b,fe,{type:ge,content:_e},be)}sendCompleteEvent(b,P,U,Q){Q||(Q=this.makeTxnId());const te=new a.MatrixEvent(Object.assign(U,{event_id:"~"+b+":"+Q,user_id:this.credentials.userId,sender:this.credentials.userId,room_id:b,origin_server_ts:new Date().getTime()})),ie=this.getRoom(b),fe=P?ie==null?void 0:ie.getThread(P):void 0;fe&&te.setThread(fe),this.reEmitter.reEmit(te,[a.MatrixEventEvent.Replaced,a.MatrixEventEvent.VisibilityChange]),ie==null||ie.reEmitter.reEmit(te,[a.MatrixEventEvent.BeforeRedaction]);const ge=te.getAssociatedId();if(ge!=null&&ge.startsWith("~")){const be=ie==null?void 0:ie.getPendingEvents().find(Ce=>Ce.getId()===ge);be==null||be.once(a.MatrixEventEvent.LocalEventIdReplaced,()=>{te.updateAssociatedId(be.getId())})}const _e=te.getType();return d.logger.log(`sendEvent of type ${_e} in ${b} with txnId ${Q}`),te.setTxnId(Q),te.setStatus(a.EventStatus.SENDING),ie==null||ie.addPendingEvent(te,Q),te.status===a.EventStatus.NOT_SENT?Promise.reject(new Error("Event blocked by other events not yet sent")):this.encryptAndSendEvent(ie,te)}encryptAndSendEvent(b,P){let U=!1;return Promise.resolve().then(()=>{const Q=this.encryptEventIfNeeded(P,b??void 0);return Q?(this.pendingEventEncryption.set(P.getId(),Q),this.updatePendingEventStatus(b,P,a.EventStatus.ENCRYPTING),Q.then(()=>{if(!this.pendingEventEncryption.has(P.getId())){U=!0;return}this.updatePendingEventStatus(b,P,a.EventStatus.SENDING)})):null}).then(()=>{if(U)return{};let Q=null;return this.scheduler&&(Q=this.scheduler.queueEvent(P),Q&&this.scheduler.getQueueForEvent(P).length>1&&this.updatePendingEventStatus(b,P,a.EventStatus.QUEUED)),Q||(Q=this.sendEventHttpRequest(P),b&&(Q=Q.then(te=>(b.updatePendingEvent(P,a.EventStatus.SENT,te.event_id),te)))),Q}).catch(Q=>{d.logger.error("Error sending event",Q.stack||Q);try{P.error=Q,this.updatePendingEventStatus(b,P,a.EventStatus.NOT_SENT)}catch(te){d.logger.error("Exception in error handler!",te.stack||Q)}throw Q instanceof c.MatrixError&&(Q.event=P),Q})}encryptEventIfNeeded(b,P){if(b.isEncrypted()||b.isRedaction()||!this.isRoomEncrypted(b.getRoomId())||!this.crypto&&this.usingExternalCrypto||b.getType()===K.EventType.Reaction)return null;if(!this.crypto)throw new Error("This room is configured to use encryption, but your client does not support encryption.");return this.crypto.encryptEvent(b,P)}getEncryptedIfNeededEventType(b,P){return P===K.EventType.Reaction?P:this.isRoomEncrypted(b)?K.EventType.RoomMessageEncrypted:P}updatePendingEventStatus(b,P,U){b?b.updatePendingEvent(P,U):P.setStatus(U)}sendEventHttpRequest(b){let P=b.getTxnId();P||(P=this.makeTxnId(),b.setTxnId(P));const U={$roomId:b.getRoomId(),$eventType:b.getWireType(),$stateKey:b.getStateKey(),$txnId:P};let Q;if(b.isState()){let te="/rooms/$roomId/state/$eventType";b.getStateKey()&&b.getStateKey().length>0&&(te="/rooms/$roomId/state/$eventType/$stateKey"),Q=s.encodeUri(te,U)}else if(b.isRedaction()){const te="/rooms/$roomId/redact/$redactsEventId/$txnId";Q=s.encodeUri(te,de({$redactsEventId:b.event.redacts},U))}else Q=s.encodeUri("/rooms/$roomId/send/$eventType/$txnId",U);return this.http.authedRequest(c.Method.Put,Q,void 0,b.getWireContent()).then(te=>(d.logger.log(`Event sent to ${b.getRoomId()} with event id ${te.event_id}`),te))}redactEvent(b,P,U,Q,te){var ie,fe;(ie=U)!==null&&ie!==void 0&&ie.startsWith(Ne)||(te=Q,Q=U,U=P,P=null);const ge=(fe=te)===null||fe===void 0?void 0:fe.reason;return this.sendCompleteEvent(b,P,{type:K.EventType.RoomRedaction,content:{reason:ge},redacts:U},Q)}sendMessage(b,P,U,Q){typeof P!="string"&&P!==null&&(Q=U,U=P,P=null);let te=K.EventType.RoomMessage,ie=U;const fe=(_e={},be=!0)=>{let Ce;if(_e.msgtype===K.MsgType.Text?Ce=n.MessageEvent.from(_e.body,_e.formatted_body).serialize():_e.msgtype===K.MsgType.Emote?Ce=n.EmoteEvent.from(_e.body,_e.formatted_body).serialize():_e.msgtype===K.MsgType.Notice&&(Ce=n.NoticeEvent.from(_e.body,_e.formatted_body).serialize()),Ce&&_e["m.new_content"]&&be){const Be=fe(_e["m.new_content"],!1);Be&&(Ce.content["m.new_content"]=Be.content)}if(Ce)for(const[Be,Pe]of Object.entries(_e))Ce.content.hasOwnProperty(Be)||(Ce.content[Be]=Pe);return Ce},ge=fe(ie);return ge&&(te=ge.type,ie=ge.content),this.sendEvent(b,P,te,ie,Q)}sendTextMessage(b,P,U,Q){var te;!((te=P)!==null&&te!==void 0&&te.startsWith(Ne))&&P!==null&&(Q=U,U=P,P=null);const ie=x.makeTextMessage(U);return this.sendMessage(b,P,ie,Q)}sendNotice(b,P,U,Q){var te;!((te=P)!==null&&te!==void 0&&te.startsWith(Ne))&&P!==null&&(Q=U,U=P,P=null);const ie=x.makeNotice(U);return this.sendMessage(b,P,ie,Q)}sendEmoteMessage(b,P,U,Q){var te;!((te=P)!==null&&te!==void 0&&te.startsWith(Ne))&&P!==null&&(Q=U,U=P,P=null);const ie=x.makeEmoteMessage(U);return this.sendMessage(b,P,ie,Q)}sendImageMessage(b,P,U,Q,te="Image"){var ie;!((ie=P)!==null&&ie!==void 0&&ie.startsWith(Ne))&&P!==null&&(te=Q||"Image",Q=U,U=P,P=null);const fe={msgtype:K.MsgType.Image,url:U,info:Q,body:te};return this.sendMessage(b,P,fe)}sendStickerMessage(b,P,U,Q,te="Sticker"){var ie;!((ie=P)!==null&&ie!==void 0&&ie.startsWith(Ne))&&P!==null&&(te=Q||"Sticker",Q=U,U=P,P=null);const fe={url:U,info:Q,body:te};return this.sendEvent(b,P,K.EventType.Sticker,fe)}sendHtmlMessage(b,P,U,Q){var te;!((te=P)!==null&&te!==void 0&&te.startsWith(Ne))&&P!==null&&(Q=U,U=P,P=null);const ie=x.makeHtmlMessage(U,Q);return this.sendMessage(b,P,ie)}sendHtmlNotice(b,P,U,Q){var te;!((te=P)!==null&&te!==void 0&&te.startsWith(Ne))&&P!==null&&(Q=U,U=P,P=null);const ie=x.makeHtmlNotice(U,Q);return this.sendMessage(b,P,ie)}sendHtmlEmote(b,P,U,Q){var te;!((te=P)!==null&&te!==void 0&&te.startsWith(Ne))&&P!==null&&(Q=U,U=P,P=null);const ie=x.makeHtmlEmote(U,Q);return this.sendMessage(b,P,ie)}async sendReceipt(b,P,U,Q=!1){if(this.isGuest())return Promise.resolve({});const te=s.encodeUri("/rooms/$roomId/receipt/$receiptType/$eventId",{$roomId:b.getRoomId(),$receiptType:P,$eventId:b.getId()});if(this.canSupport.get(O.Feature.ThreadUnreadNotifications)!==O.ServerSupport.Unsupported&&!Q){const _e=!!b.threadRootId;U=de(de({},U),{},{thread_id:_e?b.threadRootId:T.MAIN_ROOM_TIMELINE})}const fe=this.http.authedRequest(c.Method.Post,te,void 0,U||{}),ge=this.getRoom(b.getRoomId());return ge&&this.credentials.userId&&ge.addLocalEchoReceipt(this.credentials.userId,b,P),fe}async sendReadReceipt(b,P=T.ReceiptType.Read,U=!1){if(!b)return;const Q=b.getId(),te=this.getRoom(b.getRoomId());if(te!=null&&te.hasPendingEvent(Q))throw new Error(`Cannot set read receipt to a pending event (${Q})`);return this.sendReceipt(b,P,{},U)}async setRoomReadMarkers(b,P,U,Q){const te=this.getRoom(b);if(te&&te.hasPendingEvent(P))throw new Error(`Cannot set read marker to a pending event (${P})`);let ie;if(U){if(ie=U.getId(),te!=null&&te.hasPendingEvent(ie))throw new Error(`Cannot set read receipt to a pending event (${ie})`);te==null||te.addLocalEchoReceipt(this.credentials.userId,U,T.ReceiptType.Read)}let fe;if(Q){if(fe=Q.getId(),te!=null&&te.hasPendingEvent(fe))throw new Error(`Cannot set read receipt to a pending event (${fe})`);te==null||te.addLocalEchoReceipt(this.credentials.userId,Q,T.ReceiptType.ReadPrivate)}return await this.setRoomReadMarkersHttpRequest(b,P,ie,fe)}getUrlPreview(b,P){P=Math.floor(P/6e4)*6e4;const U=new URL(b);U.hash="",b=U.toString();const Q=P+"_"+b,te=this.urlPreviewCache[Q];if(te)return te;const ie=this.http.authedRequest(c.Method.Get,"/preview_url",{url:b,ts:P.toString()},void 0,{prefix:c.MediaPrefix.R0});return this.urlPreviewCache[Q]=ie,ie}sendTyping(b,P,U){if(this.isGuest())return Promise.resolve({});const Q=s.encodeUri("/rooms/$roomId/typing/$userId",{$roomId:b,$userId:this.getUserId()}),te={typing:P};return P&&(te.timeout=U||2e4),this.http.authedRequest(c.Method.Put,Q,void 0,te)}getRoomUpgradeHistory(b,P=!1){let U=this.getRoom(b);if(!U)return[];const Q=[U];let te=U.currentState.getStateEvents(K.EventType.RoomCreate,"");for(;te;){const fe=te.getContent().predecessor;if(fe&&fe.room_id){const ge=this.getRoom(fe.room_id);if(!ge)break;if(P){const _e=ge.currentState.getStateEvents(K.EventType.RoomTombstone,"");if(!_e||_e.getContent().replacement_room!==ge.roomId)break}Q.splice(0,0,ge),te=ge.currentState.getStateEvents(K.EventType.RoomCreate,"")}else break}let ie=U.currentState.getStateEvents(K.EventType.RoomTombstone,"");for(;ie;){const fe=this.getRoom(ie.getContent().replacement_room);if(!fe||fe.roomId===U.roomId||P&&(te=fe.currentState.getStateEvents(K.EventType.RoomCreate,""),!te||!te.getContent().predecessor||te.getContent().predecessor.room_id!==U.roomId))break;if(Q.push(fe),new Set(Q.map(_e=>_e.roomId)).size<Q.length)return Q.slice(0,Q.length-1);U=fe,ie=U.currentState.getStateEvents(K.EventType.RoomTombstone,"")}return Q}invite(b,P,U){return this.membershipChange(b,P,"invite",U)}inviteByEmail(b,P){return this.inviteByThreePid(b,"email",P)}async inviteByThreePid(b,P,U){var Q;const te=s.encodeUri("/rooms/$roomId/invite",{$roomId:b}),ie=this.getIdentityServerUrl(!0);if(!ie)return Promise.reject(new c.MatrixError({error:"No supplied identity server URL",errcode:"ORG.MATRIX.JSSDK_MISSING_PARAM"}));const fe={id_server:ie,medium:P,address:U};if((Q=this.identityServer)!==null&&Q!==void 0&&Q.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const ge=await this.identityServer.getAccessToken();ge&&(fe.id_access_token=ge)}return this.http.authedRequest(c.Method.Post,te,void 0,fe)}leave(b){return this.membershipChange(b,void 0,"leave")}leaveRoomChain(b,P=!0){const U=this.getRoomUpgradeHistory(b);let Q=U;if(!P){Q=[];for(const ge of U)if(Q.push(ge),ge.roomId===b)break}const te={},ie=[],fe=ge=>this.leave(ge).then(()=>{delete te[ge]}).catch(_e=>{te[ge]=_e});for(const ge of Q)ie.push(fe(ge.roomId));return Promise.all(ie).then(()=>te)}ban(b,P,U){return this.membershipChange(b,P,"ban",U)}forget(b,P=!0){const U=this.membershipChange(b,void 0,"forget");return P?U.then(Q=>(this.store.removeRoom(b),this.emit(qe.DeleteRoom,b),Q)):U}unban(b,P){const U=s.encodeUri("/rooms/$roomId/unban",{$roomId:b}),Q={user_id:P};return this.http.authedRequest(c.Method.Post,U,void 0,Q)}kick(b,P,U){const Q=s.encodeUri("/rooms/$roomId/kick",{$roomId:b}),te={user_id:P,reason:U};return this.http.authedRequest(c.Method.Post,Q,void 0,te)}membershipChange(b,P,U,Q){const te=s.encodeUri("/rooms/$room_id/$membership",{$room_id:b,$membership:U});return this.http.authedRequest(c.Method.Post,te,void 0,{user_id:P,reason:Q})}getPushActionsForEvent(b,P=!1){return(!b.getPushActions()||P)&&b.setPushActions(this.pushProcessor.actionsForEvent(b)),b.getPushActions()}setProfileInfo(b,P){const U=s.encodeUri("/profile/$userId/$info",{$userId:this.credentials.userId,$info:b});return this.http.authedRequest(c.Method.Put,U,void 0,P)}async setDisplayName(b){const P=await this.setProfileInfo("displayname",{displayname:b}),U=this.getUser(this.getUserId());return U&&(U.displayName=b,U.emit(I.UserEvent.DisplayName,U.events.presence,U)),P}async setAvatarUrl(b){const P=await this.setProfileInfo("avatar_url",{avatar_url:b}),U=this.getUser(this.getUserId());return U&&(U.avatarUrl=b,U.emit(I.UserEvent.AvatarUrl,U.events.presence,U)),P}mxcUrlToHttp(b,P,U,Q,te){return(0,D.getHttpUriForMxc)(this.baseUrl,b,P,U,Q,te)}async setPresence(b){const P=s.encodeUri("/presence/$userId/status",{$userId:this.credentials.userId});if(["offline","online","unavailable"].indexOf(b.presence)===-1)throw new Error("Bad presence value: "+b.presence);await this.http.authedRequest(c.Method.Put,P,void 0,b)}getPresence(b){const P=s.encodeUri("/presence/$userId/status",{$userId:b});return this.http.authedRequest(c.Method.Get,P)}scrollback(b,P=30){let U=0,Q=this.ongoingScrollbacks[b.roomId]||{};if(Q.promise)return Q.promise;if(Q.errorTs){const fe=Date.now()-Q.errorTs;U=Math.max(ue-fe,0)}if(b.oldState.paginationToken===null)return Promise.resolve(b);const te=this.store.scrollback(b,P).length;if(te===P)return Promise.resolve(b);P=P-te;const ie=new Promise((fe,ge)=>{(0,s.sleep)(U).then(()=>this.createMessagesRequest(b.roomId,b.oldState.paginationToken,P,m.Direction.Backward)).then(_e=>{var be,Ce;const Be=_e.chunk.map(this.getEventMapper());if(_e.state){const Ve=_e.state.map(this.getEventMapper());b.currentState.setUnknownStateEvents(Ve)}const[Pe,Ee]=b.partitionThreadedEvents(Be);this.processBeaconEvents(b,Pe),b.addEventsToTimeline(Pe,!0,b.getLiveTimeline()),this.processThreadEvents(b,Ee,!0),b.oldState.paginationToken=(be=_e.end)!==null&&be!==void 0?be:null,_e.chunk.length===0&&(b.oldState.paginationToken=null),this.store.storeEvents(b,Be,(Ce=_e.end)!==null&&Ce!==void 0?Ce:null,!0),delete this.ongoingScrollbacks[b.roomId],fe(b)}).catch(_e=>{this.ongoingScrollbacks[b.roomId]={errorTs:Date.now()},ge(_e)})});return Q={promise:ie},this.ongoingScrollbacks[b.roomId]=Q,ie}getEventMapper(b){return(0,X.eventMapperFor)(this,b||{})}async getEventTimeline(b,P){var U,Q,te,ie;if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");if(!(b!=null&&b.room))throw new Error("getEventTimeline only supports room timelines");if(b.getTimelineForEvent(P))return b.getTimelineForEvent(P);if(b.thread&&this.supportsExperimentalThreads())return this.getThreadTimeline(b,P);const fe=s.encodeUri("/rooms/$roomId/context/$eventId",{$roomId:b.room.roomId,$eventId:P});let ge;(U=this.clientOpts)!==null&&U!==void 0&&U.lazyLoadMembers&&(ge={filter:JSON.stringify(u.Filter.LAZY_LOADING_MESSAGES_FILTER)});const _e=await this.http.authedRequest(c.Method.Get,fe,ge);if(!_e.event)throw new Error("'event' not in '/context' result - homeserver too old?");if(b.getTimelineForEvent(P))return b.getTimelineForEvent(P);const be=this.getEventMapper(),Ce=be(_e.event);if(Ce.isRelation(ne.THREAD_RELATION_TYPE.name)){d.logger.warn("Tried loading a regular timeline at the position of a thread event");return}const Be=[..._e.events_after.reverse().map(be),Ce,..._e.events_before.map(be)];let Pe=b.getTimelineForEvent(Be[0].getId());Pe?Pe.getState(m.EventTimeline.BACKWARDS).setUnknownStateEvents(_e.state.map(be)):(Pe=b.addTimeline(),Pe.initialiseState(_e.state.map(be)),Pe.getState(m.EventTimeline.FORWARDS).paginationToken=_e.end);const[Ee,Ve]=b.room.partitionThreadedEvents(Be);return b.addEventsToTimeline(Ee,!0,Pe,_e.start),this.processThreadEvents(b.room,Ve,!0),this.processBeaconEvents(b.room,Ee),(Q=(te=b.getTimelineForEvent(P))!==null&&te!==void 0?te:(ie=b.room.findThreadForEvent(Ce))===null||ie===void 0?void 0:ie.liveTimeline)!==null&&Q!==void 0?Q:Pe}async getThreadTimeline(b,P){var U;if(!this.supportsExperimentalThreads())throw new Error("could not get thread timeline: no client support");if(!b.room)throw new Error("could not get thread timeline: not a room timeline");if(!b.thread)throw new Error("could not get thread timeline: not a thread timeline");const Q=s.encodeUri("/rooms/$roomId/context/$eventId",{$roomId:b.room.roomId,$eventId:P}),te={limit:"0"};(U=this.clientOpts)!==null&&U!==void 0&&U.lazyLoadMembers&&(te.filter=JSON.stringify(u.Filter.LAZY_LOADING_MESSAGES_FILTER));const ie=await this.http.authedRequest(c.Method.Get,Q,te),fe=this.getEventMapper(),ge=fe(ie.event);if(b.canContain(ge)&&ne.Thread.hasServerSideSupport)if(ne.Thread.hasServerSideFwdPaginationSupport){var _e,be,Ce;if(!b.thread)throw new Error("could not get thread timeline: not a thread timeline");const ke=b.thread,De=await this.fetchRelations(b.room.roomId,ke.id,ne.THREAD_RELATION_TYPE.name,null,{dir:m.Direction.Backward,from:ie.start}),tt=await this.fetchRelations(b.room.roomId,ke.id,ne.THREAD_RELATION_TYPE.name,null,{dir:m.Direction.Forward,from:ie.end}),Ye=[...tt.chunk.reverse().map(fe),ge,...De.chunk.map(fe)];for(const ze of Ye){var Be;await((Be=b.thread)===null||Be===void 0?void 0:Be.processEvent(ze))}let Xe=b.getTimelineForEvent(ge.getId());if(Xe?Xe.getState(m.EventTimeline.BACKWARDS).setUnknownStateEvents(ie.state.map(fe)):(Xe=b.addTimeline(),Xe.initialiseState(ie.state.map(fe))),b.addEventsToTimeline(Ye,!0,Xe,tt.next_batch),!De.next_batch){const ze=await this.fetchRoomEvent(b.room.roomId,ke.id);b.addEventsToTimeline([fe(ze)],!0,Xe,null)}return Xe.setPaginationToken((_e=De.next_batch)!==null&&_e!==void 0?_e:null,m.Direction.Backward),Xe.setPaginationToken((be=tt.next_batch)!==null&&be!==void 0?be:null,m.Direction.Forward),this.processBeaconEvents(b.room,Ye),(Ce=b.getTimelineForEvent(P))!==null&&Ce!==void 0?Ce:Xe}else{var Pe;const ke=b.thread,De=await this.fetchRelations(b.room.roomId,ke.id,ne.THREAD_RELATION_TYPE.name,null,{dir:m.Direction.Backward,from:ie.start}),tt=[];let Ye=ie.end;for(;Ye;){var Ee;const vt=await this.fetchRelations(b.room.roomId,ke.id,ne.THREAD_RELATION_TYPE.name,null,{dir:m.Direction.Forward,from:Ye});Ye=(Ee=vt.next_batch)!==null&&Ee!==void 0?Ee:null,tt.push(...vt.chunk)}const Xe=[...tt.reverse().map(fe),ge,...De.chunk.map(fe)];for(const vt of Xe){var Ve;await((Ve=b.thread)===null||Ve===void 0?void 0:Ve.processEvent(vt))}const ze=b.getLiveTimeline();if(ze.getState(m.EventTimeline.BACKWARDS).setUnknownStateEvents(ie.state.map(fe)),b.addEventsToTimeline(Xe,!0,ze,null),!De.next_batch){const vt=await this.fetchRoomEvent(b.room.roomId,ke.id);b.addEventsToTimeline([fe(vt)],!0,ze,null)}return ze.setPaginationToken((Pe=De.next_batch)!==null&&Pe!==void 0?Pe:null,m.Direction.Backward),ze.setPaginationToken(null,m.Direction.Forward),this.processBeaconEvents(b.room,Xe),ze}}async getLatestTimeline(b){if(!this.timelineSupport)throw new Error("timeline support is disabled. Set the 'timelineSupport' parameter to true when creating MatrixClient to enable it.");if(!b.room)throw new Error("getLatestTimeline only supports room timelines");let P;if(b.threadListType!==null){var U;P=(U=(await this.createThreadListMessagesRequest(b.room.roomId,null,1,m.Direction.Backward,b.threadListType,b.getFilter())).chunk)===null||U===void 0?void 0:U[0]}else if(b.thread&&ne.Thread.hasServerSideSupport){var Q;P=(Q=(await this.fetchRelations(b.room.roomId,b.thread.id,ne.THREAD_RELATION_TYPE.name,null,{dir:m.Direction.Backward,limit:1})).chunk)===null||Q===void 0?void 0:Q[0]}else{var te,ie;const fe=s.encodeUri("/rooms/$roomId/messages",{$roomId:b.room.roomId}),ge={dir:"b"};(te=this.clientOpts)!==null&&te!==void 0&&te.lazyLoadMembers&&(ge.filter=JSON.stringify(u.Filter.LAZY_LOADING_MESSAGES_FILTER)),P=(ie=(await this.http.authedRequest(c.Method.Get,fe,ge)).chunk)===null||ie===void 0?void 0:ie[0]}if(!P)throw new Error("No message returned when trying to construct getLatestTimeline");return this.getEventTimeline(b,P.event_id)}createMessagesRequest(b,P,U=30,Q,te){var ie;const fe=s.encodeUri("/rooms/$roomId/messages",{$roomId:b}),ge={limit:U.toString(),dir:Q};P&&(ge.from=P);let _e=null;if((ie=this.clientOpts)!==null&&ie!==void 0&&ie.lazyLoadMembers&&(_e=Object.assign({},u.Filter.LAZY_LOADING_MESSAGES_FILTER)),te){var be;_e=_e||{},Object.assign(_e,(be=te.getRoomTimelineFilterComponent())===null||be===void 0?void 0:be.toJSON())}return _e&&(ge.filter=JSON.stringify(_e)),this.http.authedRequest(c.Method.Get,fe,ge)}createThreadListMessagesRequest(b,P,U=30,Q=m.Direction.Backward,te=ne.ThreadFilterType.All,ie){var fe;const ge=s.encodeUri("/rooms/$roomId/threads",{$roomId:b}),_e={limit:U.toString(),dir:Q,include:(0,ne.threadFilterTypeToFilter)(te)};P&&(_e.from=P);let be={};if((fe=this.clientOpts)!==null&&fe!==void 0&&fe.lazyLoadMembers&&(be=de({},u.Filter.LAZY_LOADING_MESSAGES_FILTER)),ie){var Ce;be=de(de({},be),(Ce=ie.getRoomTimelineFilterComponent())===null||Ce===void 0?void 0:Ce.toJSON())}Object.keys(be).length&&(_e.filter=JSON.stringify(be));const Be={prefix:ne.Thread.hasServerSideListSupport===ne.FeatureSupport.Stable?"/_matrix/client/v1":"/_matrix/client/unstable/org.matrix.msc3856"};return this.http.authedRequest(c.Method.Get,ge,_e,void 0,Be).then(Pe=>{var Ee;return de(de({},Pe),{},{chunk:(Ee=Pe.chunk)===null||Ee===void 0?void 0:Ee.reverse(),start:Pe.prev_batch,end:Pe.next_batch})})}paginateEventTimeline(b,P){const U=b.getTimelineSet()===this.notifTimelineSet,Q=this.getRoom(b.getRoomId()),te=b.getTimelineSet().threadListType,ie=b.getTimelineSet().thread;P=P||{};const fe=P.backwards||!1;if(U&&!fe)throw new Error("paginateNotifTimeline can only paginate backwards");const ge=fe?m.EventTimeline.BACKWARDS:m.EventTimeline.FORWARDS,_e=b.getPaginationToken(ge),be=b.paginationRequests[ge];if(be)return be;let Ce,Be,Pe;if(U){var Ee;Ce="/notifications",Be={limit:((Ee=P.limit)!==null&&Ee!==void 0?Ee:30).toString(),only:"highlight"},_e&&_e!=="end"&&(Be.from=_e),Pe=this.http.authedRequest(c.Method.Get,Ce,Be).then(async De=>{const tt=De.next_token,Ye=[];for(let ze=0;ze<De.notifications.length;ze++){const vt=De.notifications[ze],ar=this.getEventMapper()(vt.event);ar.setPushActions(g.PushProcessor.actionListToActionsObject(vt.actions)),ar.event.room_id=vt.room_id,Ye[ze]=ar}const Xe=b.getTimelineSet();return Xe.addEventsToTimeline(Ye,fe,b,tt),this.processBeaconEvents(Xe.room,Ye),fe&&!De.next_token&&b.setPaginationToken(null,ge),Boolean(De.next_token)}).finally(()=>{b.paginationRequests[ge]=null}),b.paginationRequests[ge]=Pe}else if(te!==null){if(!Q)throw new Error("Unknown room "+b.getRoomId());if(!ne.Thread.hasServerSideFwdPaginationSupport&&ge===m.Direction.Forward)throw new Error("Cannot paginate threads forwards without server-side support for MSC 3715");Pe=this.createThreadListMessagesRequest(b.getRoomId(),_e,P.limit,ge,te,b.getFilter()).then(De=>{if(De.state){const ze=b.getState(ge),vt=De.state.map(this.getEventMapper());ze.setUnknownStateEvents(vt)}const tt=De.end,Ye=De.chunk.map(this.getEventMapper());return b.getTimelineSet().addEventsToTimeline(Ye,fe,b,tt),this.processBeaconEvents(Q,Ye),this.processThreadRoots(Q,Ye,fe),fe&&De.end==De.start&&b.setPaginationToken(null,ge),De.end!==De.start}).finally(()=>{b.paginationRequests[ge]=null}),b.paginationRequests[ge]=Pe}else if(ie){var Ve,ke;const De=this.getRoom((Ve=b.getRoomId())!==null&&Ve!==void 0?Ve:void 0);if(!De)throw new Error("Unknown room "+b.getRoomId());Pe=this.fetchRelations((ke=b.getRoomId())!==null&&ke!==void 0?ke:"",ie.id,ne.THREAD_RELATION_TYPE.name,null,{dir:ge,limit:P.limit,from:_e??void 0}).then(async tt=>{const Ye=this.getEventMapper(),Xe=tt.chunk.map(Ye);for(const V of Xe.slice().reverse()){await(ie==null?void 0:ie.processEvent(V));const Z=V.getSender();(!fe||(ie==null?void 0:ie.getEventReadUpTo(Z))===null)&&De.addLocalEchoReceipt(Z,V,T.ReceiptType.Read)}const ze=tt.next_batch,vt=b.getTimelineSet();if(vt.addEventsToTimeline(Xe,fe,b,ze??null),!ze&&fe){var ar;const V=await this.fetchRoomEvent((ar=b.getRoomId())!==null&&ar!==void 0?ar:"",ie.id);vt.addEventsToTimeline([Ye(V)],!0,b,null)}return this.processBeaconEvents(vt.room,Xe),fe&&!ze&&b.setPaginationToken(null,ge),Boolean(ze)}).finally(()=>{b.paginationRequests[ge]=null}),b.paginationRequests[ge]=Pe}else{if(!Q)throw new Error("Unknown room "+b.getRoomId());Pe=this.createMessagesRequest(b.getRoomId(),_e,P.limit,ge,b.getFilter()).then(De=>{if(De.state){const ar=b.getState(ge),V=De.state.map(this.getEventMapper());ar.setUnknownStateEvents(V)}const tt=De.end,Ye=De.chunk.map(this.getEventMapper()),Xe=b.getTimelineSet(),[ze]=Q.partitionThreadedEvents(Ye);Xe.addEventsToTimeline(ze,fe,b,tt),this.processBeaconEvents(Q,ze),this.processThreadRoots(Q,ze.filter(ar=>ar.getServerAggregatedRelation(ne.THREAD_RELATION_TYPE.name)),!1);const vt=De.end===void 0||De.end===De.start;return fe&&vt&&b.setPaginationToken(null,ge),!vt}).finally(()=>{b.paginationRequests[ge]=null}),b.paginationRequests[ge]=Pe}return Pe}resetNotifTimelineSet(){this.notifTimelineSet&&this.notifTimelineSet.resetLiveTimeline("end")}peekInRoom(b){var P;return(P=this.peekSync)===null||P===void 0||P.stopPeeking(),this.peekSync=new i.SyncApi(this,this.clientOpts),this.peekSync.peek(b)}stopPeeking(){this.peekSync&&(this.peekSync.stopPeeking(),this.peekSync=null)}setGuestAccess(b,P){const U=this.sendStateEvent(b,K.EventType.RoomGuestAccess,{guest_access:P.allowJoin?"can_join":"forbidden"},"");let Q=Promise.resolve(void 0);return P.allowRead&&(Q=this.sendStateEvent(b,K.EventType.RoomHistoryVisibility,{history_visibility:"world_readable"},"")),Promise.all([Q,U]).then()}requestRegisterEmailToken(b,P,U,Q){return this.requestTokenFromEndpoint("/register/email/requestToken",{email:b,client_secret:P,send_attempt:U,next_link:Q})}requestRegisterMsisdnToken(b,P,U,Q,te){return this.requestTokenFromEndpoint("/register/msisdn/requestToken",{country:b,phone_number:P,client_secret:U,send_attempt:Q,next_link:te})}requestAdd3pidEmailToken(b,P,U,Q){return this.requestTokenFromEndpoint("/account/3pid/email/requestToken",{email:b,client_secret:P,send_attempt:U,next_link:Q})}requestAdd3pidMsisdnToken(b,P,U,Q,te){return this.requestTokenFromEndpoint("/account/3pid/msisdn/requestToken",{country:b,phone_number:P,client_secret:U,send_attempt:Q,next_link:te})}requestPasswordEmailToken(b,P,U,Q){return this.requestTokenFromEndpoint("/account/password/email/requestToken",{email:b,client_secret:P,send_attempt:U,next_link:Q})}requestPasswordMsisdnToken(b,P,U,Q,te){return this.requestTokenFromEndpoint("/account/password/msisdn/requestToken",{country:b,phone_number:P,client_secret:U,send_attempt:Q,next_link:te})}async requestTokenFromEndpoint(b,P){const U=Object.assign({},P);if(!await this.doesServerSupportSeparateAddAndBind()&&this.idBaseUrl){var Q;const te=new URL(this.idBaseUrl);if(U.id_server=te.host,(Q=this.identityServer)!==null&&Q!==void 0&&Q.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const ie=await this.identityServer.getAccessToken();ie&&(U.id_access_token=ie)}}return this.http.request(c.Method.Post,b,void 0,U)}getRoomPushRule(b,P){if(this.pushRules){var U,Q;return(U=this.pushRules[b])===null||U===void 0||(Q=U.room)===null||Q===void 0?void 0:Q.find(te=>te.rule_id===P)}else throw new Error("SyncApi.sync() must be done before accessing to push rules.")}setRoomMutePushRule(b,P,U){let Q,te=!1;const ie=this.getRoomPushRule(b,P);if(ie!=null&&ie.actions.includes(k.PushRuleActionName.DontNotify)&&(te=!0),!U)te&&(Q=this.deletePushRule(b,k.PushRuleKind.RoomSpecific,ie.rule_id));else if(!ie)Q=this.addPushRule(b,k.PushRuleKind.RoomSpecific,P,{actions:[k.PushRuleActionName.DontNotify]});else if(!te){const fe=s.defer();this.deletePushRule(b,k.PushRuleKind.RoomSpecific,ie.rule_id).then(()=>{this.addPushRule(b,k.PushRuleKind.RoomSpecific,P,{actions:[k.PushRuleActionName.DontNotify]}).then(()=>{fe.resolve()}).catch(ge=>{fe.reject(ge)})}).catch(ge=>{fe.reject(ge)}),Q=fe.promise}if(Q)return new Promise((fe,ge)=>{Q.then(()=>{this.getPushRules().then(_e=>{this.pushRules=_e,fe()}).catch(_e=>{ge(_e)})}).catch(_e=>{this.getPushRules().then(be=>{this.pushRules=be,ge(_e)}).catch(be=>{ge(_e)})})})}searchMessageText(b){const P={search_term:b.query};return"keys"in b&&(P.keys=b.keys),this.search({body:{search_categories:{room_events:P}}})}searchRoomEvents(b){const P={search_categories:{room_events:{search_term:b.term,filter:b.filter,order_by:R.SearchOrderBy.Recent,event_context:{before_limit:1,after_limit:1,include_profile:!0}}}},U={_query:P,results:[],highlights:[]};return this.search({body:P}).then(Q=>this.processRoomEventsSearch(U,Q))}backPaginateRoomEventsSearch(b){if(!b.next_batch)return Promise.reject(new Error("Cannot backpaginate event search any further"));if(b.pendingRequest)return b.pendingRequest;const P={body:b._query,next_batch:b.next_batch},U=this.search(P,b.abortSignal).then(Q=>this.processRoomEventsSearch(b,Q)).finally(()=>{b.pendingRequest=void 0});return b.pendingRequest=U,U}processRoomEventsSearch(b,P){var U,Q;const te=P.search_categories.room_events;b.count=te.count,b.next_batch=te.next_batch;const ie=new Set(te.highlights);b.highlights.forEach(_e=>{ie.add(_e)}),b.highlights=Array.from(ie);const fe=this.getEventMapper(),ge=(U=(Q=te.results)===null||Q===void 0?void 0:Q.length)!==null&&U!==void 0?U:0;for(let _e=0;_e<ge;_e++){const be=A.SearchResult.fromJson(te.results[_e],fe),Ce=this.getRoom(be.context.getEvent().getRoomId());if(Ce)for(const Be of be.context.getTimeline()){const Pe=Ce.getMember(Be.getSender());!Be.sender&&Pe&&(Be.sender=Pe)}b.results.push(be)}return b}syncLeftRooms(){if(this.syncedLeftRooms)return Promise.resolve([]);if(this.syncLeftRoomsPromise)return this.syncLeftRoomsPromise;const b=new i.SyncApi(this,this.clientOpts);return this.syncLeftRoomsPromise=b.syncLeftRooms(),this.syncLeftRoomsPromise.then(()=>{d.logger.log("Marking success of sync left room request"),this.syncedLeftRooms=!0}).finally(()=>{this.syncLeftRoomsPromise=void 0}),this.syncLeftRoomsPromise}createFilter(b){const P=s.encodeUri("/user/$userId/filter",{$userId:this.credentials.userId});return this.http.authedRequest(c.Method.Post,P,void 0,b).then(U=>{const Q=u.Filter.fromJson(this.credentials.userId,U.filter_id,b);return this.store.storeFilter(Q),Q})}getFilter(b,P,U){if(U){const te=this.store.getFilter(b,P);if(te)return Promise.resolve(te)}const Q=s.encodeUri("/user/$userId/filter/$filterId",{$userId:b,$filterId:P});return this.http.authedRequest(c.Method.Get,Q).then(te=>{const ie=u.Filter.fromJson(b,P,te);return this.store.storeFilter(ie),ie})}async getOrCreateFilter(b,P){const U=this.store.getFilterIdByName(b);let Q;if(U){try{const ie=await this.getFilter(this.credentials.userId,U,!0);if(ie){const fe=ie.getDefinition(),ge=P.getDefinition();s.deepCompare(fe,ge)&&(Q=U)}}catch(ie){if(ie.errcode!=="M_UNKNOWN"&&ie.errcode!=="M_NOT_FOUND")throw ie}Q||this.store.setFilterIdByName(b,void 0)}if(Q)return Q;const te=await this.createFilter(P.getDefinition());return this.store.setFilterIdByName(b,te.filterId),te.filterId}getOpenIdToken(){const b=s.encodeUri("/user/$userId/openid/request_token",{$userId:this.credentials.userId});return this.http.authedRequest(c.Method.Post,b,void 0,{})}turnServer(){return this.http.authedRequest(c.Method.Get,"/voip/turnServer")}getTurnServers(){return this.turnServers||[]}getTurnServersExpiry(){return this.turnServersExpiry}get pollingTurnServers(){return this.checkTurnServersIntervalID!==void 0}async checkTurnServers(){if(!this.canSupportVoip)return;let b=!1;const P=this.turnServersExpiry-Date.now();if(P>he)d.logger.debug("TURN creds are valid for another "+P+" ms: not fetching new ones."),b=!0;else{d.logger.debug("Fetching new TURN credentials");try{const U=await this.turnServer();if(U.uris){d.logger.log("Got TURN URIs: "+U.uris+" refresh in "+U.ttl+" secs");const Q={urls:U.uris,username:U.username,credential:U.password};this.turnServers=[Q],this.turnServersExpiry=Date.now()+U.ttl*1e3,b=!0,this.emit(qe.TurnServers,this.turnServers)}}catch(U){d.logger.error("Failed to get TURN URIs",U),U.httpStatus===403?(d.logger.info("TURN access unavailable for this account: stopping credentials checks"),this.checkTurnServersIntervalID!==null&&$e.clearInterval(this.checkTurnServersIntervalID),this.checkTurnServersIntervalID=void 0,this.emit(qe.TurnServersError,U,!0)):this.emit(qe.TurnServersError,U,!1)}}return b}setFallbackICEServerAllowed(b){this.fallbackICEServerAllowed=b}isFallbackICEServerAllowed(){return this.fallbackICEServerAllowed}isSynapseAdministrator(){const b=s.encodeUri("/_synapse/admin/v1/users/$userId/admin",{$userId:this.getUserId()});return this.http.authedRequest(c.Method.Get,b,void 0,void 0,{prefix:""}).then(P=>P.admin)}whoisSynapseUser(b){const P=s.encodeUri("/_synapse/admin/v1/whois/$userId",{$userId:b});return this.http.authedRequest(c.Method.Get,P,void 0,void 0,{prefix:""})}deactivateSynapseUser(b){const P=s.encodeUri("/_synapse/admin/v1/deactivate/$userId",{$userId:b});return this.http.authedRequest(c.Method.Post,P,void 0,void 0,{prefix:""})}async fetchClientWellKnown(){var b;this.clientWellKnownPromise=S.AutoDiscovery.getRawClientConfig((b=this.getDomain())!==null&&b!==void 0?b:void 0),this.clientWellKnown=await this.clientWellKnownPromise,this.emit(qe.ClientWellKnown,this.clientWellKnown)}getClientWellKnown(){return this.clientWellKnown}waitForClientWellKnown(){if(!this.clientRunning)throw new Error("Client is not running");return this.clientWellKnownPromise}storeClientOptions(){const b=["boolean","string","number"],P=Object.entries(this.clientOpts).filter(([U,Q])=>b.includes(typeof Q)).reduce((U,[Q,te])=>(U[Q]=te,U),{});return this.store.storeClientOptions(P)}async _unstable_getSharedRooms(b){const P=await this.doesServerSupportUnstableFeature("uk.half-shot.msc2666"),U=await this.doesServerSupportUnstableFeature("uk.half-shot.msc2666.mutual_rooms");if(!P&&!U)throw Error("Server does not support mutual_rooms API");const Q=s.encodeUri(`/uk.half-shot.msc2666/user/${U?"mutual_rooms":"shared_rooms"}/$userId`,{$userId:b});return(await this.http.authedRequest(c.Method.Get,Q,void 0,void 0,{prefix:c.ClientPrefix.Unstable})).joined}async getVersions(){if(this.serverVersionsPromise)return this.serverVersionsPromise;this.serverVersionsPromise=this.http.request(c.Method.Get,"/_matrix/client/versions",void 0,void 0,{prefix:""}).catch(U=>{throw this.serverVersionsPromise=void 0,U});const b=await this.serverVersionsPromise;this.canSupport=await(0,O.buildFeatureSupportMap)(b);const P=this.canSupport.get(O.Feature.ThreadUnreadNotifications);return M.UNREAD_THREAD_NOTIFICATIONS.setPreferUnstable(P===O.ServerSupport.Unstable),this.serverVersionsPromise}async isVersionSupported(b){const{versions:P}=await this.getVersions();return P&&P.includes(b)}async doesServerSupportLazyLoading(){const b=await this.getVersions();if(!b)return!1;const P=b.versions,U=b.unstable_features;return P&&P.includes("r0.5.0")||U&&U["m.lazy_load_members"]}async doesServerRequireIdServerParam(){const b=await this.getVersions();if(!b)return!0;const P=b.versions;if(P&&P.includes("r0.6.0"))return!1;const U=b.unstable_features;return!U||U["m.require_identity_server"]===void 0?!0:U["m.require_identity_server"]}async doesServerAcceptIdentityAccessToken(){const b=await this.getVersions();if(!b)return!1;const P=b.versions,U=b.unstable_features;return P&&P.includes("r0.6.0")||U&&U["m.id_access_token"]}async doesServerSupportSeparateAddAndBind(){const b=await this.getVersions();if(!b)return!1;const P=b.versions,U=b.unstable_features;return(P==null?void 0:P.includes("r0.6.0"))||(U==null?void 0:U["m.separate_add_and_bind"])}async doesServerSupportUnstableFeature(b){const P=await this.getVersions();if(!P)return!1;const U=P.unstable_features;return U&&!!U[b]}async doesServerForceEncryptionForPreset(b){const P=await this.getVersions();if(!P)return!1;const U=P.unstable_features,Q=b.includes("_chat")?b.substring(0,b.indexOf("_chat")):b;return U&&!!U[`io.element.e2ee_forced.${Q}`]}async doesServerSupportThread(){if(await this.isVersionSupported("v1.4"))return{threads:ne.FeatureSupport.Stable,list:ne.FeatureSupport.Stable,fwdPagination:ne.FeatureSupport.Stable};try{const[b,P,U,Q,te,ie]=await Promise.all([this.doesServerSupportUnstableFeature("org.matrix.msc3440"),this.doesServerSupportUnstableFeature("org.matrix.msc3440.stable"),this.doesServerSupportUnstableFeature("org.matrix.msc3856"),this.doesServerSupportUnstableFeature("org.matrix.msc3856.stable"),this.doesServerSupportUnstableFeature("org.matrix.msc3715"),this.doesServerSupportUnstableFeature("org.matrix.msc3715.stable")]);return{threads:(0,ne.determineFeatureSupport)(P,b),list:(0,ne.determineFeatureSupport)(Q,U),fwdPagination:(0,ne.determineFeatureSupport)(ie,te)}}catch{return{threads:ne.FeatureSupport.None,list:ne.FeatureSupport.None,fwdPagination:ne.FeatureSupport.None}}}doesServerSupportLogoutDevices(){return this.isVersionSupported("r0.6.1")}hasLazyLoadMembersEnabled(){var b;return!!((b=this.clientOpts)!==null&&b!==void 0&&b.lazyLoadMembers)}setCanResetTimelineCallback(b){this.canResetTimelineCallback=b}getCanResetTimelineCallback(){return this.canResetTimelineCallback}async relations(b,P,U,Q,te={dir:m.Direction.Backward}){var ie,fe;const ge=Q?this.getEncryptedIfNeededEventType(b,Q):null,[_e,be]=await Promise.all([this.fetchRoomEvent(b,P),this.fetchRelations(b,P,U,ge,te)]),Ce=this.getEventMapper(),Be=_e?Ce(_e):void 0;let Pe=be.chunk.map(Ce);if(ge===K.EventType.RoomMessageEncrypted){const Ee=Be?Pe.concat(Be):Pe;await Promise.all(Ee.map(Ve=>this.decryptEventIfNeeded(Ve))),Q!==null&&(Pe=Pe.filter(Ve=>Ve.getType()===Q))}return Be&&U===K.RelationType.Replace&&(Pe=Pe.filter(Ee=>Ee.getSender()===Be.getSender())),{originalEvent:Be??null,events:Pe,nextBatch:(ie=be.next_batch)!==null&&ie!==void 0?ie:null,prevBatch:(fe=be.prev_batch)!==null&&fe!==void 0?fe:null}}getCrossSigningCacheCallbacks(){var b;return(b=this.crypto)===null||b===void 0?void 0:b.crossSigningInfo.getCacheCallbacks()}generateClientSecret(){return(0,G.randomString)(32)}decryptEventIfNeeded(b,P){return b.shouldAttemptDecryption()&&this.isCryptoEnabled()&&b.attemptDecryption(this.cryptoBackend,P),b.isBeingDecrypted()?b.getDecryptionPromise():Promise.resolve()}termsUrlForService(b,P){switch(b){case l.SERVICE_TYPES.IS:return this.http.getUrl("/terms",void 0,c.IdentityPrefix.V2,P);case l.SERVICE_TYPES.IM:return this.http.getUrl("/terms",void 0,"/_matrix/integrations/v1",P);default:throw new Error("Unsupported service type")}}getHomeserverUrl(){return this.baseUrl}getIdentityServerUrl(b=!1){var P,U;return b&&((P=this.idBaseUrl)!==null&&P!==void 0&&P.startsWith("http://")||(U=this.idBaseUrl)!==null&&U!==void 0&&U.startsWith("https://"))?this.idBaseUrl.split("://")[1]:this.idBaseUrl}setIdentityServerUrl(b){this.idBaseUrl=s.ensureNoTrailingSlash(b),this.http.setIdBaseUrl(this.idBaseUrl)}getAccessToken(){return this.http.opts.accessToken||null}setAccessToken(b){this.http.opts.accessToken=b}isLoggedIn(){return this.http.opts.accessToken!==void 0}makeTxnId(){return"m"+new Date().getTime()+"."+this.txnCtr++}isUsernameAvailable(b){return this.http.authedRequest(c.Method.Get,"/register/available",{username:b}).then(P=>P.available).catch(P=>P.errcode==="M_USER_IN_USE"?!1:Promise.reject(P))}register(b,P,U,Q,te,ie,fe){te===!0?te={email:!0}:(te==null||te===!1)&&(te={}),U&&(Q.session=U);const ge={auth:Q,refresh_token:!0};return b!=null&&(ge.username=b),P!=null&&(ge.password=P),te.email&&(ge.bind_email=!0),te.msisdn&&(ge.bind_msisdn=!0),ie!=null&&(ge.guest_access_token=ie),fe!=null&&(ge.inhibit_login=fe),P!=null&&(ge.x_show_msisdn=!0),this.registerRequest(ge)}registerGuest({body:b}={}){return this.registerRequest(b||{},"guest")}registerRequest(b,P){const U={};return P&&(U.kind=P),this.http.request(c.Method.Post,"/register",U,b)}refreshToken(b){return this.http.authedRequest(c.Method.Post,"/refresh",void 0,{refresh_token:b},{prefix:c.ClientPrefix.V1,inhibitLogoutEmit:!0})}loginFlows(){return this.http.request(c.Method.Get,"/login")}login(b,P){const U={type:b};return Object.assign(U,P),this.http.authedRequest(c.Method.Post,"/login",void 0,U).then(Q=>(Q.access_token&&Q.user_id&&(this.http.opts.accessToken=Q.access_token,this.credentials={userId:Q.user_id}),Q))}loginWithPassword(b,P){return this.login("m.login.password",{user:b,password:P})}loginWithSAML2(b){return this.login("m.login.saml2",{relay_state:b})}getCasLoginUrl(b){return this.getSsoLoginUrl(b,"cas")}getSsoLoginUrl(b,P="sso",U,Q){let te="/login/"+P+"/redirect";U&&(te+="/"+U);const ie={redirectUrl:b,[Fe.unstable]:Q};return this.http.getUrl(te,ie,c.ClientPrefix.R0).href}loginWithToken(b){return this.login("m.login.token",{token:b})}async logout(b=!1){var P,U;if((P=this.crypto)!==null&&P!==void 0&&(U=P.backupManager)!==null&&U!==void 0&&U.getKeyBackupEnabled())try{for(;await this.crypto.backupManager.backupPendingKeys(200)>0;);}catch(Q){d.logger.error("Key backup request failed when logging out. Some keys may be missing from backup",Q)}return b&&(this.stopClient(),this.http.abort()),this.http.authedRequest(c.Method.Post,"/logout")}deactivateAccount(b,P){const U={};return b&&(U.auth=b),P!==void 0&&(U.erase=P),this.http.authedRequest(c.Method.Post,"/account/deactivate",void 0,U)}requestLoginToken(b){const P={auth:b};return this.http.authedRequest(c.Method.Post,"/org.matrix.msc3882/login/token",void 0,P,{prefix:c.ClientPrefix.Unstable})}getFallbackAuthUrl(b,P){const U=s.encodeUri("/auth/$loginType/fallback/web",{$loginType:b});return this.http.getUrl(U,{session:P},c.ClientPrefix.R0).href}async createRoom(b){var P;const U=(b.invite_3pid||[]).filter(Q=>!Q.id_access_token);if(U.length>0&&(P=this.identityServer)!==null&&P!==void 0&&P.getAccessToken&&await this.doesServerAcceptIdentityAccessToken()){const Q=await this.identityServer.getAccessToken();if(Q)for(const te of U)te.id_access_token=Q}return this.http.authedRequest(c.Method.Post,"/createRoom",void 0,b)}fetchRelations(b,P,U,Q,te={dir:m.Direction.Backward}){let ie=te;ne.Thread.hasServerSideFwdPaginationSupport===ne.FeatureSupport.Experimental&&(ie=(0,s.replaceParam)("dir","org.matrix.msc3715.dir",ie));const fe=s.encodeParams(ie);let ge="/rooms/$roomId/relations/$eventId";U!==null?(ge+="/$relationType",Q!==null&&(ge+="/$eventType")):Q!==null&&(d.logger.warn(`eventType: ${Q} ignored when fetching + relations as relationType is null`),Q=null);const _e=s.encodeUri(ge+"?"+fe,{$roomId:b,$eventId:P,$relationType:U,$eventType:Q});return this.http.authedRequest(c.Method.Get,_e,void 0,void 0,{prefix:c.ClientPrefix.V1})}roomState(b){const P=s.encodeUri("/rooms/$roomId/state",{$roomId:b});return this.http.authedRequest(c.Method.Get,P)}fetchRoomEvent(b,P){const U=s.encodeUri("/rooms/$roomId/event/$eventId",{$roomId:b,$eventId:P});return this.http.authedRequest(c.Method.Get,U)}members(b,P,U,Q){const te={};P&&(te.membership=P),U&&(te.not_membership=U),Q&&(te.at=Q);const ie=s.encodeParams(te),fe=s.encodeUri("/rooms/$roomId/members?"+ie,{$roomId:b});return this.http.authedRequest(c.Method.Get,fe)}upgradeRoom(b,P){const U=s.encodeUri("/rooms/$roomId/upgrade",{$roomId:b});return this.http.authedRequest(c.Method.Post,U,void 0,{new_version:P})}getStateEvent(b,P,U){const Q={$roomId:b,$eventType:P,$stateKey:U};let te=s.encodeUri("/rooms/$roomId/state/$eventType",Q);return U!==void 0&&(te=s.encodeUri(te+"/$stateKey",Q)),this.http.authedRequest(c.Method.Get,te)}sendStateEvent(b,P,U,Q="",te={}){const ie={$roomId:b,$eventType:P,$stateKey:Q};let fe=s.encodeUri("/rooms/$roomId/state/$eventType",ie);return Q!==void 0&&(fe=s.encodeUri(fe+"/$stateKey",ie)),this.http.authedRequest(c.Method.Put,fe,void 0,U,te)}roomInitialSync(b,P){var U;const Q=s.encodeUri("/rooms/$roomId/initialSync",{$roomId:b});return this.http.authedRequest(c.Method.Get,Q,{limit:(U=P==null?void 0:P.toString())!==null&&U!==void 0?U:"30"})}async setRoomReadMarkersHttpRequest(b,P,U,Q){const te=s.encodeUri("/rooms/$roomId/read_markers",{$roomId:b}),ie={[T.ReceiptType.FullyRead]:P,[T.ReceiptType.Read]:U};return(await this.doesServerSupportUnstableFeature("org.matrix.msc2285.stable")||await this.isVersionSupported("v1.4"))&&(ie[T.ReceiptType.ReadPrivate]=Q),this.http.authedRequest(c.Method.Post,te,void 0,ie)}getJoinedRooms(){const b=s.encodeUri("/joined_rooms",{});return this.http.authedRequest(c.Method.Get,b)}getJoinedRoomMembers(b){const P=s.encodeUri("/rooms/$roomId/joined_members",{$roomId:b});return this.http.authedRequest(c.Method.Get,P)}publicRooms(b={}){let{server:P,limit:U,since:Q}=b,te=(0,t.default)(b,z);const ie={server:P,limit:U,since:Q};return Object.keys(te).length===0?this.http.authedRequest(c.Method.Get,"/publicRooms",ie):this.http.authedRequest(c.Method.Post,"/publicRooms",ie,te)}createAlias(b,P){const U=s.encodeUri("/directory/room/$alias",{$alias:b}),Q={room_id:P};return this.http.authedRequest(c.Method.Put,U,void 0,Q)}deleteAlias(b){const P=s.encodeUri("/directory/room/$alias",{$alias:b});return this.http.authedRequest(c.Method.Delete,P)}getLocalAliases(b){const P=s.encodeUri("/rooms/$roomId/aliases",{$roomId:b}),U=c.ClientPrefix.V3;return this.http.authedRequest(c.Method.Get,P,void 0,void 0,{prefix:U})}getRoomIdForAlias(b){const P=s.encodeUri("/directory/room/$alias",{$alias:b});return this.http.authedRequest(c.Method.Get,P)}resolveRoomAlias(b){const P=s.encodeUri("/directory/room/$alias",{$alias:b});return this.http.request(c.Method.Get,P)}getRoomDirectoryVisibility(b){const P=s.encodeUri("/directory/list/room/$roomId",{$roomId:b});return this.http.authedRequest(c.Method.Get,P)}setRoomDirectoryVisibility(b,P){const U=s.encodeUri("/directory/list/room/$roomId",{$roomId:b});return this.http.authedRequest(c.Method.Put,U,void 0,{visibility:P})}setRoomDirectoryVisibilityAppService(b,P,U){const Q=s.encodeUri("/directory/list/appservice/$networkId/$roomId",{$networkId:b,$roomId:P});return this.http.authedRequest(c.Method.Put,Q,void 0,{visibility:U})}searchUserDirectory({term:b,limit:P}){const U={search_term:b};return P!==void 0&&(U.limit=P),this.http.authedRequest(c.Method.Post,"/user_directory/search",void 0,U)}uploadContent(b,P){return this.http.uploadContent(b,P)}cancelUpload(b){return this.http.cancelUpload(b)}getCurrentUploads(){return this.http.getCurrentUploads()}getProfileInfo(b,P){const U=P?s.encodeUri("/profile/$userId/$info",{$userId:b,$info:P}):s.encodeUri("/profile/$userId",{$userId:b});return this.http.authedRequest(c.Method.Get,U)}getThreePids(){return this.http.authedRequest(c.Method.Get,"/account/3pid")}addThreePid(b,P){const U="/account/3pid",Q={threePidCreds:b,bind:P};return this.http.authedRequest(c.Method.Post,U,void 0,Q)}async addThreePidOnly(b){const P="/account/3pid/add",U=await this.isVersionSupported("r0.6.0")?c.ClientPrefix.R0:c.ClientPrefix.Unstable;return this.http.authedRequest(c.Method.Post,P,void 0,b,{prefix:U})}async bindThreePid(b){const P="/account/3pid/bind",U=await this.isVersionSupported("r0.6.0")?c.ClientPrefix.R0:c.ClientPrefix.Unstable;return this.http.authedRequest(c.Method.Post,P,void 0,b,{prefix:U})}async unbindThreePid(b,P){const U="/account/3pid/unbind",Q={medium:b,address:P,id_server:this.getIdentityServerUrl(!0)},te=await this.isVersionSupported("r0.6.0")?c.ClientPrefix.R0:c.ClientPrefix.Unstable;return this.http.authedRequest(c.Method.Post,U,void 0,Q,{prefix:te})}deleteThreePid(b,P){const U="/account/3pid/delete";return this.http.authedRequest(c.Method.Post,U,void 0,{medium:b,address:P})}setPassword(b,P,U){const Q="/account/password",te={auth:b,new_password:P,logout_devices:U};return this.http.authedRequest(c.Method.Post,Q,void 0,te)}getDevices(){return this.http.authedRequest(c.Method.Get,"/devices")}getDevice(b){const P=s.encodeUri("/devices/$device_id",{$device_id:b});return this.http.authedRequest(c.Method.Get,P)}setDeviceDetails(b,P){const U=s.encodeUri("/devices/$device_id",{$device_id:b});return this.http.authedRequest(c.Method.Put,U,void 0,P)}deleteDevice(b,P){const U=s.encodeUri("/devices/$device_id",{$device_id:b}),Q={};return P&&(Q.auth=P),this.http.authedRequest(c.Method.Delete,U,void 0,Q)}deleteMultipleDevices(b,P){const U={devices:b};P&&(U.auth=P);const Q="/delete_devices";return this.http.authedRequest(c.Method.Post,Q,void 0,U)}async getPushers(){const b=await this.http.authedRequest(c.Method.Get,"/pushers");return await this.doesServerSupportUnstableFeature("org.matrix.msc3881")||(b.pushers=b.pushers.map(P=>(P.hasOwnProperty(K.PUSHER_ENABLED.name)||(P[K.PUSHER_ENABLED.name]=!0),P))),b}setPusher(b){const P="/pushers/set";return this.http.authedRequest(c.Method.Post,P,void 0,b)}setLocalNotificationSettings(b,P){const U=`${K.LOCAL_NOTIFICATION_SETTINGS_PREFIX.name}.${b}`;return this.setAccountData(U,P)}getPushRules(){return this.http.authedRequest(c.Method.Get,"/pushrules/").then(b=>g.PushProcessor.rewriteDefaultRules(b))}addPushRule(b,P,U,Q){const te=s.encodeUri("/pushrules/"+b+"/$kind/$ruleId",{$kind:P,$ruleId:U});return this.http.authedRequest(c.Method.Put,te,void 0,Q)}deletePushRule(b,P,U){const Q=s.encodeUri("/pushrules/"+b+"/$kind/$ruleId",{$kind:P,$ruleId:U});return this.http.authedRequest(c.Method.Delete,Q)}setPushRuleEnabled(b,P,U,Q){const te=s.encodeUri("/pushrules/"+b+"/$kind/$ruleId/enabled",{$kind:P,$ruleId:U});return this.http.authedRequest(c.Method.Put,te,void 0,{enabled:Q})}setPushRuleActions(b,P,U,Q){const te=s.encodeUri("/pushrules/"+b+"/$kind/$ruleId/actions",{$kind:P,$ruleId:U});return this.http.authedRequest(c.Method.Put,te,void 0,{actions:Q})}search({body:b,next_batch:P},U){const Q={};return P&&(Q.next_batch=P),this.http.authedRequest(c.Method.Post,"/search",Q,b,{abortSignal:U})}uploadKeysRequest(b,P){return this.http.authedRequest(c.Method.Post,"/keys/upload",void 0,b)}uploadKeySignatures(b){return this.http.authedRequest(c.Method.Post,"/keys/signatures/upload",void 0,b,{prefix:c.ClientPrefix.V3})}downloadKeysForUsers(b,{token:P}={}){const U={device_keys:{}};return P!==void 0&&(U.token=P),b.forEach(Q=>{U.device_keys[Q]=[]}),this.http.authedRequest(c.Method.Post,"/keys/query",void 0,U)}claimOneTimeKeys(b,P="signed_curve25519",U){const Q={};P===void 0&&(P="signed_curve25519");for(const[fe,ge]of b){const _e=Q[fe]||{};Q[fe]=_e,_e[ge]=P}const te={one_time_keys:Q};U&&(te.timeout=U);const ie="/keys/claim";return this.http.authedRequest(c.Method.Post,ie,void 0,te)}getKeyChanges(b,P){const U={from:b,to:P};return this.http.authedRequest(c.Method.Get,"/keys/changes",U)}uploadDeviceSigningKeys(b,P){const U=Object.assign({},P);return b&&Object.assign(U,{auth:b}),this.http.authedRequest(c.Method.Post,"/keys/device_signing/upload",void 0,U,{prefix:c.ClientPrefix.Unstable})}registerWithIdentityServer(b){if(!this.idBaseUrl)throw new Error("No identity server base URL set");const P=this.http.getUrl("/account/register",void 0,c.IdentityPrefix.V2,this.idBaseUrl);return this.http.requestOtherUrl(c.Method.Post,P,b)}requestEmailToken(b,P,U,Q,te){const ie={client_secret:P,email:b,send_attempt:U==null?void 0:U.toString(),next_link:Q};return this.http.idServerRequest(c.Method.Post,"/validate/email/requestToken",ie,c.IdentityPrefix.V2,te)}requestMsisdnToken(b,P,U,Q,te,ie){const fe={client_secret:U,country:b,phone_number:P,send_attempt:Q==null?void 0:Q.toString(),next_link:te};return this.http.idServerRequest(c.Method.Post,"/validate/msisdn/requestToken",fe,c.IdentityPrefix.V2,ie)}submitMsisdnToken(b,P,U,Q){const te={sid:b,client_secret:P,token:U};return this.http.idServerRequest(c.Method.Post,"/validate/msisdn/submitToken",te,c.IdentityPrefix.V2,Q)}submitMsisdnTokenOtherUrl(b,P,U,Q){const te={sid:P,client_secret:U,token:Q};return this.http.requestOtherUrl(c.Method.Post,b,te)}getIdentityHashDetails(b){return this.http.idServerRequest(c.Method.Get,"/hash_details",void 0,c.IdentityPrefix.V2,b)}async identityHashedLookup(b,P){const U={},Q=await this.getIdentityHashDetails(P);if(!Q||!Q.lookup_pepper||!Q.algorithms)throw new Error("Unsupported identity server: bad response");U.pepper=Q.lookup_pepper;const te={};if(Q.algorithms.includes("sha256")){const ge=new $e.Olm.Utility;U.addresses=b.map(_e=>{const be=_e[0].toLowerCase(),Ce=_e[1].toLowerCase(),Be=ge.sha256(`${be} ${Ce} ${U.pepper}`).replace(/\+/g,"-").replace(/\//g,"_");return te[Be]=_e[0],Be}),U.algorithm="sha256"}else if(Q.algorithms.includes("none"))U.addresses=b.map(ge=>{const _e=ge[0].toLowerCase(),be=ge[1].toLowerCase(),Ce=`${_e} ${be}`;return te[Ce]=ge[0],Ce}),U.algorithm="none";else throw new Error("Unsupported identity server: unknown hash algorithm");const ie=await this.http.idServerRequest(c.Method.Post,"/lookup",U,c.IdentityPrefix.V2,P);if(!(ie!=null&&ie.mappings))return[];const fe=[];for(const ge of Object.keys(ie.mappings)){const _e=ie.mappings[ge],be=te[ge];if(!be)throw new Error("Identity server returned more results than expected");fe.push({address:be,mxid:_e})}return fe}async lookupThreePid(b,P,U){const te=(await this.identityHashedLookup([[P,b]],U)).find(fe=>fe.address===P);return te?{address:P,medium:b,mxid:te.mxid}:{}}async bulkLookupThreePids(b,P){const U=await this.identityHashedLookup(b.map(te=>[te[1],te[0]]),P),Q=[];for(const te of U){const ie=b.find(fe=>fe[1]===te.address);if(!ie)throw new Error("Identity sever returned unexpected results");Q.push([ie[0],te.address,te.mxid])}return{threepids:Q}}getIdentityAccount(b){return this.http.idServerRequest(c.Method.Get,"/account",void 0,c.IdentityPrefix.V2,b)}sendToDevice(b,P,U){const Q=s.encodeUri("/sendToDevice/$eventType/$txnId",{$eventType:b,$txnId:U||this.makeTxnId()}),te={messages:P},ie=Object.keys(P).reduce((fe,ge)=>(fe[ge]=Object.keys(P[ge]),fe),{});return d.logger.log(`PUT ${Q}`,ie),this.http.authedRequest(c.Method.Put,Q,void 0,te)}queueToDevice(b){return this.toDeviceMessageQueue.queueBatch(b)}getThirdpartyProtocols(){return this.http.authedRequest(c.Method.Get,"/thirdparty/protocols").then(b=>{if(!b||typeof b!="object")throw new Error(`/thirdparty/protocols did not return an object: ${b}`);return b})}getThirdpartyLocation(b,P){const U=s.encodeUri("/thirdparty/location/$protocol",{$protocol:b});return this.http.authedRequest(c.Method.Get,U,P)}getThirdpartyUser(b,P){const U=s.encodeUri("/thirdparty/user/$protocol",{$protocol:b});return this.http.authedRequest(c.Method.Get,U,P)}getTerms(b,P){const U=this.termsUrlForService(b,P);return this.http.requestOtherUrl(c.Method.Get,U)}agreeToTerms(b,P,U,Q){const te=this.termsUrlForService(b,P),ie={Authorization:"Bearer "+U};return this.http.requestOtherUrl(c.Method.Post,te,{user_accepts:Q},{headers:ie})}reportEvent(b,P,U,Q){const te=s.encodeUri("/rooms/$roomId/report/$eventId",{$roomId:b,$eventId:P});return this.http.authedRequest(c.Method.Post,te,void 0,{score:U,reason:Q})}getRoomHierarchy(b,P,U,Q=!1,te){const ie=s.encodeUri("/rooms/$roomId/hierarchy",{$roomId:b}),fe={suggested_only:String(Q),max_depth:U==null?void 0:U.toString(),from:te,limit:P==null?void 0:P.toString()};return this.http.authedRequest(c.Method.Get,ie,fe,void 0,{prefix:c.ClientPrefix.V1}).catch(ge=>{if(ge.errcode==="M_UNRECOGNIZED")return this.http.authedRequest(c.Method.Get,ie,fe,void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc2946"});throw ge})}async unstableCreateFileTree(b){const{room_id:P}=await this.createRoom({name:b,preset:W.Preset.PrivateChat,power_level_content_override:de(de({},Y.DEFAULT_TREE_POWER_LEVELS_TEMPLATE),{},{users:{[this.getUserId()]:100}}),creation_content:{[K.RoomCreateTypeField]:K.RoomType.Space},initial_state:[{type:K.UNSTABLE_MSC3088_PURPOSE.name,state_key:K.UNSTABLE_MSC3089_TREE_SUBTYPE.name,content:{[K.UNSTABLE_MSC3088_ENABLED.name]:!0}},{type:K.EventType.RoomEncryption,state_key:"",content:{algorithm:v.MEGOLM_ALGORITHM}}]});return new Y.MSC3089TreeSpace(this,P)}unstableGetFileTreeSpace(b){var P,U;const Q=this.getRoom(b);if((Q==null?void 0:Q.getMyMembership())!=="join")return null;const te=Q.currentState.getStateEvents(K.EventType.RoomCreate,""),ie=Q.currentState.getStateEvents(K.UNSTABLE_MSC3088_PURPOSE.name,K.UNSTABLE_MSC3089_TREE_SUBTYPE.name);if(!te)throw new Error("Expected single room create event");return!(ie!=null&&(P=ie.getContent())!==null&&P!==void 0&&P[K.UNSTABLE_MSC3088_ENABLED.name])||((U=te.getContent())===null||U===void 0?void 0:U[K.RoomCreateTypeField])!==K.RoomType.Space?null:new Y.MSC3089TreeSpace(this,b)}slidingSync(b,P,U){const Q={};b.pos&&(Q.pos=b.pos,delete b.pos),b.timeout&&(Q.timeout=b.timeout,delete b.timeout);const te=b.clientTimeout;return delete b.clientTimeout,this.http.authedRequest(c.Method.Post,"/sync",Q,b,{prefix:"/_matrix/client/unstable/org.matrix.msc3575",baseUrl:P,localTimeoutMs:te,abortSignal:U})}supportsExperimentalThreads(){var b;return((b=this.clientOpts)===null||b===void 0?void 0:b.experimentalThreadSupport)||!1}async getRoomSummary(b,P){const U=s.encodeUri("/rooms/$roomid/summary",{$roomid:b});return this.http.authedRequest(c.Method.Get,U,{via:P},void 0,{prefix:"/_matrix/client/unstable/im.nheko.summary"})}processThreadEvents(b,P,U){b.processThreadedEvents(P,U)}processThreadRoots(b,P,U){b.processThreadRoots(P,U)}processBeaconEvents(b,P){P!=null&&P.length&&b&&b.currentState.processBeaconEvents(P,this)}async whoami(){return this.http.authedRequest(c.Method.Get,"/account/whoami")}timestampToEvent(b,P,U){const Q=s.encodeUri("/rooms/$roomId/timestamp_to_event",{$roomId:b});return this.http.authedRequest(c.Method.Get,Q,{ts:P.toString(),dir:U},void 0,{prefix:"/_matrix/client/unstable/org.matrix.msc3030"})}}It.MatrixClient=Le,(0,r.default)(Le,"RESTORE_BACKUP_ERROR_BAD_KEY","RESTORE_BACKUP_ERROR_BAD_KEY");function We(Re,b){var P,U;const Q=b.getPushActions(),te=Re.getPushActionsForEvent(b,!0),ie=Re.getRoom(b.getRoomId());if(!ie||!Re.getUserId())return;const fe=!!b.threadRootId&&!b.isThreadRoot,ge=ie.getUnreadCountForEventContext(H.NotificationCountType.Highlight,b),_e=!!(Q!=null&&(P=Q.tweaks)!==null&&P!==void 0&&P.highlight),be=!!(te!=null&&(U=te.tweaks)!==null&&U!==void 0&&U.highlight);if(_e!==be||ge>0){let Be;if(fe){const Pe=ie.getThread(b.threadRootId);Be=Pe?Pe.hasUserReadEvent(Re.getUserId(),b.getId()):!0}else Be=ie.hasUserReadEvent(Re.getUserId(),b.getId());if(!Be){var Ce;let Pe=ge;be&&!_e&&Pe++,!be&&_e&&Pe--,fe?ie.setThreadUnreadNotificationCount(b.threadRootId,H.NotificationCountType.Highlight,Pe):ie.setUnreadNotificationCount(H.NotificationCountType.Highlight,Pe),((Ce=fe?ie.getThreadUnreadNotificationCount(b.threadRootId,H.NotificationCountType.Total):ie.getRoomUnreadNotificationCount(H.NotificationCountType.Total))!==null&&Ce!==void 0?Ce:0)<Pe&&(fe?ie.setThreadUnreadNotificationCount(b.threadRootId,H.NotificationCountType.Total,Pe):ie.setUnreadNotificationCount(H.NotificationCountType.Total,Pe))}}}return It}var M9;function y1(){if(M9)return wt;M9=1;var e=Ae;Object.defineProperty(wt,"__esModule",{value:!0}),wt.ThreadFilterType=wt.ThreadEvent=wt.Thread=wt.THREAD_RELATION_TYPE=wt.FeatureSupport=wt.FILTER_RELATED_BY_SENDERS=wt.FILTER_RELATED_BY_REL_TYPES=void 0,wt.determineFeatureSupport=d,wt.threadFilterTypeToFilter=I;var t=e(Ue),r=ln(),n=yo(),i=xe,a=ir(),o=Pn(),p=k0(),u=Ti(),y=rr,s=Ge(),m=AE(),g=js();function S(D,A){var L=Object.keys(D);if(Object.getOwnPropertySymbols){var F=Object.getOwnPropertySymbols(D);A&&(F=F.filter(function(x){return Object.getOwnPropertyDescriptor(D,x).enumerable})),L.push.apply(L,F)}return L}function v(D){for(var A=1;A<arguments.length;A++){var L=arguments[A]!=null?arguments[A]:{};A%2?S(Object(L),!0).forEach(function(F){(0,t.default)(D,F,L[F])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(L)):S(Object(L)).forEach(function(F){Object.defineProperty(D,F,Object.getOwnPropertyDescriptor(L,F))})}return D}let h;wt.ThreadEvent=h,function(D){D.New="Thread.new",D.Update="Thread.update",D.NewReply="Thread.newReply",D.ViewThread="Thread.viewThread",D.Delete="Thread.delete"}(h||(wt.ThreadEvent=h={}));let _;wt.FeatureSupport=_,function(D){D[D.None=0]="None",D[D.Experimental=1]="Experimental",D[D.Stable=2]="Stable"}(_||(wt.FeatureSupport=_={}));function d(D,A){return D?_.Stable:A?_.Experimental:_.None}class l extends m.ReadReceipt{constructor(A,L,F){var x;if(super(),this.id=A,this.rootEvent=L,(0,t.default)(this,"timelineSet",void 0),(0,t.default)(this,"timeline",[]),(0,t.default)(this,"_currentUserParticipated",!1),(0,t.default)(this,"reEmitter",void 0),(0,t.default)(this,"lastEvent",void 0),(0,t.default)(this,"replyCount",0),(0,t.default)(this,"lastPendingEvent",void 0),(0,t.default)(this,"pendingReplyCount",0),(0,t.default)(this,"room",void 0),(0,t.default)(this,"client",void 0),(0,t.default)(this,"pendingEventOrdering",void 0),(0,t.default)(this,"initialEventsFetched",!l.hasServerSideSupport),(0,t.default)(this,"onBeforeRedaction",(H,K)=>{H!=null&&H.isRelation(E.name)&&this.room.eventShouldLiveIn(H).threadId===this.id&&H.getId()!==this.id&&!K.status&&(this.replyCount--,this.updatePendingReplyCount(),this.emit(h.Update,this))}),(0,t.default)(this,"onRedaction",async H=>{if(H.threadRootId===this.id)if(this.replyCount<=0){for(const K of this.timeline)this.clearEventMetadata(K);this.lastEvent=this.rootEvent,this._currentUserParticipated=!1,this.emit(h.Delete,this)}else await this.updateThreadMetadata()}),(0,t.default)(this,"onTimelineEvent",(H,K,W)=>{W||K.addLocalEchoReceipt(H.getSender(),H,g.ReceiptType.Read),this.onEcho(H,W??!1)}),(0,t.default)(this,"onLocalEcho",H=>{this.onEcho(H,!1)}),(0,t.default)(this,"onEcho",async(H,K)=>{H.threadRootId===this.id&&this.lastEvent!==H&&(await this.updateThreadMetadata(),H.isRelation(E.name)&&(K||this.emit(h.NewReply,this,H)))}),!(F!=null&&F.room))throw new Error("element-web#22141: A thread requires a room in order to function");this.room=F.room,this.client=F.client,this.pendingEventOrdering=(x=F.pendingEventOrdering)!==null&&x!==void 0?x:r.PendingEventOrdering.Chronological,this.timelineSet=new p.EventTimelineSet(this.room,{timelineSupport:!0,pendingEvents:!0},this.client,this),this.reEmitter=new n.TypedReEmitter(this),this.reEmitter.reEmit(this.timelineSet,[u.RoomEvent.Timeline,u.RoomEvent.TimelineReset]),this.room.on(a.MatrixEventEvent.BeforeRedaction,this.onBeforeRedaction),this.room.on(u.RoomEvent.Redaction,this.onRedaction),this.room.on(u.RoomEvent.LocalEchoUpdated,this.onLocalEcho),this.timelineSet.on(u.RoomEvent.Timeline,this.onTimelineEvent),this.processReceipts(F.receipts),this.updateThreadMetadata(),this.setEventMetadata(this.rootEvent)}async fetchRootEvent(){this.rootEvent=this.room.findEventById(this.id);try{const A=await this.client.fetchRoomEvent(this.roomId,this.id),L=this.client.getEventMapper();this.rootEvent=L(A)}catch(A){s.logger.error("Failed to fetch thread root to construct thread with",A)}await this.processEvent(this.rootEvent)}static setServerSideSupport(A){l.hasServerSideSupport=A,A!==_.Stable&&(c.setPreferUnstable(!0),f.setPreferUnstable(!0),E.setPreferUnstable(!0))}static setServerSideListSupport(A){l.hasServerSideListSupport=A}static setServerSideFwdPaginationSupport(A){l.hasServerSideFwdPaginationSupport=A}get roomState(){return this.room.getLiveTimeline().getState(o.EventTimeline.FORWARDS)}addEventToTimeline(A,L){this.findEventById(A.getId())||(this.timelineSet.addEventToTimeline(A,this.liveTimeline,{toStartOfTimeline:L,fromCache:!1,roomState:this.roomState}),this.timeline=this.events)}addEvents(A,L){A.forEach(F=>this.addEvent(F,L,!1)),this.updateThreadMetadata()}async addEvent(A,L,F=!0){this.setEventMetadata(A);const x=this.lastReply(),H=!x||A.localTimestamp>x.localTimestamp;if(!l.hasServerSideSupport)this.addEventToTimeline(A,L),this.client.decryptEventIfNeeded(A,{});else if(!L&&this.initialEventsFetched&&H)this.addEventToTimeline(A,!1),this.fetchEditsWhereNeeded(A);else if(A.isRelation(i.RelationType.Annotation)||A.isRelation(i.RelationType.Replace)){var K,W;(K=this.timelineSet.relations)===null||K===void 0||K.aggregateParentEvent(A),(W=this.timelineSet.relations)===null||W===void 0||W.aggregateChildEvent(A,this.timelineSet);return}(!l.hasServerSideSupport||!this.rootEvent)&&A.isRelation(E.name)&&this.replyCount++,F&&(this.emit(h.NewReply,this,A),this.updateThreadMetadata())}async processEvent(A){A&&(this.setEventMetadata(A),await this.fetchEditsWhereNeeded(A)),this.timeline=this.events}processReceipts(A=[]){for(const{event:L,synthetic:F}of A){const x=L.getContent();Object.keys(x).forEach(H=>{Object.keys(x[H]).forEach(K=>{Object.keys(x[H][K]).forEach(W=>{const X=x[H][K][W];this.addReceiptToStructure(H,K,W,X,F)})})})}}getRootEventBundledRelationship(A=this.rootEvent){return A==null?void 0:A.getServerAggregatedRelation(E.name)}async processRootEvent(){const A=this.getRootEventBundledRelationship();if(l.hasServerSideSupport&&A){this.replyCount=A.count,this._currentUserParticipated=!!A.current_user_participated;const L=this.client.getEventMapper();this.lastEvent=L(v(v({},A.latest_event),{},{room_id:this.roomId})),this.updatePendingReplyCount(),await this.processEvent(this.lastEvent)}}updatePendingReplyCount(){const L=(this.pendingEventOrdering===r.PendingEventOrdering.Detached?this.room.getPendingEvents():this.events).filter(F=>{var x;return F.threadRootId===this.id&&F.isRelation(E.name)&&F.status!==null&&F.getId()!==((x=this.lastEvent)===null||x===void 0?void 0:x.getId())});this.lastPendingEvent=L.length?L[L.length-1]:void 0,this.pendingReplyCount=L.length}async updateThreadMetadata(){if(this.updatePendingReplyCount(),l.hasServerSideSupport&&(this.initialEventsFetched||await this.processRootEvent(),await this.fetchRootEvent()),await this.processRootEvent(),!this.initialEventsFetched){this.initialEventsFetched=!0;try{this.replyCount===0&&this.rootEvent?(this.timelineSet.addEventsToTimeline([this.rootEvent],!0,this.liveTimeline,null),this.liveTimeline.setPaginationToken(null,o.Direction.Backward)):await this.client.paginateEventTimeline(this.liveTimeline,{backwards:!0,limit:Math.max(1,this.length)}),this.emit(u.RoomEvent.TimelineReset,this.room,this.timelineSet,!0)}catch(A){s.logger.error("Failed to load start of newly created thread: ",A),this.initialEventsFetched=!1}}this.emit(h.Update,this)}async fetchEditsWhereNeeded(...A){return Promise.all(A.filter(L=>L.isEncrypted()).map(L=>{if(!L.isRelation())return this.client.relations(this.roomId,L.getId(),i.RelationType.Replace,L.getType(),{limit:1}).then(F=>{F.events.length&&L.makeReplaced(F.events[0])}).catch(F=>{s.logger.error("Failed to load edits for encrypted thread event",F)})}))}setEventMetadata(A){A&&(o.EventTimeline.setEventMetadata(A,this.roomState,!1),A.setThread(this))}clearEventMetadata(A){if(A){var L,F,x;A.setThread(void 0),(L=A.event)===null||L===void 0||(F=L.unsigned)===null||F===void 0||(x=F["m.relations"])===null||x===void 0||delete x[E.name]}}findEventById(A){return this.timelineSet.findEventById(A)}lastReply(A=()=>!0){for(let L=this.timeline.length-1;L>=0;L--){const F=this.timeline[L];if(A(F))return F}return null}get roomId(){return this.room.roomId}get length(){return this.replyCount+this.pendingReplyCount}get replyToEvent(){var A,L;return(A=(L=this.lastPendingEvent)!==null&&L!==void 0?L:this.lastEvent)!==null&&A!==void 0?A:this.lastReply()}get events(){return this.liveTimeline.getEvents()}has(A){return this.timelineSet.findEventById(A)instanceof a.MatrixEvent}get hasCurrentUserParticipated(){return this._currentUserParticipated}get liveTimeline(){return this.timelineSet.getLiveTimeline()}getUnfilteredTimelineSet(){return this.timelineSet}addReceipt(A,L){throw new Error("Unsupported function on the thread model")}hasUserReadEvent(A,L){if(A===this.client.getUserId()){const F=this.getReadReceiptForUserId(A,!1,g.ReceiptType.Read),x=this.getReadReceiptForUserId(A,!1,g.ReceiptType.ReadPrivate),H=this.room.getThreadUnreadNotificationCount(this.id,u.NotificationCountType.Total)>0;if(!F&&!x&&!H)return!0}return super.hasUserReadEvent(A,L)}}wt.Thread=l,(0,t.default)(l,"hasServerSideSupport",_.None),(0,t.default)(l,"hasServerSideListSupport",_.None),(0,t.default)(l,"hasServerSideFwdPaginationSupport",_.None);const c=new y.ServerControlledNamespacedValue("related_by_senders","io.element.relation_senders");wt.FILTER_RELATED_BY_SENDERS=c;const f=new y.ServerControlledNamespacedValue("related_by_rel_types","io.element.relation_types");wt.FILTER_RELATED_BY_REL_TYPES=f;const E=new y.ServerControlledNamespacedValue("m.thread","io.element.thread");wt.THREAD_RELATION_TYPE=E;let w;wt.ThreadFilterType=w,function(D){D[D.My=0]="My",D[D.All=1]="All"}(w||(wt.ThreadFilterType=w={}));function I(D){switch(D){case w.My:return"participated";default:return"all"}}return wt}var A9;function ir(){return A9||(A9=1,function(e){var t=Ae;Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"EventStatus",{enumerable:!0,get:function(){return s.EventStatus}}),e.MatrixEventEvent=e.MatrixEvent=void 0;var r=t(Ue),n=uu,i=Ge(),a=xe,o=dt(),p=y1(),u=yo(),y=At(),s=OE();const m=Object.freeze({visible:!0});let g;e.MatrixEventEvent=g,function(_){_.Decrypted="Event.decrypted",_.BeforeRedaction="Event.beforeRedaction",_.VisibilityChange="Event.visibilityChange",_.LocalEventIdReplaced="Event.localEventIdReplaced",_.Status="Event.status",_.Replaced="Event.replaced",_.RelationsCreated="Event.relationsCreated"}(g||(e.MatrixEventEvent=g={}));class S extends y.TypedEventEmitter{constructor(d={}){var l;super(),this.event=d,(0,r.default)(this,"pushActions",null),(0,r.default)(this,"_replacingEvent",null),(0,r.default)(this,"_localRedactionEvent",null),(0,r.default)(this,"_isCancelled",!1),(0,r.default)(this,"clearEvent",void 0),(0,r.default)(this,"visibility",m),(0,r.default)(this,"_hasCachedExtEv",!1),(0,r.default)(this,"_cachedExtEv",void 0),(0,r.default)(this,"senderCurve25519Key",null),(0,r.default)(this,"claimedEd25519Key",null),(0,r.default)(this,"forwardingCurve25519KeyChain",[]),(0,r.default)(this,"untrusted",null),(0,r.default)(this,"decryptionPromise",null),(0,r.default)(this,"retryDecryption",!1),(0,r.default)(this,"txnId",void 0),(0,r.default)(this,"thread",void 0),(0,r.default)(this,"threadId",void 0),(0,r.default)(this,"localTimestamp",void 0),(0,r.default)(this,"sender",null),(0,r.default)(this,"target",null),(0,r.default)(this,"status",null),(0,r.default)(this,"error",null),(0,r.default)(this,"forwardLooking",!0),(0,r.default)(this,"verificationRequest",void 0),(0,r.default)(this,"reEmitter",void 0),["state_key","type","sender","room_id","membership"].forEach(c=>{typeof d[c]=="string"&&(d[c]=(0,o.internaliseString)(d[c]))}),["membership","avatar_url","displayname"].forEach(c=>{var f;typeof((f=d.content)===null||f===void 0?void 0:f[c])=="string"&&(d.content[c]=(0,o.internaliseString)(d.content[c]))}),["rel_type"].forEach(c=>{var f,E;typeof((f=d.content)===null||f===void 0||(E=f["m.relates_to"])===null||E===void 0?void 0:E[c])=="string"&&(d.content["m.relates_to"][c]=(0,o.internaliseString)(d.content["m.relates_to"][c]))}),this.txnId=d.txn_id,this.localTimestamp=Date.now()-((l=this.getAge())!==null&&l!==void 0?l:0),this.reEmitter=new u.TypedReEmitter(this)}get unstableExtensibleEvent(){return this._hasCachedExtEv||(this._cachedExtEv=n.ExtensibleEvents.parse(this.getEffectiveEvent())),this._cachedExtEv}invalidateExtensibleEvent(){this._hasCachedExtEv=!1}getEffectiveEvent(){const d=Object.assign({},this.getContent());if(this.getWireType()===a.EventType.RoomMessageEncrypted)for(const[l,c]of Object.entries(this.getWireContent()))["algorithm","ciphertext","device_id","sender_key","session_id"].includes(l)||d[l]===void 0&&(d[l]=c);return Object.assign({},this.event,this.clearEvent,{content:d})}getId(){return this.event.event_id}getSender(){return this.event.sender||this.event.user_id}getType(){return this.clearEvent?this.clearEvent.type:this.event.type}getWireType(){return this.event.type}getRoomId(){return this.event.room_id}getTs(){return this.event.origin_server_ts}getDate(){return this.event.origin_server_ts?new Date(this.event.origin_server_ts):null}getDetails(){let d=`id=${this.getId()} type=${this.getWireType()} sender=${this.getSender()}`;const l=this.getRoomId();l&&(d+=` room=${l}`);const c=this.getDate();return c&&(d+=` ts=${c.toISOString()}`),d}getOriginalContent(){return this._localRedactionEvent?{}:this.clearEvent?this.clearEvent.content||{}:this.event.content||{}}getContent(){return this._localRedactionEvent?{}:this._replacingEvent?this._replacingEvent.getContent()["m.new_content"]||{}:this.getOriginalContent()}getWireContent(){return this.event.content||{}}get threadRootId(){var d;const l=(d=this.getWireContent())===null||d===void 0?void 0:d["m.relates_to"];if((l==null?void 0:l.rel_type)===p.THREAD_RELATION_TYPE.name)return l.event_id;var c;return((c=this.getThread())===null||c===void 0?void 0:c.id)||this.threadId}get isThreadRoot(){var d;return!!this.getServerAggregatedRelation(p.THREAD_RELATION_TYPE.name)||((d=this.getThread())===null||d===void 0?void 0:d.id)===this.getId()}get replyEventId(){var d;const l=this.getContent()["m.relates_to"]||this.getWireContent()["m.relates_to"];return l==null||(d=l["m.in_reply_to"])===null||d===void 0?void 0:d.event_id}get relationEventId(){var d,l;return(d=this.getWireContent())===null||d===void 0||(l=d["m.relates_to"])===null||l===void 0?void 0:l.event_id}getPrevContent(){return this.getUnsigned().prev_content||this.event.prev_content||{}}getDirectionalContent(){return this.forwardLooking?this.getContent():this.getPrevContent()}getAge(){return this.getUnsigned().age||this.event.age}getLocalAge(){return Date.now()-this.localTimestamp}getStateKey(){return this.event.state_key}isState(){return this.event.state_key!==void 0}makeEncrypted(d,l,c,f){this.clearEvent={type:this.event.type,content:this.event.content},this.event.type=d,this.event.content=l,this.senderCurve25519Key=c,this.claimedEd25519Key=f}isBeingDecrypted(){return this.decryptionPromise!=null}getDecryptionPromise(){return this.decryptionPromise}isDecryptionFailure(){var d,l;return((d=this.clearEvent)===null||d===void 0||(l=d.content)===null||l===void 0?void 0:l.msgtype)==="m.bad.encrypted"}shouldAttemptDecryption(){return!(this.isRedacted()||this.isBeingDecrypted()||this.clearEvent||!this.isEncrypted())}async attemptDecryption(d,l={}){if(!this.isEncrypted())throw new Error("Attempt to decrypt event which isn't encrypted");const c=this.clearEvent&&!this.isDecryptionFailure(),f=l.forceRedecryptIfUntrusted&&this.isKeySourceUntrusted();if(c&&!f)throw new Error("Attempt to decrypt event which has already been decrypted");return this.decryptionPromise?(i.logger.log(`Event ${this.getId()} already being decrypted; queueing a retry`),this.retryDecryption=!0,this.decryptionPromise):(this.decryptionPromise=this.decryptionLoop(d,l),this.decryptionPromise)}cancelAndResendKeyRequest(d,l){const c=this.getWireContent();return d.requestRoomKey({algorithm:c.algorithm,room_id:this.getRoomId(),session_id:c.session_id,sender_key:c.sender_key},this.getKeyRequestRecipients(l),!0)}getKeyRequestRecipients(d){const l=this.getWireContent(),c=[{userId:d,deviceId:"*"}],f=this.getSender();return f!==d&&c.push({userId:f,deviceId:l.device_id}),c}async decryptionLoop(d,l={}){for(await Promise.resolve();;){this.retryDecryption=!1;let c,f;try{d?(c=await d.decryptEvent(this),l.isRetry===!0&&i.logger.info(`Decrypted event on retry (${this.getDetails()})`)):c=this.badEncryptedMessage("Encryption not enabled")}catch(E){if(E.name!=="DecryptionError"){const w=l.isRetry?"re":"";i.logger.error(`Error ${w}decrypting event (${this.getDetails()})`,E),this.decryptionPromise=null,this.retryDecryption=!1;return}if(f=E,this.retryDecryption){i.logger.log(`Error decrypting event (${this.getDetails()}), but retrying: `+E.detailedString);continue}i.logger.warn(`Error decrypting event (${this.getDetails()}): `+E.detailedString),c=this.badEncryptedMessage(E.message)}this.decryptionPromise=null,this.retryDecryption=!1,this.setClearData(c),this.setPushActions(null),l.emit!==!1&&this.emit(g.Decrypted,this,f);return}}badEncryptedMessage(d){return{clearEvent:{type:a.EventType.RoomMessage,content:{msgtype:"m.bad.encrypted",body:"** Unable to decrypt: "+d+" **"}}}}setClearData(d){var l,c;this.clearEvent=d.clearEvent,this.senderCurve25519Key=(l=d.senderCurve25519Key)!==null&&l!==void 0?l:null,this.claimedEd25519Key=(c=d.claimedEd25519Key)!==null&&c!==void 0?c:null,this.forwardingCurve25519KeyChain=d.forwardingCurve25519KeyChain||[],this.untrusted=d.untrusted||!1,this.invalidateExtensibleEvent()}getClearContent(){return this.clearEvent?this.clearEvent.content:null}isEncrypted(){return!this.isState()&&this.event.type===a.EventType.RoomMessageEncrypted}getSenderKey(){return this.senderCurve25519Key}getKeysClaimed(){return this.claimedEd25519Key?{ed25519:this.claimedEd25519Key}:{}}getClaimedEd25519Key(){return this.claimedEd25519Key}getForwardingCurve25519KeyChain(){return this.forwardingCurve25519KeyChain}isKeySourceUntrusted(){return!!this.untrusted}getUnsigned(){return this.event.unsigned||{}}setUnsigned(d){this.event.unsigned=d}unmarkLocallyRedacted(){const d=this._localRedactionEvent;return this._localRedactionEvent=null,this.event.unsigned&&(this.event.unsigned.redacted_because=void 0),!!d}markLocallyRedacted(d){this._localRedactionEvent||(this.emit(g.BeforeRedaction,this,d),this._localRedactionEvent=d,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=d.event)}applyVisibilityEvent(d){var l,c;const f=(l=d==null?void 0:d.visible)!==null&&l!==void 0?l:!0,E=(c=d==null?void 0:d.reason)!==null&&c!==void 0?c:null;let w=!1;(this.visibility.visible!==f||!this.visibility.visible&&this.visibility.reason!==E)&&(w=!0),w&&(f?this.visibility=m:this.visibility=Object.freeze({visible:!1,reason:E}),this.emit(g.VisibilityChange,this,f))}messageVisibility(){return this.visibility}makeRedacted(d){if(!d.event)throw new Error("invalid redactionEvent in makeRedacted");this._localRedactionEvent=null,this.emit(g.BeforeRedaction,this,d),this._replacingEvent=null,this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=d.event;for(const f in this.event)this.event.hasOwnProperty(f)&&!v.has(f)&&delete this.event[f];this.isEncrypted()&&(this.clearEvent=void 0);const l=this.getType()in h?h[this.getType()]:{},c=this.getContent();for(const f in c)c.hasOwnProperty(f)&&!l[f]&&delete c[f];this.invalidateExtensibleEvent()}isRedacted(){return Boolean(this.getUnsigned().redacted_because)}isRedaction(){return this.getType()===a.EventType.RoomRedaction}asVisibilityChange(){if(!a.EVENT_VISIBILITY_CHANGE_TYPE.matches(this.getType()))return null;const d=this.getRelation();if(!d||d.rel_type!="m.reference")return null;const l=d.event_id;if(!l)return null;const c=this.getWireContent(),f=!!c.visible,E=c.reason;return E&&typeof E!="string"?null:{visible:f,reason:E,eventId:l}}isVisibilityEvent(){return a.EVENT_VISIBILITY_CHANGE_TYPE.matches(this.getType())}getRedactionEvent(){var d,l;if(!this.isRedacted())return null;if((d=this.clearEvent)!==null&&d!==void 0&&d.unsigned){var c,f;return(c=(f=this.clearEvent)===null||f===void 0?void 0:f.unsigned.redacted_because)!==null&&c!==void 0?c:null}else return(l=this.event.unsigned)!==null&&l!==void 0&&l.redacted_because?this.event.unsigned.redacted_because:{}}getPushActions(){return this.pushActions}setPushActions(d){this.pushActions=d}handleRemoteEcho(d){const l=this.getUnsigned(),c=this.getId();this.event=d,l.redacted_because&&(this.event.unsigned||(this.event.unsigned={}),this.event.unsigned.redacted_because=l.redacted_because),this.setStatus(null),this.getId()!==c&&this.emit(g.LocalEventIdReplaced,this),this.localTimestamp=Date.now()-this.getAge()}isSending(){return!!this.status}setStatus(d){this.status=d,this.emit(g.Status,this,d)}replaceLocalEventId(d){this.event.event_id=d,this.emit(g.LocalEventIdReplaced,this)}isRelation(d){var l;const c=(l=this.getWireContent())===null||l===void 0?void 0:l["m.relates_to"];return this.isState()&&(c==null?void 0:c.rel_type)===a.RelationType.Replace?!1:!!(c!=null&&c.rel_type&&c.event_id&&(!d||c.rel_type===d))}getRelation(){var d;return this.isRelation()&&(d=this.getWireContent()["m.relates_to"])!==null&&d!==void 0?d:null}makeReplaced(d){this.isRedacted()&&d||this.isState()||this._replacingEvent!==d&&(this._replacingEvent=d??null,this.emit(g.Replaced,this),this.invalidateExtensibleEvent())}getAssociatedStatus(){return this._replacingEvent?this._replacingEvent.status:this._localRedactionEvent?this._localRedactionEvent.status:this.status}getServerAggregatedRelation(d){var l;return(l=this.getUnsigned()["m.relations"])===null||l===void 0?void 0:l[d]}replacingEventId(){const d=this.getServerAggregatedRelation(a.RelationType.Replace);if(d)return d.event_id;if(this._replacingEvent)return this._replacingEvent.getId()}replacingEvent(){return this._replacingEvent}replacingEventDate(){const d=this.getServerAggregatedRelation(a.RelationType.Replace);if(d){const c=d.origin_server_ts;if(Number.isFinite(c))return new Date(c)}else if(this._replacingEvent){var l;return(l=this._replacingEvent.getDate())!==null&&l!==void 0?l:void 0}}localRedactionEvent(){return this._localRedactionEvent}getAssociatedId(){const d=this.getRelation();if(this.replyEventId)return this.replyEventId;if(d)return d.event_id;if(this.isRedaction())return this.event.redacts}hasAssocation(){return!!this.getAssociatedId()}hasAssociation(){return!!this.getAssociatedId()}updateAssociatedId(d){const l=this.getRelation();l?l.event_id=d:this.isRedaction()&&(this.event.redacts=d)}flagCancelled(d=!0){this._isCancelled=d}isCancelled(){return this._isCancelled}toSnapshot(){const d=new S(JSON.parse(JSON.stringify(this.event)));for(const[l,c]of Object.entries(this))l!=="event"&&(d[l]=c);return d}isEquivalentTo(d){if(!d)return!1;if(d===this)return!0;const l=(0,o.deepSortedObjectEntries)(this.event),c=(0,o.deepSortedObjectEntries)(d.event);return JSON.stringify(l)===JSON.stringify(c)}toJSON(){const d=this.getEffectiveEvent();return this.isEncrypted()?{decrypted:d,encrypted:this.event}:d}setVerificationRequest(d){this.verificationRequest=d}setTxnId(d){this.txnId=d}getTxnId(){return this.txnId}setThread(d){this.thread&&this.reEmitter.stopReEmitting(this.thread,[p.ThreadEvent.Update]),this.thread=d,this.setThreadId(d==null?void 0:d.id),d&&this.reEmitter.reEmit(d,[p.ThreadEvent.Update])}getThread(){return this.thread}setThreadId(d){this.threadId=d}}e.MatrixEvent=S;const v=new Set(["event_id","type","room_id","user_id","sender","state_key","prev_state","content","unsigned","origin_server_ts"]),h={[a.EventType.RoomMember]:{membership:1},[a.EventType.RoomCreate]:{creator:1},[a.EventType.RoomJoinRules]:{join_rule:1},[a.EventType.RoomPowerLevels]:{ban:1,events:1,events_default:1,kick:1,redact:1,state_default:1,users:1,users_default:1}}}(jf)),jf}var N9;function Ia(){if(N9)return Oi;N9=1;var e=Ae;Object.defineProperty(Oi,"__esModule",{value:!0}),Oi.RoomStateEvent=Oi.RoomState=void 0;var t=e(Ue),r=en,n=Ge(),i=S(dt()),a=xe,o=ir(),p=_t,u=At(),y=Tr,s=yo(),m=lw();function g(c){if(typeof WeakMap!="function")return null;var f=new WeakMap,E=new WeakMap;return(g=function(w){return w?E:f})(c)}function S(c,f){if(!f&&c&&c.__esModule)return c;if(c===null||typeof c!="object"&&typeof c!="function")return{default:c};var E=g(f);if(E&&E.has(c))return E.get(c);var w={},I=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var D in c)if(D!=="default"&&Object.prototype.hasOwnProperty.call(c,D)){var A=I?Object.getOwnPropertyDescriptor(c,D):null;A&&(A.get||A.set)?Object.defineProperty(w,D,A):w[D]=c[D]}return w.default=c,E&&E.set(c,w),w}function v(c,f){var E=Object.keys(c);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(c);f&&(w=w.filter(function(I){return Object.getOwnPropertyDescriptor(c,I).enumerable})),E.push.apply(E,w)}return E}function h(c){for(var f=1;f<arguments.length;f++){var E=arguments[f]!=null?arguments[f]:{};f%2?v(Object(E),!0).forEach(function(w){(0,t.default)(c,w,E[w])}):Object.getOwnPropertyDescriptors?Object.defineProperties(c,Object.getOwnPropertyDescriptors(E)):v(Object(E)).forEach(function(w){Object.defineProperty(c,w,Object.getOwnPropertyDescriptor(E,w))})}return c}var _;(function(c){c[c.NotStarted=0]="NotStarted",c[c.InProgress=1]="InProgress",c[c.Finished=2]="Finished"})(_||(_={}));let d;Oi.RoomStateEvent=d,function(c){c.Events="RoomState.events",c.Members="RoomState.members",c.NewMember="RoomState.newMember",c.Update="RoomState.update",c.BeaconLiveness="RoomState.BeaconLiveness",c.Marker="RoomState.Marker"}(d||(Oi.RoomStateEvent=d={}));class l extends u.TypedEventEmitter{constructor(f,E={status:_.NotStarted}){super(),this.roomId=f,this.oobMemberFlags=E,(0,t.default)(this,"reEmitter",new s.TypedReEmitter(this)),(0,t.default)(this,"sentinels",{}),(0,t.default)(this,"displayNameToUserIds",new Map),(0,t.default)(this,"userIdsToDisplayNames",{}),(0,t.default)(this,"tokenToInvite",{}),(0,t.default)(this,"joinedMemberCount",null),(0,t.default)(this,"summaryJoinedMemberCount",null),(0,t.default)(this,"invitedMemberCount",null),(0,t.default)(this,"summaryInvitedMemberCount",null),(0,t.default)(this,"modified",-1),(0,t.default)(this,"members",{}),(0,t.default)(this,"events",new Map),(0,t.default)(this,"paginationToken",null),(0,t.default)(this,"beacons",new Map),(0,t.default)(this,"_liveBeaconIds",[]),this.updateModifiedTime()}getJoinedMemberCount(){return this.summaryJoinedMemberCount!==null?this.summaryJoinedMemberCount:(this.joinedMemberCount===null&&(this.joinedMemberCount=this.getMembers().reduce((f,E)=>E.membership==="join"?f+1:f,0)),this.joinedMemberCount)}setJoinedMemberCount(f){this.summaryJoinedMemberCount=f}getInvitedMemberCount(){return this.summaryInvitedMemberCount!==null?this.summaryInvitedMemberCount:(this.invitedMemberCount===null&&(this.invitedMemberCount=this.getMembers().reduce((f,E)=>E.membership==="invite"?f+1:f,0)),this.invitedMemberCount)}setInvitedMemberCount(f){this.summaryInvitedMemberCount=f}getMembers(){return Object.values(this.members)}getMembersExcept(f){return this.getMembers().filter(E=>!f.includes(E.userId))}getMember(f){return this.members[f]||null}getSentinelMember(f){if(!f)return null;let E=this.sentinels[f];if(E===void 0){E=new r.RoomMember(this.roomId,f);const w=this.members[f];w!=null&&w.events.member&&E.setMembershipEvent(w.events.member,this),this.sentinels[f]=E}return E}getStateEvents(f,E){if(!this.events.has(f))return E===void 0?[]:null;if(E===void 0)return Array.from(this.events.get(f).values());const w=this.events.get(f).get(E);return w||null}get hasLiveBeacons(){var f;return!!((f=this.liveBeaconIds)!==null&&f!==void 0&&f.length)}get liveBeaconIds(){return this._liveBeaconIds}clone(){const f=new l(this.roomId,this.oobMemberFlags),E=this.oobMemberFlags.status;return this.oobMemberFlags.status=_.NotStarted,Array.from(this.events.values()).forEach(w=>{f.setStateEvents(Array.from(w.values()))}),this.oobMemberFlags.status=E,this.summaryInvitedMemberCount!==null&&f.setInvitedMemberCount(this.getInvitedMemberCount()),this.summaryJoinedMemberCount!==null&&f.setJoinedMemberCount(this.getJoinedMemberCount()),this.oobMemberFlags.status==_.Finished&&this.getMembers().forEach(w=>{if(w.isOutOfBand()){var I;(I=f.getMember(w.userId))===null||I===void 0||I.markOutOfBand()}}),f}setUnknownStateEvents(f){const E=f.filter(w=>!this.events.has(w.getType())||!this.events.get(w.getType()).has(w.getStateKey()));this.setStateEvents(E)}setStateEvents(f,E){this.updateModifiedTime(),f.forEach(w=>{if(w.getRoomId()!==this.roomId||!w.isState())return;m.M_BEACON_INFO.matches(w.getType())&&this.setBeacon(w);const I=this.getStateEventMatching(w);if(this.setStateEvent(w),w.getType()===a.EventType.RoomMember){var D;this.updateDisplayNameCache(w.getStateKey(),(D=w.getContent().displayname)!==null&&D!==void 0?D:""),this.updateThirdPartyTokenCache(w)}this.emit(d.Events,w,this,I)}),this.onBeaconLivenessChange(),f.forEach(w=>{if(!(w.getRoomId()!==this.roomId||!w.isState()))if(w.getType()===a.EventType.RoomMember){const I=w.getStateKey();(w.getContent().membership==="leave"||w.getContent().membership==="ban")&&(w.getContent().avatar_url=w.getContent().avatar_url||w.getPrevContent().avatar_url,w.getContent().displayname=w.getContent().displayname||w.getPrevContent().displayname);const D=this.getOrCreateMember(I,w);D.setMembershipEvent(w,this),this.updateMember(D),this.emit(d.Members,w,this,D)}else if(w.getType()===a.EventType.RoomPowerLevels){if(w.getStateKey()!=="")return;Object.values(this.members).forEach(D=>{const A=D.getLastModifiedTime();D.setPowerLevelEvent(w),A!==D.getLastModifiedTime()&&this.emit(d.Members,w,this,D)}),this.sentinels={}}else a.UNSTABLE_MSC2716_MARKER.matches(w.getType())&&this.emit(d.Marker,w,E)}),this.emit(d.Update,this)}processBeaconEvents(f,E){if(!f.length||!this.beacons.size)return;const w=[...this.beacons.values()].reduce((D,A)=>h(h({},D),{},{[A.beaconInfoId]:A}),{}),I=(D,A)=>{if(!m.M_BEACON.matches(A.getType()))return;const L=w[D];L&&L.addLocations([A])};f.forEach(D=>{var A;const L=(A=D.getRelation())===null||A===void 0?void 0:A.event_id;!L||!w[L]||(E.decryptEventIfNeeded(D),D.isBeingDecrypted()||D.isDecryptionFailure()?D.once(o.MatrixEventEvent.Decrypted,async()=>{I(L,D)}):I(L,D))})}getOrCreateMember(f,E){let w=this.members[f];return w||(w=new r.RoomMember(this.roomId,f),this.members[f]=w,this.emit(d.NewMember,E,this,w)),w}setStateEvent(f){this.events.has(f.getType())||this.events.set(f.getType(),new Map),this.events.get(f.getType()).set(f.getStateKey(),f)}setBeacon(f){const E=(0,y.getBeaconInfoIdentifier)(f);if(this.beacons.has(E)){const D=this.beacons.get(E);if(f.isRedacted()){var w;D.beaconInfoId===((w=f.getRedactionEvent())===null||w===void 0?void 0:w.redacts)&&(D.destroy(),this.beacons.delete(E));return}return D.update(f)}if(f.isRedacted())return;const I=new y.Beacon(f);this.reEmitter.reEmit(I,[y.BeaconEvent.New,y.BeaconEvent.Update,y.BeaconEvent.Destroy,y.BeaconEvent.LivenessChange]),this.emit(y.BeaconEvent.New,f,I),I.on(y.BeaconEvent.LivenessChange,this.onBeaconLivenessChange.bind(this)),I.on(y.BeaconEvent.Destroy,this.onBeaconLivenessChange.bind(this)),this.beacons.set(I.identifier,I)}onBeaconLivenessChange(){this._liveBeaconIds=Array.from(this.beacons.values()).filter(f=>f.isLive).map(f=>f.identifier),this.emit(d.BeaconLiveness,this,this.hasLiveBeacons)}getStateEventMatching(f){var E,w;return(E=(w=this.events.get(f.getType()))===null||w===void 0?void 0:w.get(f.getStateKey()))!==null&&E!==void 0?E:null}updateMember(f){const E=this.getStateEvents(a.EventType.RoomPowerLevels,"");E&&f.setPowerLevelEvent(E),delete this.sentinels[f.userId],this.members[f.userId]=f,this.joinedMemberCount=null,this.invitedMemberCount=null}needsOutOfBandMembers(){return this.oobMemberFlags.status===_.NotStarted}markOutOfBandMembersStarted(){this.oobMemberFlags.status===_.NotStarted&&(this.oobMemberFlags.status=_.InProgress)}markOutOfBandMembersFailed(){this.oobMemberFlags.status===_.InProgress&&(this.oobMemberFlags.status=_.NotStarted)}clearOutOfBandMembers(){let f=0;Object.keys(this.members).forEach(E=>{this.members[E].isOutOfBand()&&(++f,delete this.members[E])}),n.logger.log(`LL: RoomState removed ${f} members...`),this.oobMemberFlags.status=_.NotStarted}setOutOfBandMembers(f){n.logger.log(`LL: RoomState about to set ${f.length} OOB members ...`),this.oobMemberFlags.status===_.InProgress&&(n.logger.log("LL: RoomState put in finished state ..."),this.oobMemberFlags.status=_.Finished,f.forEach(E=>this.setOutOfBandMember(E)),this.emit(d.Update,this))}setOutOfBandMember(f){if(f.getType()!==a.EventType.RoomMember)return;const E=f.getStateKey(),w=this.getMember(E);if(w&&!w.isOutOfBand())return;const I=this.getOrCreateMember(E,f);I.setMembershipEvent(f,this),I.markOutOfBand(),this.updateDisplayNameCache(I.userId,I.name),this.setStateEvent(f),this.updateMember(I),this.emit(d.Members,f,this,I)}setTypingEvent(f){Object.values(this.members).forEach(function(E){E.setTypingEvent(f)})}getInviteForThreePidToken(f){return this.tokenToInvite[f]||null}updateModifiedTime(){this.modified=Date.now()}getLastModifiedTime(){return this.modified}getUserIdsWithDisplayName(f){var E;return(E=this.displayNameToUserIds.get(i.removeHiddenChars(f)))!==null&&E!==void 0?E:[]}maySendRedactionForEvent(f,E){const w=this.getMember(E);if(!w||w.membership==="leave"||f.status||f.isRedacted())return!1;const I=this.maySendEvent(a.EventType.RoomRedaction,E);return f.getSender()===E?I:this.hasSufficientPowerLevelFor("redact",w.powerLevel)}hasSufficientPowerLevelFor(f,E){const w=this.getStateEvents(a.EventType.RoomPowerLevels,"");let I={};w&&(I=w.getContent());let D=50;return i.isNumber(I[f])&&(D=I[f]),E>=D}maySendMessage(f){return this.maySendEventOfType(a.EventType.RoomMessage,f,!1)}maySendEvent(f,E){return this.maySendEventOfType(f,E,!1)}mayClientSendStateEvent(f,E){return E.isGuest()||!E.credentials.userId?!1:this.maySendStateEvent(f,E.credentials.userId)}maySendStateEvent(f,E){return this.maySendEventOfType(f,E,!0)}maySendEventOfType(f,E,w){const I=this.getStateEvents(a.EventType.RoomPowerLevels,"");let D,A={},L=0,F=0,x=0;if(I){D=I.getContent(),A=D.events||{},Number.isSafeInteger(D.state_default)?L=D.state_default:L=50;const K=D.users&&D.users[E];Number.isSafeInteger(K)?x=K:Number.isSafeInteger(D.users_default)&&(x=D.users_default),Number.isSafeInteger(D.events_default)&&(F=D.events_default)}let H=w?L:F;return Number.isSafeInteger(A[f])&&(H=A[f]),x>=H}mayTriggerNotifOfType(f,E){const w=this.getMember(E);if(!w)return!1;const I=this.getStateEvents(a.EventType.RoomPowerLevels,"");let D=50;return I&&I.getContent()&&I.getContent().notifications&&i.isNumber(I.getContent().notifications[f])&&(D=I.getContent().notifications[f]),w.powerLevel>=D}getJoinRule(){var f;const E=this.getStateEvents(a.EventType.RoomJoinRules,"");return((f=E==null?void 0:E.getContent())!==null&&f!==void 0?f:{}).join_rule||p.JoinRule.Invite}getHistoryVisibility(){var f;const E=this.getStateEvents(a.EventType.RoomHistoryVisibility,"");return((f=E==null?void 0:E.getContent())!==null&&f!==void 0?f:{}).history_visibility||p.HistoryVisibility.Shared}getGuestAccess(){var f;const E=this.getStateEvents(a.EventType.RoomGuestAccess,"");return((f=E==null?void 0:E.getContent())!==null&&f!==void 0?f:{}).guest_access||p.GuestAccess.Forbidden}updateThirdPartyTokenCache(f){if(!f.getContent().third_party_invite)return;const E=(f.getContent().third_party_invite.signed||{}).token;!E||!this.getStateEvents(a.EventType.RoomThirdPartyInvite,E)||(this.tokenToInvite[E]=f)}updateDisplayNameCache(f,E){const w=this.userIdsToDisplayNames[f];if(delete this.userIdsToDisplayNames[f],w){const A=i.removeHiddenChars(w),L=this.displayNameToUserIds.get(A);if(L){const F=L.filter(x=>x!==f);this.displayNameToUserIds.set(A,F)}}this.userIdsToDisplayNames[f]=E;const I=E&&i.removeHiddenChars(E);if(I){var D;const A=(D=this.displayNameToUserIds.get(I))!==null&&D!==void 0?D:[];A.push(f),this.displayNameToUserIds.set(I,A)}}}return Oi.RoomState=l,Oi}var tj=Ae;Object.defineProperty(du,"__esModule",{value:!0});du.MemoryStore=void 0;var Hr=tj(Ue),rj=Zr,L9=Ia();function x9(e){return typeof e=="string"&&!!e&&e!=="undefined"&&e!=="null"||typeof e=="number"}class nj{constructor(t={}){(0,Hr.default)(this,"rooms",{}),(0,Hr.default)(this,"users",{}),(0,Hr.default)(this,"syncToken",null),(0,Hr.default)(this,"filters",{}),(0,Hr.default)(this,"accountData",{}),(0,Hr.default)(this,"localStorage",void 0),(0,Hr.default)(this,"oobMembers",{}),(0,Hr.default)(this,"pendingEvents",{}),(0,Hr.default)(this,"clientOptions",void 0),(0,Hr.default)(this,"pendingToDeviceBatches",[]),(0,Hr.default)(this,"nextToDeviceBatchId",0),(0,Hr.default)(this,"onRoomMember",(r,n,i)=>{if(i.membership==="invite")return;const a=this.users[i.userId]||new rj.User(i.userId);i.name&&(a.setDisplayName(i.name),i.events.member&&a.setRawDisplayName(i.events.member.getDirectionalContent().displayname)),i.events.member&&i.events.member.getContent().avatar_url&&a.setAvatarUrl(i.events.member.getContent().avatar_url),this.users[a.userId]=a}),this.localStorage=t.localStorage}getSyncToken(){return this.syncToken}isNewlyCreated(){return Promise.resolve(!0)}setSyncToken(t){this.syncToken=t}storeRoom(t){this.rooms[t.roomId]=t,t.currentState.on(L9.RoomStateEvent.Members,this.onRoomMember),t.currentState.getMembers().forEach(r=>{this.onRoomMember(null,t.currentState,r)})}getRoom(t){return this.rooms[t]||null}getRooms(){return Object.values(this.rooms)}removeRoom(t){this.rooms[t]&&this.rooms[t].currentState.removeListener(L9.RoomStateEvent.Members,this.onRoomMember),delete this.rooms[t]}getRoomSummaries(){return Object.values(this.rooms).map(function(t){return t.summary})}storeUser(t){this.users[t.userId]=t}getUser(t){return this.users[t]||null}getUsers(){return Object.values(this.users)}scrollback(t,r){return[]}storeEvents(t,r,n,i){}storeFilter(t){!(t!=null&&t.userId)||!(t!=null&&t.filterId)||(this.filters[t.userId]||(this.filters[t.userId]={}),this.filters[t.userId][t.filterId]=t)}getFilter(t,r){return!this.filters[t]||!this.filters[t][r]?null:this.filters[t][r]}getFilterIdByName(t){if(!this.localStorage)return null;const r="mxjssdk_memory_filter_"+t;try{const n=this.localStorage.getItem(r);if(x9(n))return n}catch{}return null}setFilterIdByName(t,r){if(!this.localStorage)return;const n="mxjssdk_memory_filter_"+t;try{x9(r)?this.localStorage.setItem(n,r):this.localStorage.removeItem(n)}catch{}}storeAccountDataEvents(t){t.forEach(r=>{this.accountData[r.getType()]=r})}getAccountData(t){return this.accountData[t]}setSyncData(t){return Promise.resolve()}wantsSave(){return!1}save(t){}startup(){return Promise.resolve()}getSavedSync(){return Promise.resolve(null)}getSavedSyncToken(){return Promise.resolve(null)}deleteAllData(){return this.rooms={},this.users={},this.syncToken=null,this.filters={},this.accountData={},Promise.resolve()}getOutOfBandMembers(t){return Promise.resolve(this.oobMembers[t]||null)}setOutOfBandMembers(t,r){return this.oobMembers[t]=r,Promise.resolve()}clearOutOfBandMembers(t){return this.oobMembers={},Promise.resolve()}getClientOptions(){return Promise.resolve(this.clientOptions)}storeClientOptions(t){return this.clientOptions=Object.assign({},t),Promise.resolve()}async getPendingEvents(t){var r;return(r=this.pendingEvents[t])!==null&&r!==void 0?r:[]}async setPendingEvents(t,r){this.pendingEvents[t]=r}saveToDeviceBatches(t){for(const r of t)this.pendingToDeviceBatches.push({id:this.nextToDeviceBatchId++,eventType:r.eventType,txnId:r.txnId,batch:r.batch});return Promise.resolve()}async getOldestToDeviceBatch(){return this.pendingToDeviceBatches.length===0?null:this.pendingToDeviceBatches[0]}removeToDeviceBatch(t){return this.pendingToDeviceBatches=this.pendingToDeviceBatches.filter(r=>r.id!==t),Promise.resolve()}}du.MemoryStore=nj;var _1={},sh={},Ll={},Ba={},U9;function W0(){if(U9)return Ba;U9=1,Object.defineProperty(Ba,"__esModule",{value:!0}),Ba.WidgetApiDirection=void 0,Ba.invertedDirection=t;var e;Ba.WidgetApiDirection=e,function(r){r.ToWidget="toWidget",r.FromWidget="fromWidget"}(e||(Ba.WidgetApiDirection=e={}));function t(r){if(r===e.ToWidget)return e.FromWidget;if(r===e.FromWidget)return e.ToWidget;throw new Error("Invalid direction")}return Ba}var un={},$9;function H0(){if($9)return un;$9=1,Object.defineProperty(un,"__esModule",{value:!0}),un.UnstableApiVersion=un.MatrixApiVersion=un.CurrentApiVersions=void 0;var e;un.MatrixApiVersion=e,function(n){n.Prerelease1="0.0.1",n.Prerelease2="0.0.2"}(e||(un.MatrixApiVersion=e={}));var t;un.UnstableApiVersion=t,function(n){n.MSC2762="org.matrix.msc2762",n.MSC2871="org.matrix.msc2871",n.MSC2931="org.matrix.msc2931",n.MSC2974="org.matrix.msc2974",n.MSC2876="org.matrix.msc2876",n.MSC3819="org.matrix.msc3819",n.MSC3846="town.robin.msc3846",n.MSC3869="org.matrix.msc3869"}(t||(un.UnstableApiVersion=t={}));var r=[e.Prerelease1,e.Prerelease2,t.MSC2762,t.MSC2871,t.MSC2931,t.MSC2974,t.MSC2876,t.MSC3819,t.MSC3846,t.MSC3869];return un.CurrentApiVersions=r,un}var xl={},F9;function G0(){if(F9)return xl;F9=1;function e(d){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},e(d)}Object.defineProperty(xl,"__esModule",{value:!0}),xl.PostmessageTransport=void 0;var t=d1(),r=S1();function n(d,l){var c=Object.keys(d);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(d);l&&(f=f.filter(function(E){return Object.getOwnPropertyDescriptor(d,E).enumerable})),c.push.apply(c,f)}return c}function i(d){for(var l=1;l<arguments.length;l++){var c=arguments[l]!=null?arguments[l]:{};l%2?n(Object(c),!0).forEach(function(f){h(d,f,c[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(c)):n(Object(c)).forEach(function(f){Object.defineProperty(d,f,Object.getOwnPropertyDescriptor(c,f))})}return d}function a(d,l){if(!(d instanceof l))throw new TypeError("Cannot call a class as a function")}function o(d,l){for(var c=0;c<l.length;c++){var f=l[c];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(d,f.key,f)}}function p(d,l,c){return l&&o(d.prototype,l),c&&o(d,c),Object.defineProperty(d,"prototype",{writable:!1}),d}function u(d,l){if(typeof l!="function"&&l!==null)throw new TypeError("Super expression must either be null or a function");d.prototype=Object.create(l&&l.prototype,{constructor:{value:d,writable:!0,configurable:!0}}),Object.defineProperty(d,"prototype",{writable:!1}),l&&y(d,l)}function y(d,l){return y=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(f,E){return f.__proto__=E,f},y(d,l)}function s(d){var l=S();return function(){var f=v(d),E;if(l){var w=v(this).constructor;E=Reflect.construct(f,arguments,w)}else E=f.apply(this,arguments);return m(this,E)}}function m(d,l){if(l&&(e(l)==="object"||typeof l=="function"))return l;if(l!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return g(d)}function g(d){if(d===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return d}function S(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function v(d){return v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(c){return c.__proto__||Object.getPrototypeOf(c)},v(d)}function h(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}var _=function(d){u(c,d);var l=s(c);function c(f,E,w,I){var D;return a(this,c),D=l.call(this),D.sendDirection=f,D.initialWidgetId=E,D.transportWindow=w,D.inboundWindow=I,h(g(D),"strictOriginCheck",void 0),h(g(D),"targetOrigin",void 0),h(g(D),"timeoutSeconds",10),h(g(D),"_ready",!1),h(g(D),"_widgetId",null),h(g(D),"outboundRequests",new Map),h(g(D),"stopController",new AbortController),D._widgetId=E,D}return p(c,[{key:"ready",get:function(){return this._ready}},{key:"widgetId",get:function(){return this._widgetId||null}},{key:"nextRequestId",get:function(){for(var E="widgetapi-".concat(Date.now()),w=0,I=E;this.outboundRequests.has(I);)I="".concat(E,"-").concat(w++);return this.outboundRequests.set(I,null),I}},{key:"sendInternal",value:function(E){var w=this.targetOrigin||"*";console.log("[PostmessageTransport] Sending object to ".concat(w,": "),E),this.transportWindow.postMessage(E,w)}},{key:"reply",value:function(E,w){return this.sendInternal(i(i({},E),{},{response:w}))}},{key:"send",value:function(E,w){return this.sendComplete(E,w).then(function(I){return I.response})}},{key:"sendComplete",value:function(E,w){var I=this;if(!this.ready||!this.widgetId)return Promise.reject(new Error("Not ready or unknown widget ID"));var D={api:this.sendDirection,widgetId:this.widgetId,requestId:this.nextRequestId,action:E,data:w};return E===r.WidgetApiToWidgetAction.UpdateVisibility&&(D.visible=w.visible),new Promise(function(A,L){var F=function(G){W(),A(G)},x=function(G){W(),L(G)},H=setTimeout(function(){return x(new Error("Request timed out"))},(I.timeoutSeconds||1)*1e3),K=function(){return x(new Error("Transport stopped"))};I.stopController.signal.addEventListener("abort",K);var W=function(){I.outboundRequests.delete(D.requestId),clearTimeout(H),I.stopController.signal.removeEventListener("abort",K)};I.outboundRequests.set(D.requestId,{request:D,resolve:F,reject:x}),I.sendInternal(D)})}},{key:"start",value:function(){var E=this;this.inboundWindow.addEventListener("message",function(w){E.handleMessage(w)}),this._ready=!0}},{key:"stop",value:function(){this._ready=!1,this.stopController.abort()}},{key:"handleMessage",value:function(E){if(!this.stopController.signal.aborted&&E.data&&!(this.strictOriginCheck&&E.origin!==window.origin)){var w=E.data;if(!(!w.action||!w.requestId||!w.widgetId))if(w.response){if(w.api!==this.sendDirection)return;this.handleResponse(w)}else{var I=w;if(I.api!==(0,r.invertedDirection)(this.sendDirection))return;this.handleRequest(I)}}}},{key:"handleRequest",value:function(E){if(this.widgetId){if(this.widgetId!==E.widgetId)return}else this._widgetId=E.widgetId;this.emit("message",new CustomEvent("message",{detail:E}))}},{key:"handleResponse",value:function(E){if(E.widgetId===this.widgetId){var w=this.outboundRequests.get(E.requestId);if(w)if((0,r.isErrorResponse)(E.response)){var I=E.response;w.reject(new Error(I.error.message))}else w.resolve(E)}}}]),c}(t.EventEmitter);return xl.PostmessageTransport=_,xl}var ni={},B9;function z0(){if(B9)return ni;B9=1,Object.defineProperty(ni,"__esModule",{value:!0}),ni.WidgetApiToWidgetAction=ni.WidgetApiFromWidgetAction=void 0;var e;ni.WidgetApiToWidgetAction=e,function(r){r.SupportedApiVersions="supported_api_versions",r.Capabilities="capabilities",r.NotifyCapabilities="notify_capabilities",r.TakeScreenshot="screenshot",r.UpdateVisibility="visibility",r.OpenIDCredentials="openid_credentials",r.WidgetConfig="widget_config",r.CloseModalWidget="close_modal",r.ButtonClicked="button_clicked",r.SendEvent="send_event",r.SendToDevice="send_to_device",r.UpdateTurnServers="update_turn_servers"}(e||(ni.WidgetApiToWidgetAction=e={}));var t;return ni.WidgetApiFromWidgetAction=t,function(r){r.SupportedApiVersions="supported_api_versions",r.ContentLoaded="content_loaded",r.SendSticker="m.sticker",r.UpdateAlwaysOnScreen="set_always_on_screen",r.GetOpenIDCredentials="get_openid",r.CloseModalWidget="close_modal",r.OpenModalWidget="open_modal",r.SetModalButtonEnabled="set_button_enabled",r.SendEvent="send_event",r.SendToDevice="send_to_device",r.WatchTurnServers="watch_turn_servers",r.UnwatchTurnServers="unwatch_turn_servers",r.MSC2876ReadEvents="org.matrix.msc2876.read_events",r.MSC2931Navigate="org.matrix.msc2931.navigate",r.MSC2974RenegotiateCapabilities="org.matrix.msc2974.request_capabilities",r.MSC3869ReadRelations="org.matrix.msc3869.read_relations"}(t||(ni.WidgetApiFromWidgetAction=t={})),ni}var No={},j9;function Y0(){if(j9)return No;j9=1,Object.defineProperty(No,"__esModule",{value:!0}),No.OpenIDRequestState=void 0;var e;return No.OpenIDRequestState=e,function(t){t.Allowed="allowed",t.Blocked="blocked",t.PendingUserConfirmation="request"}(e||(No.OpenIDRequestState=e={})),No}var Lo={},K9;function uw(){if(K9)return Lo;K9=1,Object.defineProperty(Lo,"__esModule",{value:!0}),Lo.MatrixWidgetType=void 0;var e;return Lo.MatrixWidgetType=e,function(t){t.Custom="m.custom",t.JitsiMeet="m.jitsi",t.Stickerpicker="m.stickerpicker"}(e||(Lo.MatrixWidgetType=e={})),Lo}var xo={},V9;function cw(){if(V9)return xo;V9=1,Object.defineProperty(xo,"__esModule",{value:!0}),xo.BuiltInModalButtonID=void 0;var e;return xo.BuiltInModalButtonID=e,function(t){t.Close="m.close"}(e||(xo.BuiltInModalButtonID=e={})),xo}var cn={},q9;function Q0(){if(q9)return cn;q9=1,Object.defineProperty(cn,"__esModule",{value:!0}),cn.WidgetEventCapability=cn.EventKind=cn.EventDirection=void 0;function e(y,s){var m=typeof Symbol<"u"&&y[Symbol.iterator]||y["@@iterator"];if(!m){if(Array.isArray(y)||(m=t(y))||s&&y&&typeof y.length=="number"){m&&(y=m);var g=0,S=function(){};return{s:S,n:function(){return g>=y.length?{done:!0}:{done:!1,value:y[g++]}},e:function(l){throw l},f:S}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var v=!0,h=!1,_;return{s:function(){m=m.call(y)},n:function(){var l=m.next();return v=l.done,l},e:function(l){h=!0,_=l},f:function(){try{!v&&m.return!=null&&m.return()}finally{if(h)throw _}}}}function t(y,s){if(y){if(typeof y=="string")return r(y,s);var m=Object.prototype.toString.call(y).slice(8,-1);if(m==="Object"&&y.constructor&&(m=y.constructor.name),m==="Map"||m==="Set")return Array.from(y);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return r(y,s)}}function r(y,s){(s==null||s>y.length)&&(s=y.length);for(var m=0,g=new Array(s);m<s;m++)g[m]=y[m];return g}function n(y,s){if(!(y instanceof s))throw new TypeError("Cannot call a class as a function")}function i(y,s){for(var m=0;m<s.length;m++){var g=s[m];g.enumerable=g.enumerable||!1,g.configurable=!0,"value"in g&&(g.writable=!0),Object.defineProperty(y,g.key,g)}}function a(y,s,m){return s&&i(y.prototype,s),m&&i(y,m),Object.defineProperty(y,"prototype",{writable:!1}),y}var o;cn.EventKind=o,function(y){y.Event="event",y.State="state_event",y.ToDevice="to_device"}(o||(cn.EventKind=o={}));var p;cn.EventDirection=p,function(y){y.Send="send",y.Receive="receive"}(p||(cn.EventDirection=p={}));var u=function(){function y(s,m,g,S,v){n(this,y),this.direction=s,this.eventType=m,this.kind=g,this.keyStr=S,this.raw=v}return a(y,[{key:"matchesAsStateEvent",value:function(m,g,S){return this.kind!==o.State||this.direction!==m||this.eventType!==g?!1:this.keyStr===null||this.keyStr===S}},{key:"matchesAsToDeviceEvent",value:function(m,g){return!(this.kind!==o.ToDevice||this.direction!==m||this.eventType!==g)}},{key:"matchesAsRoomEvent",value:function(m,g){var S=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null;if(this.kind!==o.Event||this.direction!==m||this.eventType!==g)return!1;if(this.eventType==="m.room.message"){if(this.keyStr===null||this.keyStr===S)return!0}else return!0;return!1}}],[{key:"forStateEvent",value:function(m,g,S){g=g.replace(/#/g,"\\#"),S=S!=null?"#".concat(S):"";var v="org.matrix.msc2762.".concat(m,".state_event:").concat(g).concat(S);return y.findEventCapabilities([v])[0]}},{key:"forToDeviceEvent",value:function(m,g){var S="org.matrix.msc3819.".concat(m,".to_device:").concat(g);return y.findEventCapabilities([S])[0]}},{key:"forRoomEvent",value:function(m,g){var S="org.matrix.msc2762.".concat(m,".event:").concat(g);return y.findEventCapabilities([S])[0]}},{key:"forRoomMessageEvent",value:function(m,g){g=g??"";var S="org.matrix.msc2762.".concat(m,".event:m.room.message#").concat(g);return y.findEventCapabilities([S])[0]}},{key:"findEventCapabilities",value:function(m){var g=[],S=e(m),v;try{for(S.s();!(v=S.n()).done;){var h=v.value,_=null,d=void 0,l=null;if(h.startsWith("org.matrix.msc2762.send.event:")?(_=p.Send,l=o.Event,d=h.substring(30)):h.startsWith("org.matrix.msc2762.send.state_event:")?(_=p.Send,l=o.State,d=h.substring(36)):h.startsWith("org.matrix.msc3819.send.to_device:")?(_=p.Send,l=o.ToDevice,d=h.substring(34)):h.startsWith("org.matrix.msc2762.receive.event:")?(_=p.Receive,l=o.Event,d=h.substring(33)):h.startsWith("org.matrix.msc2762.receive.state_event:")?(_=p.Receive,l=o.State,d=h.substring(39)):h.startsWith("org.matrix.msc3819.receive.to_device:")&&(_=p.Receive,l=o.ToDevice,d=h.substring(37)),!(_===null||l===null)){var c=d.startsWith("m.room.message#")||l===o.State,f=null;if(d.includes("#")&&c){var E=d.split("#"),w=E.findIndex(function(I){return!I.endsWith("\\")});d=E.slice(0,w+1).map(function(I){return I.endsWith("\\")?I.substring(0,I.length-1):I}).join("#"),f=E.slice(w+1).join("#")}g.push(new y(_,d,l,f,h))}}}catch(I){S.e(I)}finally{S.f()}return g}}]),y}();return cn.WidgetEventCapability=u,cn}var Uo={},W9;function J0(){if(W9)return Uo;W9=1,Object.defineProperty(Uo,"__esModule",{value:!0}),Uo.Symbols=void 0;var e;return Uo.Symbols=e,function(t){t.AnyRoom="*"}(e||(Uo.Symbols=e={})),Uo}var H9;function ij(){if(H9)return Ll;H9=1;function e(K){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(W){return typeof W}:function(W){return W&&typeof Symbol=="function"&&W.constructor===Symbol&&W!==Symbol.prototype?"symbol":typeof W},e(K)}Object.defineProperty(Ll,"__esModule",{value:!0}),Ll.WidgetApi=void 0;var t=d1(),r=W0(),n=H0(),i=G0(),a=z0(),o=Y0(),p=uw(),u=cw(),y=Q0(),s=J0();function m(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */m=function(){return K};var K={},W=Object.prototype,X=W.hasOwnProperty,G=typeof Symbol=="function"?Symbol:{},j=G.iterator||"@@iterator",Y=G.asyncIterator||"@@asyncIterator",R=G.toStringTag||"@@toStringTag";function k(ue,pe,ve){return Object.defineProperty(ue,pe,{value:ve,enumerable:!0,configurable:!0,writable:!0}),ue[pe]}try{k({},"")}catch{k=function(ve,he,ce){return ve[he]=ce}}function B(ue,pe,ve,he){var ce=pe&&pe.prototype instanceof N?pe:N,Se=Object.create(ce.prototype),Te=new re(he||[]);return Se._invoke=function(Me,Ke,Ne){var qe="suspendedStart";return function(Fe,Le){if(qe==="executing")throw new Error("Generator is already running");if(qe==="completed"){if(Fe==="throw")throw Le;return de()}for(Ne.method=Fe,Ne.arg=Le;;){var We=Ne.delegate;if(We){var Re=O(We,Ne);if(Re){if(Re===C)continue;return Re}}if(Ne.method==="next")Ne.sent=Ne._sent=Ne.arg;else if(Ne.method==="throw"){if(qe==="suspendedStart")throw qe="completed",Ne.arg;Ne.dispatchException(Ne.arg)}else Ne.method==="return"&&Ne.abrupt("return",Ne.arg);qe="executing";var b=$(Me,Ke,Ne);if(b.type==="normal"){if(qe=Ne.done?"completed":"suspendedYield",b.arg===C)continue;return{value:b.arg,done:Ne.done}}b.type==="throw"&&(qe="completed",Ne.method="throw",Ne.arg=b.arg)}}}(ue,ve,Te),Se}function $(ue,pe,ve){try{return{type:"normal",arg:ue.call(pe,ve)}}catch(he){return{type:"throw",arg:he}}}K.wrap=B;var C={};function N(){}function T(){}function ee(){}var ne={};k(ne,j,function(){return this});var se=Object.getPrototypeOf,me=se&&se(se(le([])));me&&me!==W&&X.call(me,j)&&(ne=me);var q=ee.prototype=N.prototype=Object.create(ne);function oe(ue){["next","throw","return"].forEach(function(pe){k(ue,pe,function(ve){return this._invoke(pe,ve)})})}function M(ue,pe){function ve(ce,Se,Te,Me){var Ke=$(ue[ce],ue,Se);if(Ke.type!=="throw"){var Ne=Ke.arg,qe=Ne.value;return qe&&e(qe)=="object"&&X.call(qe,"__await")?pe.resolve(qe.__await).then(function(Fe){ve("next",Fe,Te,Me)},function(Fe){ve("throw",Fe,Te,Me)}):pe.resolve(qe).then(function(Fe){Ne.value=Fe,Te(Ne)},function(Fe){return ve("throw",Fe,Te,Me)})}Me(Ke.arg)}var he;this._invoke=function(ce,Se){function Te(){return new pe(function(Me,Ke){ve(ce,Se,Me,Ke)})}return he=he?he.then(Te,Te):Te()}}function O(ue,pe){var ve=ue.iterator[pe.method];if(ve===void 0){if(pe.delegate=null,pe.method==="throw"){if(ue.iterator.return&&(pe.method="return",pe.arg=void 0,O(ue,pe),pe.method==="throw"))return C;pe.method="throw",pe.arg=new TypeError("The iterator does not provide a 'throw' method")}return C}var he=$(ve,ue.iterator,pe.arg);if(he.type==="throw")return pe.method="throw",pe.arg=he.arg,pe.delegate=null,C;var ce=he.arg;return ce?ce.done?(pe[ue.resultName]=ce.value,pe.next=ue.nextLoc,pe.method!=="return"&&(pe.method="next",pe.arg=void 0),pe.delegate=null,C):ce:(pe.method="throw",pe.arg=new TypeError("iterator result is not an object"),pe.delegate=null,C)}function z(ue){var pe={tryLoc:ue[0]};1 in ue&&(pe.catchLoc=ue[1]),2 in ue&&(pe.finallyLoc=ue[2],pe.afterLoc=ue[3]),this.tryEntries.push(pe)}function J(ue){var pe=ue.completion||{};pe.type="normal",delete pe.arg,ue.completion=pe}function re(ue){this.tryEntries=[{tryLoc:"root"}],ue.forEach(z,this),this.reset(!0)}function le(ue){if(ue){var pe=ue[j];if(pe)return pe.call(ue);if(typeof ue.next=="function")return ue;if(!isNaN(ue.length)){var ve=-1,he=function ce(){for(;++ve<ue.length;)if(X.call(ue,ve))return ce.value=ue[ve],ce.done=!1,ce;return ce.value=void 0,ce.done=!0,ce};return he.next=he}}return{next:de}}function de(){return{value:void 0,done:!0}}return T.prototype=ee,k(q,"constructor",ee),k(ee,"constructor",T),T.displayName=k(ee,R,"GeneratorFunction"),K.isGeneratorFunction=function(ue){var pe=typeof ue=="function"&&ue.constructor;return!!pe&&(pe===T||(pe.displayName||pe.name)==="GeneratorFunction")},K.mark=function(ue){return Object.setPrototypeOf?Object.setPrototypeOf(ue,ee):(ue.__proto__=ee,k(ue,R,"GeneratorFunction")),ue.prototype=Object.create(q),ue},K.awrap=function(ue){return{__await:ue}},oe(M.prototype),k(M.prototype,Y,function(){return this}),K.AsyncIterator=M,K.async=function(ue,pe,ve,he,ce){ce===void 0&&(ce=Promise);var Se=new M(B(ue,pe,ve,he),ce);return K.isGeneratorFunction(pe)?Se:Se.next().then(function(Te){return Te.done?Te.value:Se.next()})},oe(q),k(q,R,"Generator"),k(q,j,function(){return this}),k(q,"toString",function(){return"[object Generator]"}),K.keys=function(ue){var pe=[];for(var ve in ue)pe.push(ve);return pe.reverse(),function he(){for(;pe.length;){var ce=pe.pop();if(ce in ue)return he.value=ce,he.done=!1,he}return he.done=!0,he}},K.values=le,re.prototype={constructor:re,reset:function(pe){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(J),!pe)for(var ve in this)ve.charAt(0)==="t"&&X.call(this,ve)&&!isNaN(+ve.slice(1))&&(this[ve]=void 0)},stop:function(){this.done=!0;var pe=this.tryEntries[0].completion;if(pe.type==="throw")throw pe.arg;return this.rval},dispatchException:function(pe){if(this.done)throw pe;var ve=this;function he(Ne,qe){return Te.type="throw",Te.arg=pe,ve.next=Ne,qe&&(ve.method="next",ve.arg=void 0),!!qe}for(var ce=this.tryEntries.length-1;ce>=0;--ce){var Se=this.tryEntries[ce],Te=Se.completion;if(Se.tryLoc==="root")return he("end");if(Se.tryLoc<=this.prev){var Me=X.call(Se,"catchLoc"),Ke=X.call(Se,"finallyLoc");if(Me&&Ke){if(this.prev<Se.catchLoc)return he(Se.catchLoc,!0);if(this.prev<Se.finallyLoc)return he(Se.finallyLoc)}else if(Me){if(this.prev<Se.catchLoc)return he(Se.catchLoc,!0)}else{if(!Ke)throw new Error("try statement without catch or finally");if(this.prev<Se.finallyLoc)return he(Se.finallyLoc)}}}},abrupt:function(pe,ve){for(var he=this.tryEntries.length-1;he>=0;--he){var ce=this.tryEntries[he];if(ce.tryLoc<=this.prev&&X.call(ce,"finallyLoc")&&this.prev<ce.finallyLoc){var Se=ce;break}}Se&&(pe==="break"||pe==="continue")&&Se.tryLoc<=ve&&ve<=Se.finallyLoc&&(Se=null);var Te=Se?Se.completion:{};return Te.type=pe,Te.arg=ve,Se?(this.method="next",this.next=Se.finallyLoc,C):this.complete(Te)},complete:function(pe,ve){if(pe.type==="throw")throw pe.arg;return pe.type==="break"||pe.type==="continue"?this.next=pe.arg:pe.type==="return"?(this.rval=this.arg=pe.arg,this.method="return",this.next="end"):pe.type==="normal"&&ve&&(this.next=ve),C},finish:function(pe){for(var ve=this.tryEntries.length-1;ve>=0;--ve){var he=this.tryEntries[ve];if(he.finallyLoc===pe)return this.complete(he.completion,he.afterLoc),J(he),C}},catch:function(pe){for(var ve=this.tryEntries.length-1;ve>=0;--ve){var he=this.tryEntries[ve];if(he.tryLoc===pe){var ce=he.completion;if(ce.type==="throw"){var Se=ce.arg;J(he)}return Se}}throw new Error("illegal catch attempt")},delegateYield:function(pe,ve,he){return this.delegate={iterator:le(pe),resultName:ve,nextLoc:he},this.method==="next"&&(this.arg=void 0),C}},K}function g(K,W,X,G,j,Y,R){try{var k=K[Y](R),B=k.value}catch($){X($);return}k.done?W(B):Promise.resolve(B).then(G,j)}function S(K){return function(){var W=this,X=arguments;return new Promise(function(G,j){var Y=K.apply(W,X);function R(B){g(Y,G,j,R,k,"next",B)}function k(B){g(Y,G,j,R,k,"throw",B)}R(void 0)})}}function v(K,W){if(!(K instanceof W))throw new TypeError("Cannot call a class as a function")}function h(K,W){for(var X=0;X<W.length;X++){var G=W[X];G.enumerable=G.enumerable||!1,G.configurable=!0,"value"in G&&(G.writable=!0),Object.defineProperty(K,G.key,G)}}function _(K,W,X){return W&&h(K.prototype,W),X&&h(K,X),Object.defineProperty(K,"prototype",{writable:!1}),K}function d(K,W){if(typeof W!="function"&&W!==null)throw new TypeError("Super expression must either be null or a function");K.prototype=Object.create(W&&W.prototype,{constructor:{value:K,writable:!0,configurable:!0}}),Object.defineProperty(K,"prototype",{writable:!1}),W&&l(K,W)}function l(K,W){return l=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(G,j){return G.__proto__=j,G},l(K,W)}function c(K){var W=w();return function(){var G=I(K),j;if(W){var Y=I(this).constructor;j=Reflect.construct(G,arguments,Y)}else j=G.apply(this,arguments);return f(this,j)}}function f(K,W){if(W&&(e(W)==="object"||typeof W=="function"))return W;if(W!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return E(K)}function E(K){if(K===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return K}function w(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function I(K){return I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},I(K)}function D(K,W,X){return W in K?Object.defineProperty(K,W,{value:X,enumerable:!0,configurable:!0,writable:!0}):K[W]=X,K}function A(K){return new x(K)}function L(K){return function(){return new F(K.apply(this,arguments))}}function F(K){var W,X;function G(R,k){return new Promise(function(B,$){var C={key:R,arg:k,resolve:B,reject:$,next:null};X?X=X.next=C:(W=X=C,j(R,k))})}function j(R,k){try{var B=K[R](k),$=B.value,C=$ instanceof x;Promise.resolve(C?$.wrapped:$).then(function(N){if(C){j(R==="return"?"return":"next",N);return}Y(B.done?"return":"normal",N)},function(N){j("throw",N)})}catch(N){Y("throw",N)}}function Y(R,k){switch(R){case"return":W.resolve({value:k,done:!0});break;case"throw":W.reject(k);break;default:W.resolve({value:k,done:!1});break}W=W.next,W?j(W.key,W.arg):X=null}this._invoke=G,typeof K.return!="function"&&(this.return=void 0)}F.prototype[typeof Symbol=="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},F.prototype.next=function(K){return this._invoke("next",K)},F.prototype.throw=function(K){return this._invoke("throw",K)},F.prototype.return=function(K){return this._invoke("return",K)};function x(K){this.wrapped=K}var H=function(K){d(X,K);var W=c(X);function X(){var G,j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(v(this,X),G=W.call(this),G.clientOrigin=Y,D(E(G),"transport",void 0),D(E(G),"capabilitiesFinished",!1),D(E(G),"supportsMSC2974Renegotiate",!1),D(E(G),"requestedCapabilities",[]),D(E(G),"approvedCapabilities",void 0),D(E(G),"cachedClientVersions",void 0),D(E(G),"turnServerWatchers",0),!window.parent)throw new Error("No parent window. This widget doesn't appear to be embedded properly.");return G.transport=new i.PostmessageTransport(r.WidgetApiDirection.FromWidget,j,window.parent,window),G.transport.targetOrigin=Y,G.transport.on("message",G.handleMessage.bind(E(G))),G}return _(X,[{key:"hasCapability",value:function(j){return Array.isArray(this.approvedCapabilities)?this.approvedCapabilities.includes(j):this.requestedCapabilities.includes(j)}},{key:"requestCapability",value:function(j){if(this.capabilitiesFinished&&!this.supportsMSC2974Renegotiate)throw new Error("Capabilities have already been negotiated");this.requestedCapabilities.push(j)}},{key:"requestCapabilities",value:function(j){var Y=this;j.forEach(function(R){return Y.requestCapability(R)})}},{key:"requestCapabilityForRoomTimeline",value:function(j){this.requestCapability("org.matrix.msc2762.timeline:".concat(j))}},{key:"requestCapabilityToSendState",value:function(j,Y){this.requestCapability(y.WidgetEventCapability.forStateEvent(y.EventDirection.Send,j,Y).raw)}},{key:"requestCapabilityToReceiveState",value:function(j,Y){this.requestCapability(y.WidgetEventCapability.forStateEvent(y.EventDirection.Receive,j,Y).raw)}},{key:"requestCapabilityToSendToDevice",value:function(j){this.requestCapability(y.WidgetEventCapability.forToDeviceEvent(y.EventDirection.Send,j).raw)}},{key:"requestCapabilityToReceiveToDevice",value:function(j){this.requestCapability(y.WidgetEventCapability.forToDeviceEvent(y.EventDirection.Receive,j).raw)}},{key:"requestCapabilityToSendEvent",value:function(j){this.requestCapability(y.WidgetEventCapability.forRoomEvent(y.EventDirection.Send,j).raw)}},{key:"requestCapabilityToReceiveEvent",value:function(j){this.requestCapability(y.WidgetEventCapability.forRoomEvent(y.EventDirection.Receive,j).raw)}},{key:"requestCapabilityToSendMessage",value:function(j){this.requestCapability(y.WidgetEventCapability.forRoomMessageEvent(y.EventDirection.Send,j).raw)}},{key:"requestCapabilityToReceiveMessage",value:function(j){this.requestCapability(y.WidgetEventCapability.forRoomMessageEvent(y.EventDirection.Receive,j).raw)}},{key:"requestOpenIDConnectToken",value:function(){var j=this;return new Promise(function(Y,R){j.transport.sendComplete(a.WidgetApiFromWidgetAction.GetOpenIDCredentials,{}).then(function(k){var B=k.response;if(B.state===o.OpenIDRequestState.Allowed)Y(B);else if(B.state===o.OpenIDRequestState.Blocked)R(new Error("User declined to verify their identity"));else if(B.state===o.OpenIDRequestState.PendingUserConfirmation){var $=function C(N){N.preventDefault();var T=N.detail;T.data.original_request_id===k.requestId&&(T.data.state===o.OpenIDRequestState.Allowed?(Y(T.data),j.transport.reply(T,{})):T.data.state===o.OpenIDRequestState.Blocked?(R(new Error("User declined to verify their identity")),j.transport.reply(T,{})):(R(new Error("Invalid state on reply: "+B.state)),j.transport.reply(T,{error:{message:"Invalid state"}})),j.off("action:".concat(a.WidgetApiToWidgetAction.OpenIDCredentials),C))};j.on("action:".concat(a.WidgetApiToWidgetAction.OpenIDCredentials),$)}else R(new Error("Invalid state: "+B.state))}).catch(R)})}},{key:"updateRequestedCapabilities",value:function(){return this.transport.send(a.WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities,{capabilities:this.requestedCapabilities}).then()}},{key:"sendContentLoaded",value:function(){return this.transport.send(a.WidgetApiFromWidgetAction.ContentLoaded,{}).then()}},{key:"sendSticker",value:function(j){return this.transport.send(a.WidgetApiFromWidgetAction.SendSticker,j).then()}},{key:"setAlwaysOnScreen",value:function(j){return this.transport.send(a.WidgetApiFromWidgetAction.UpdateAlwaysOnScreen,{value:j}).then(function(Y){return Y.success})}},{key:"openModalWidget",value:function(j,Y){var R=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],k=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},B=arguments.length>4&&arguments[4]!==void 0?arguments[4]:p.MatrixWidgetType.Custom;return this.transport.send(a.WidgetApiFromWidgetAction.OpenModalWidget,{type:B,url:j,name:Y,buttons:R,data:k}).then()}},{key:"closeModalWidget",value:function(){var j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return this.transport.send(a.WidgetApiFromWidgetAction.CloseModalWidget,j).then()}},{key:"sendRoomEvent",value:function(j,Y,R){return this.transport.send(a.WidgetApiFromWidgetAction.SendEvent,{type:j,content:Y,room_id:R})}},{key:"sendStateEvent",value:function(j,Y,R,k){return this.transport.send(a.WidgetApiFromWidgetAction.SendEvent,{type:j,content:R,state_key:Y,room_id:k})}},{key:"sendToDevice",value:function(j,Y,R){return this.transport.send(a.WidgetApiFromWidgetAction.SendToDevice,{type:j,encrypted:Y,messages:R})}},{key:"readRoomEvents",value:function(j,Y,R,k){var B={type:j,msgtype:R};return Y!==void 0&&(B.limit=Y),k&&(k.includes(s.Symbols.AnyRoom)?B.room_ids=s.Symbols.AnyRoom:B.room_ids=k),this.transport.send(a.WidgetApiFromWidgetAction.MSC2876ReadEvents,B).then(function($){return $.events})}},{key:"readEventRelations",value:function(){var G=S(m().mark(function Y(R,k,B,$,C,N,T,ee){var ne,se;return m().wrap(function(q){for(;;)switch(q.prev=q.next){case 0:return q.next=2,this.getClientVersions();case 2:if(ne=q.sent,ne.includes(n.UnstableApiVersion.MSC3869)){q.next=5;break}throw new Error("The read_relations action is not supported by the client.");case 5:return se={event_id:R,rel_type:B,event_type:$,room_id:k,to:T,from:N,limit:C,direction:ee},q.abrupt("return",this.transport.send(a.WidgetApiFromWidgetAction.MSC3869ReadRelations,se));case 7:case"end":return q.stop()}},Y,this)}));function j(Y,R,k,B,$,C,N,T){return G.apply(this,arguments)}return j}()},{key:"readStateEvents",value:function(j,Y,R,k){var B={type:j,state_key:R===void 0?!0:R};return Y!==void 0&&(B.limit=Y),k&&(k.includes(s.Symbols.AnyRoom)?B.room_ids=s.Symbols.AnyRoom:B.room_ids=k),this.transport.send(a.WidgetApiFromWidgetAction.MSC2876ReadEvents,B).then(function($){return $.events})}},{key:"setModalButtonEnabled",value:function(j,Y){if(j===u.BuiltInModalButtonID.Close)throw new Error("The close button cannot be disabled");return this.transport.send(a.WidgetApiFromWidgetAction.SetModalButtonEnabled,{button:j,enabled:Y}).then()}},{key:"navigateTo",value:function(j){if(!j||!j.startsWith("https://matrix.to/#"))throw new Error("Invalid matrix.to URI");return this.transport.send(a.WidgetApiFromWidgetAction.MSC2931Navigate,{uri:j}).then()}},{key:"getTurnServers",value:function(){var j=this;return L(m().mark(function Y(){var R,k;return m().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(k=function(){var C=S(m().mark(function N(T){return m().wrap(function(ne){for(;;)switch(ne.prev=ne.next){case 0:return T.preventDefault(),R(T.detail.data),ne.next=4,j.transport.reply(T.detail,{});case 4:case"end":return ne.stop()}},N)}));return function(T){return C.apply(this,arguments)}}(),j.on("action:".concat(a.WidgetApiToWidgetAction.UpdateTurnServers),k),j.turnServerWatchers!==0){$.next=12;break}return $.prev=3,$.next=6,A(j.transport.send(a.WidgetApiFromWidgetAction.WatchTurnServers,{}));case 6:$.next=12;break;case 8:throw $.prev=8,$.t0=$.catch(3),j.off("action:".concat(a.WidgetApiToWidgetAction.UpdateTurnServers),k),$.t0;case 12:j.turnServerWatchers++,$.prev=13;case 14:return $.next=17,A(new Promise(function(C){return R=C}));case 17:return $.next=19,$.sent;case 19:$.next=14;break;case 21:if($.prev=21,j.off("action:".concat(a.WidgetApiToWidgetAction.UpdateTurnServers),k),j.turnServerWatchers--,j.turnServerWatchers!==0){$.next=27;break}return $.next=27,A(j.transport.send(a.WidgetApiFromWidgetAction.UnwatchTurnServers,{}));case 27:return $.finish(21);case 28:case"end":return $.stop()}},Y,null,[[3,8],[13,,21,28]])}))()}},{key:"start",value:function(){var j=this;this.transport.start(),this.getClientVersions().then(function(Y){Y.includes(n.UnstableApiVersion.MSC2974)&&(j.supportsMSC2974Renegotiate=!0)})}},{key:"handleMessage",value:function(j){var Y=new CustomEvent("action:".concat(j.detail.action),{detail:j.detail,cancelable:!0});if(this.emit("action:".concat(j.detail.action),Y),!Y.defaultPrevented)switch(j.detail.action){case a.WidgetApiToWidgetAction.SupportedApiVersions:return this.replyVersions(j.detail);case a.WidgetApiToWidgetAction.Capabilities:return this.handleCapabilities(j.detail);case a.WidgetApiToWidgetAction.UpdateVisibility:return this.transport.reply(j.detail,{});case a.WidgetApiToWidgetAction.NotifyCapabilities:return this.transport.reply(j.detail,{});default:return this.transport.reply(j.detail,{error:{message:"Unknown or unsupported action: "+j.detail.action}})}}},{key:"replyVersions",value:function(j){this.transport.reply(j,{supported_versions:n.CurrentApiVersions})}},{key:"getClientVersions",value:function(){var j=this;return Array.isArray(this.cachedClientVersions)?Promise.resolve(this.cachedClientVersions):this.transport.send(a.WidgetApiFromWidgetAction.SupportedApiVersions,{}).then(function(Y){return j.cachedClientVersions=Y.supported_versions,Y.supported_versions}).catch(function(Y){return console.warn("non-fatal error getting supported client versions: ",Y),[]})}},{key:"handleCapabilities",value:function(j){var Y=this;return this.capabilitiesFinished?this.transport.reply(j,{error:{message:"Capability negotiation already completed"}}):this.getClientVersions().then(function(R){return R.includes(n.UnstableApiVersion.MSC2871)?Y.once("action:".concat(a.WidgetApiToWidgetAction.NotifyCapabilities),function(k){Y.approvedCapabilities=k.detail.data.approved,Y.emit("ready")}):Y.emit("ready"),Y.capabilitiesFinished=!0,Y.transport.reply(j,{capabilities:Y.requestedCapabilities})})}}]),X}(t.EventEmitter);return Ll.WidgetApi=H,Ll}var Ul={},Dr={},G9;function pw(){if(G9)return Dr;G9=1,Object.defineProperty(Dr,"__esModule",{value:!0}),Dr.VideoConferenceCapabilities=Dr.StickerpickerCapabilities=Dr.MatrixCapabilities=void 0,Dr.getTimelineRoomIDFromCapability=a,Dr.isTimelineCapability=n,Dr.isTimelineCapabilityFor=i;var e;Dr.MatrixCapabilities=e,function(o){o.Screenshots="m.capability.screenshot",o.StickerSending="m.sticker",o.AlwaysOnScreen="m.always_on_screen",o.RequiresClient="io.element.requires_client",o.MSC2931Navigate="org.matrix.msc2931.navigate",o.MSC3846TurnServers="town.robin.msc3846.turn_servers"}(e||(Dr.MatrixCapabilities=e={}));var t=[e.StickerSending];Dr.StickerpickerCapabilities=t;var r=[e.AlwaysOnScreen];Dr.VideoConferenceCapabilities=r;function n(o){return o==null?void 0:o.startsWith("org.matrix.msc2762.timeline:")}function i(o,p){return o==="org.matrix.msc2762.timeline:".concat(p)}function a(o){return o.substring(o.indexOf(":")+1)}return Dr}var $l={},z9;function fw(){if(z9)return $l;z9=1,Object.defineProperty($l,"__esModule",{value:!0}),$l.SimpleObservable=void 0;function e(u,y){var s=typeof Symbol<"u"&&u[Symbol.iterator]||u["@@iterator"];if(!s){if(Array.isArray(u)||(s=t(u))||y&&u&&typeof u.length=="number"){s&&(u=s);var m=0,g=function(){};return{s:g,n:function(){return m>=u.length?{done:!0}:{done:!1,value:u[m++]}},e:function(d){throw d},f:g}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var S=!0,v=!1,h;return{s:function(){s=s.call(u)},n:function(){var d=s.next();return S=d.done,d},e:function(d){v=!0,h=d},f:function(){try{!S&&s.return!=null&&s.return()}finally{if(v)throw h}}}}function t(u,y){if(u){if(typeof u=="string")return r(u,y);var s=Object.prototype.toString.call(u).slice(8,-1);if(s==="Object"&&u.constructor&&(s=u.constructor.name),s==="Map"||s==="Set")return Array.from(u);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return r(u,y)}}function r(u,y){(y==null||y>u.length)&&(y=u.length);for(var s=0,m=new Array(y);s<y;s++)m[s]=u[s];return m}function n(u,y){if(!(u instanceof y))throw new TypeError("Cannot call a class as a function")}function i(u,y){for(var s=0;s<y.length;s++){var m=y[s];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(u,m.key,m)}}function a(u,y,s){return y&&i(u.prototype,y),s&&i(u,s),Object.defineProperty(u,"prototype",{writable:!1}),u}function o(u,y,s){return y in u?Object.defineProperty(u,y,{value:s,enumerable:!0,configurable:!0,writable:!0}):u[y]=s,u}var p=function(){function u(y){n(this,u),o(this,"listeners",[]),y&&this.listeners.push(y)}return a(u,[{key:"onUpdate",value:function(s){this.listeners.push(s)}},{key:"update",value:function(s){var m=e(this.listeners),g;try{for(m.s();!(g=m.n()).done;){var S=g.value;S(s)}}catch(v){m.e(v)}finally{m.f()}}},{key:"close",value:function(){this.listeners=[]}}]),u}();return $l.SimpleObservable=p,$l}var Y9;function aj(){if(Y9)return Ul;Y9=1;function e(G){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(j){return typeof j}:function(j){return j&&typeof Symbol=="function"&&j.constructor===Symbol&&j!==Symbol.prototype?"symbol":typeof j},e(G)}Object.defineProperty(Ul,"__esModule",{value:!0}),Ul.ClientWidgetApi=void 0;var t=d1(),r=G0(),n=W0(),i=z0(),a=pw(),o=H0(),p=Q0(),u=Y0(),y=fw(),s=J0();function m(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */m=function(){return G};var G={},j=Object.prototype,Y=j.hasOwnProperty,R=typeof Symbol=="function"?Symbol:{},k=R.iterator||"@@iterator",B=R.asyncIterator||"@@asyncIterator",$=R.toStringTag||"@@toStringTag";function C(he,ce,Se){return Object.defineProperty(he,ce,{value:Se,enumerable:!0,configurable:!0,writable:!0}),he[ce]}try{C({},"")}catch{C=function(Se,Te,Me){return Se[Te]=Me}}function N(he,ce,Se,Te){var Me=ce&&ce.prototype instanceof ne?ce:ne,Ke=Object.create(Me.prototype),Ne=new ue(Te||[]);return Ke._invoke=function(qe,Fe,Le){var We="suspendedStart";return function(Re,b){if(We==="executing")throw new Error("Generator is already running");if(We==="completed"){if(Re==="throw")throw b;return ve()}for(Le.method=Re,Le.arg=b;;){var P=Le.delegate;if(P){var U=re(P,Le);if(U){if(U===ee)continue;return U}}if(Le.method==="next")Le.sent=Le._sent=Le.arg;else if(Le.method==="throw"){if(We==="suspendedStart")throw We="completed",Le.arg;Le.dispatchException(Le.arg)}else Le.method==="return"&&Le.abrupt("return",Le.arg);We="executing";var Q=T(qe,Fe,Le);if(Q.type==="normal"){if(We=Le.done?"completed":"suspendedYield",Q.arg===ee)continue;return{value:Q.arg,done:Le.done}}Q.type==="throw"&&(We="completed",Le.method="throw",Le.arg=Q.arg)}}}(he,Se,Ne),Ke}function T(he,ce,Se){try{return{type:"normal",arg:he.call(ce,Se)}}catch(Te){return{type:"throw",arg:Te}}}G.wrap=N;var ee={};function ne(){}function se(){}function me(){}var q={};C(q,k,function(){return this});var oe=Object.getPrototypeOf,M=oe&&oe(oe(pe([])));M&&M!==j&&Y.call(M,k)&&(q=M);var O=me.prototype=ne.prototype=Object.create(q);function z(he){["next","throw","return"].forEach(function(ce){C(he,ce,function(Se){return this._invoke(ce,Se)})})}function J(he,ce){function Se(Me,Ke,Ne,qe){var Fe=T(he[Me],he,Ke);if(Fe.type!=="throw"){var Le=Fe.arg,We=Le.value;return We&&e(We)=="object"&&Y.call(We,"__await")?ce.resolve(We.__await).then(function(Re){Se("next",Re,Ne,qe)},function(Re){Se("throw",Re,Ne,qe)}):ce.resolve(We).then(function(Re){Le.value=Re,Ne(Le)},function(Re){return Se("throw",Re,Ne,qe)})}qe(Fe.arg)}var Te;this._invoke=function(Me,Ke){function Ne(){return new ce(function(qe,Fe){Se(Me,Ke,qe,Fe)})}return Te=Te?Te.then(Ne,Ne):Ne()}}function re(he,ce){var Se=he.iterator[ce.method];if(Se===void 0){if(ce.delegate=null,ce.method==="throw"){if(he.iterator.return&&(ce.method="return",ce.arg=void 0,re(he,ce),ce.method==="throw"))return ee;ce.method="throw",ce.arg=new TypeError("The iterator does not provide a 'throw' method")}return ee}var Te=T(Se,he.iterator,ce.arg);if(Te.type==="throw")return ce.method="throw",ce.arg=Te.arg,ce.delegate=null,ee;var Me=Te.arg;return Me?Me.done?(ce[he.resultName]=Me.value,ce.next=he.nextLoc,ce.method!=="return"&&(ce.method="next",ce.arg=void 0),ce.delegate=null,ee):Me:(ce.method="throw",ce.arg=new TypeError("iterator result is not an object"),ce.delegate=null,ee)}function le(he){var ce={tryLoc:he[0]};1 in he&&(ce.catchLoc=he[1]),2 in he&&(ce.finallyLoc=he[2],ce.afterLoc=he[3]),this.tryEntries.push(ce)}function de(he){var ce=he.completion||{};ce.type="normal",delete ce.arg,he.completion=ce}function ue(he){this.tryEntries=[{tryLoc:"root"}],he.forEach(le,this),this.reset(!0)}function pe(he){if(he){var ce=he[k];if(ce)return ce.call(he);if(typeof he.next=="function")return he;if(!isNaN(he.length)){var Se=-1,Te=function Me(){for(;++Se<he.length;)if(Y.call(he,Se))return Me.value=he[Se],Me.done=!1,Me;return Me.value=void 0,Me.done=!0,Me};return Te.next=Te}}return{next:ve}}function ve(){return{value:void 0,done:!0}}return se.prototype=me,C(O,"constructor",me),C(me,"constructor",se),se.displayName=C(me,$,"GeneratorFunction"),G.isGeneratorFunction=function(he){var ce=typeof he=="function"&&he.constructor;return!!ce&&(ce===se||(ce.displayName||ce.name)==="GeneratorFunction")},G.mark=function(he){return Object.setPrototypeOf?Object.setPrototypeOf(he,me):(he.__proto__=me,C(he,$,"GeneratorFunction")),he.prototype=Object.create(O),he},G.awrap=function(he){return{__await:he}},z(J.prototype),C(J.prototype,B,function(){return this}),G.AsyncIterator=J,G.async=function(he,ce,Se,Te,Me){Me===void 0&&(Me=Promise);var Ke=new J(N(he,ce,Se,Te),Me);return G.isGeneratorFunction(ce)?Ke:Ke.next().then(function(Ne){return Ne.done?Ne.value:Ke.next()})},z(O),C(O,$,"Generator"),C(O,k,function(){return this}),C(O,"toString",function(){return"[object Generator]"}),G.keys=function(he){var ce=[];for(var Se in he)ce.push(Se);return ce.reverse(),function Te(){for(;ce.length;){var Me=ce.pop();if(Me in he)return Te.value=Me,Te.done=!1,Te}return Te.done=!0,Te}},G.values=pe,ue.prototype={constructor:ue,reset:function(ce){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(de),!ce)for(var Se in this)Se.charAt(0)==="t"&&Y.call(this,Se)&&!isNaN(+Se.slice(1))&&(this[Se]=void 0)},stop:function(){this.done=!0;var ce=this.tryEntries[0].completion;if(ce.type==="throw")throw ce.arg;return this.rval},dispatchException:function(ce){if(this.done)throw ce;var Se=this;function Te(Le,We){return Ne.type="throw",Ne.arg=ce,Se.next=Le,We&&(Se.method="next",Se.arg=void 0),!!We}for(var Me=this.tryEntries.length-1;Me>=0;--Me){var Ke=this.tryEntries[Me],Ne=Ke.completion;if(Ke.tryLoc==="root")return Te("end");if(Ke.tryLoc<=this.prev){var qe=Y.call(Ke,"catchLoc"),Fe=Y.call(Ke,"finallyLoc");if(qe&&Fe){if(this.prev<Ke.catchLoc)return Te(Ke.catchLoc,!0);if(this.prev<Ke.finallyLoc)return Te(Ke.finallyLoc)}else if(qe){if(this.prev<Ke.catchLoc)return Te(Ke.catchLoc,!0)}else{if(!Fe)throw new Error("try statement without catch or finally");if(this.prev<Ke.finallyLoc)return Te(Ke.finallyLoc)}}}},abrupt:function(ce,Se){for(var Te=this.tryEntries.length-1;Te>=0;--Te){var Me=this.tryEntries[Te];if(Me.tryLoc<=this.prev&&Y.call(Me,"finallyLoc")&&this.prev<Me.finallyLoc){var Ke=Me;break}}Ke&&(ce==="break"||ce==="continue")&&Ke.tryLoc<=Se&&Se<=Ke.finallyLoc&&(Ke=null);var Ne=Ke?Ke.completion:{};return Ne.type=ce,Ne.arg=Se,Ke?(this.method="next",this.next=Ke.finallyLoc,ee):this.complete(Ne)},complete:function(ce,Se){if(ce.type==="throw")throw ce.arg;return ce.type==="break"||ce.type==="continue"?this.next=ce.arg:ce.type==="return"?(this.rval=this.arg=ce.arg,this.method="return",this.next="end"):ce.type==="normal"&&Se&&(this.next=Se),ee},finish:function(ce){for(var Se=this.tryEntries.length-1;Se>=0;--Se){var Te=this.tryEntries[Se];if(Te.finallyLoc===ce)return this.complete(Te.completion,Te.afterLoc),de(Te),ee}},catch:function(ce){for(var Se=this.tryEntries.length-1;Se>=0;--Se){var Te=this.tryEntries[Se];if(Te.tryLoc===ce){var Me=Te.completion;if(Me.type==="throw"){var Ke=Me.arg;de(Te)}return Ke}}throw new Error("illegal catch attempt")},delegateYield:function(ce,Se,Te){return this.delegate={iterator:pe(ce),resultName:Se,nextLoc:Te},this.method==="next"&&(this.arg=void 0),ee}},G}function g(G,j,Y,R,k,B,$){try{var C=G[B]($),N=C.value}catch(T){Y(T);return}C.done?j(N):Promise.resolve(N).then(R,k)}function S(G){return function(){var j=this,Y=arguments;return new Promise(function(R,k){var B=G.apply(j,Y);function $(N){g(B,R,k,$,C,"next",N)}function C(N){g(B,R,k,$,C,"throw",N)}$(void 0)})}}function v(G,j){var Y=typeof Symbol<"u"&&G[Symbol.iterator]||G["@@iterator"];if(!Y){if(Array.isArray(G)||(Y=h(G))||j&&G&&typeof G.length=="number"){Y&&(G=Y);var R=0,k=function(){};return{s:k,n:function(){return R>=G.length?{done:!0}:{done:!1,value:G[R++]}},e:function(T){throw T},f:k}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var B=!0,$=!1,C;return{s:function(){Y=Y.call(G)},n:function(){var T=Y.next();return B=T.done,T},e:function(T){$=!0,C=T},f:function(){try{!B&&Y.return!=null&&Y.return()}finally{if($)throw C}}}}function h(G,j){if(G){if(typeof G=="string")return _(G,j);var Y=Object.prototype.toString.call(G).slice(8,-1);if(Y==="Object"&&G.constructor&&(Y=G.constructor.name),Y==="Map"||Y==="Set")return Array.from(G);if(Y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Y))return _(G,j)}}function _(G,j){(j==null||j>G.length)&&(j=G.length);for(var Y=0,R=new Array(j);Y<j;Y++)R[Y]=G[Y];return R}function d(G,j){var Y=Object.keys(G);if(Object.getOwnPropertySymbols){var R=Object.getOwnPropertySymbols(G);j&&(R=R.filter(function(k){return Object.getOwnPropertyDescriptor(G,k).enumerable})),Y.push.apply(Y,R)}return Y}function l(G){for(var j=1;j<arguments.length;j++){var Y=arguments[j]!=null?arguments[j]:{};j%2?d(Object(Y),!0).forEach(function(R){H(G,R,Y[R])}):Object.getOwnPropertyDescriptors?Object.defineProperties(G,Object.getOwnPropertyDescriptors(Y)):d(Object(Y)).forEach(function(R){Object.defineProperty(G,R,Object.getOwnPropertyDescriptor(Y,R))})}return G}function c(G,j){if(!(G instanceof j))throw new TypeError("Cannot call a class as a function")}function f(G,j){for(var Y=0;Y<j.length;Y++){var R=j[Y];R.enumerable=R.enumerable||!1,R.configurable=!0,"value"in R&&(R.writable=!0),Object.defineProperty(G,R.key,R)}}function E(G,j,Y){return j&&f(G.prototype,j),Y&&f(G,Y),Object.defineProperty(G,"prototype",{writable:!1}),G}function w(G,j){if(typeof j!="function"&&j!==null)throw new TypeError("Super expression must either be null or a function");G.prototype=Object.create(j&&j.prototype,{constructor:{value:G,writable:!0,configurable:!0}}),Object.defineProperty(G,"prototype",{writable:!1}),j&&I(G,j)}function I(G,j){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(R,k){return R.__proto__=k,R},I(G,j)}function D(G){var j=F();return function(){var R=x(G),k;if(j){var B=x(this).constructor;k=Reflect.construct(R,arguments,B)}else k=R.apply(this,arguments);return A(this,k)}}function A(G,j){if(j&&(e(j)==="object"||typeof j=="function"))return j;if(j!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L(G)}function L(G){if(G===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return G}function F(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function x(G){return x=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Y){return Y.__proto__||Object.getPrototypeOf(Y)},x(G)}function H(G,j,Y){return j in G?Object.defineProperty(G,j,{value:Y,enumerable:!0,configurable:!0,writable:!0}):G[j]=Y,G}function K(G){var j,Y,R,k=2;for(typeof Symbol<"u"&&(Y=Symbol.asyncIterator,R=Symbol.iterator);k--;){if(Y&&(j=G[Y])!=null)return j.call(G);if(R&&(j=G[R])!=null)return new W(j.call(G));Y="@@asyncIterator",R="@@iterator"}throw new TypeError("Object is not async iterable")}function W(G){function j(Y){if(Object(Y)!==Y)return Promise.reject(new TypeError(Y+" is not an object."));var R=Y.done;return Promise.resolve(Y.value).then(function(k){return{value:k,done:R}})}return W=function(R){this.s=R,this.n=R.next},W.prototype={s:null,n:null,next:function(){return j(this.n.apply(this.s,arguments))},return:function(R){var k=this.s.return;return k===void 0?Promise.resolve({value:R,done:!0}):j(k.apply(this.s,arguments))},throw:function(R){var k=this.s.return;return k===void 0?Promise.reject(R):j(k.apply(this.s,arguments))}},new W(G)}var X=function(G){w(Y,G);var j=D(Y);function Y(R,k,B){var $;if(c(this,Y),$=j.call(this),$.widget=R,$.iframe=k,$.driver=B,H(L($),"transport",void 0),H(L($),"contentLoadedActionSent",!1),H(L($),"allowedCapabilities",new Set),H(L($),"allowedEvents",[]),H(L($),"isStopped",!1),H(L($),"turnServers",null),!(k!=null&&k.contentWindow))throw new Error("No iframe supplied");if(!R)throw new Error("Invalid widget");if(!B)throw new Error("Invalid driver");return $.transport=new r.PostmessageTransport(n.WidgetApiDirection.ToWidget,R.id,k.contentWindow,window),$.transport.targetOrigin=R.origin,$.transport.on("message",$.handleMessage.bind(L($))),k.addEventListener("load",$.onIframeLoad.bind(L($))),$.transport.start(),$}return E(Y,[{key:"hasCapability",value:function(k){return this.allowedCapabilities.has(k)}},{key:"canUseRoomTimeline",value:function(k){return this.hasCapability("org.matrix.msc2762.timeline:".concat(s.Symbols.AnyRoom))||this.hasCapability("org.matrix.msc2762.timeline:".concat(k))}},{key:"canSendRoomEvent",value:function(k){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return this.allowedEvents.some(function($){return $.matchesAsRoomEvent(p.EventDirection.Send,k,B)})}},{key:"canSendStateEvent",value:function(k,B){return this.allowedEvents.some(function($){return $.matchesAsStateEvent(p.EventDirection.Send,k,B)})}},{key:"canSendToDeviceEvent",value:function(k){return this.allowedEvents.some(function(B){return B.matchesAsToDeviceEvent(p.EventDirection.Send,k)})}},{key:"canReceiveRoomEvent",value:function(k){var B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return this.allowedEvents.some(function($){return $.matchesAsRoomEvent(p.EventDirection.Receive,k,B)})}},{key:"canReceiveStateEvent",value:function(k,B){return this.allowedEvents.some(function($){return $.matchesAsStateEvent(p.EventDirection.Receive,k,B)})}},{key:"canReceiveToDeviceEvent",value:function(k){return this.allowedEvents.some(function(B){return B.matchesAsToDeviceEvent(p.EventDirection.Receive,k)})}},{key:"stop",value:function(){this.isStopped=!0,this.transport.stop()}},{key:"beginCapabilities",value:function(){var k=this;this.emit("preparing");var B;this.transport.send(i.WidgetApiToWidgetAction.Capabilities,{}).then(function($){return B=$.capabilities,k.driver.validateCapabilities(new Set($.capabilities))}).then(function($){console.log("Widget ".concat(k.widget.id," is allowed capabilities:"),Array.from($)),k.allowedCapabilities=$,k.allowedEvents=p.WidgetEventCapability.findEventCapabilities($),k.notifyCapabilities(B),k.emit("ready")})}},{key:"notifyCapabilities",value:function(k){var B=this;this.transport.send(i.WidgetApiToWidgetAction.NotifyCapabilities,{requested:k,approved:Array.from(this.allowedCapabilities)}).catch(function($){console.warn("non-fatal error notifying widget of approved capabilities:",$)}).then(function(){B.emit("capabilitiesNotified")})}},{key:"onIframeLoad",value:function(k){this.widget.waitForIframeLoad?this.beginCapabilities():this.contentLoadedActionSent=!1}},{key:"handleContentLoadedAction",value:function(k){if(this.contentLoadedActionSent)throw new Error("Improper sequence: ContentLoaded Action can only be send once after the widget loaded and should only be used if waitForIframeLoad is false (default=true)");this.widget.waitForIframeLoad?this.transport.reply(k,{error:{message:"Improper sequence: not expecting ContentLoaded event if waitForIframLoad is true (default=true)"}}):(this.transport.reply(k,{}),this.beginCapabilities()),this.contentLoadedActionSent=!0}},{key:"replyVersions",value:function(k){this.transport.reply(k,{supported_versions:o.CurrentApiVersions})}},{key:"handleCapabilitiesRenegotiate",value:function(k){var B,$=this;this.transport.reply(k,{});var C=((B=k.data)===null||B===void 0?void 0:B.capabilities)||[],N=new Set(C.filter(function(T){return!$.hasCapability(T)}));if(N.size===0)return this.notifyCapabilities([]);this.driver.validateCapabilities(N).then(function(T){T.forEach(function(ne){return $.allowedCapabilities.add(ne)});var ee=p.WidgetEventCapability.findEventCapabilities(T);return ee.forEach(function(ne){return $.allowedEvents.push(ne)}),$.notifyCapabilities(Array.from(N))})}},{key:"handleNavigate",value:function(k){var B,$,C=this;if(!this.hasCapability(a.MatrixCapabilities.MSC2931Navigate))return this.transport.reply(k,{error:{message:"Missing capability"}});if(!((B=k.data)!==null&&B!==void 0&&B.uri)||!(($=k.data)!==null&&$!==void 0&&$.uri.toString().startsWith("https://matrix.to/#")))return this.transport.reply(k,{error:{message:"Invalid matrix.to URI"}});var N=function(ee){return console.error("[ClientWidgetApi] Failed to handle navigation: ",ee),C.transport.reply(k,{error:{message:"Error handling navigation"}})};try{this.driver.navigate(k.data.uri.toString()).catch(function(T){return N(T)}).then(function(){return C.transport.reply(k,{})})}catch(T){return N(T)}}},{key:"handleOIDC",value:function(k){var B=this,$=1,C=function(ne,se){return se=se||{},$>1?B.transport.send(i.WidgetApiToWidgetAction.OpenIDCredentials,l({state:ne,original_request_id:k.requestId},se)):B.transport.reply(k,l({state:ne},se))},N=function(ne){return console.error("[ClientWidgetApi] Failed to handle OIDC: ",ne),$>1?C(u.OpenIDRequestState.Blocked):B.transport.reply(k,{error:{message:ne}})},T=new y.SimpleObservable(function(ee){if(ee.state===u.OpenIDRequestState.PendingUserConfirmation&&$>1)return T.close(),N("client provided out-of-phase response to OIDC flow");if(ee.state===u.OpenIDRequestState.PendingUserConfirmation){C(ee.state),$++;return}return ee.state===u.OpenIDRequestState.Allowed&&!ee.token?N("client provided invalid OIDC token for an allowed request"):(ee.state===u.OpenIDRequestState.Blocked&&(ee.token=null),T.close(),C(ee.state,ee.token))});this.driver.askOpenID(T)}},{key:"handleReadEvents",value:function(k){var B=this;if(!k.data.type)return this.transport.reply(k,{error:{message:"Invalid request - missing event type"}});if(k.data.limit!==void 0&&(!k.data.limit||k.data.limit<0))return this.transport.reply(k,{error:{message:"Invalid request - limit out of range"}});var $=null;if(k.data.room_ids){$=k.data.room_ids,Array.isArray($)||($=[$]);var C=v($),N;try{for(C.s();!(N=C.n()).done;){var T=N.value;if(!this.canUseRoomTimeline(T))return this.transport.reply(k,{error:{message:"Unable to access room timeline: ".concat(T)}})}}catch(me){C.e(me)}finally{C.f()}}var ee=k.data.limit||0,ne=Promise.resolve([]);if(k.data.state_key!==void 0){var se=k.data.state_key===!0?void 0:k.data.state_key.toString();if(!this.canReceiveStateEvent(k.data.type,se))return this.transport.reply(k,{error:{message:"Cannot read state events of this type"}});ne=this.driver.readStateEvents(k.data.type,se,ee,$)}else{if(!this.canReceiveRoomEvent(k.data.type,k.data.msgtype))return this.transport.reply(k,{error:{message:"Cannot read room events of this type"}});ne=this.driver.readRoomEvents(k.data.type,k.data.msgtype,ee,$)}return ne.then(function(me){return B.transport.reply(k,{events:me})})}},{key:"handleSendEvent",value:function(k){var B=this;if(!k.data.type)return this.transport.reply(k,{error:{message:"Invalid request - missing event type"}});if(k.data.room_id&&!this.canUseRoomTimeline(k.data.room_id))return this.transport.reply(k,{error:{message:"Unable to access room timeline: ".concat(k.data.room_id)}});var $=k.data.state_key!==null&&k.data.state_key!==void 0,C;if($){if(!this.canSendStateEvent(k.data.type,k.data.state_key))return this.transport.reply(k,{error:{message:"Cannot send state events of this type"}});C=this.driver.sendEvent(k.data.type,k.data.content||{},k.data.state_key,k.data.room_id)}else{var N=k.data.content||{},T=N.msgtype;if(!this.canSendRoomEvent(k.data.type,T))return this.transport.reply(k,{error:{message:"Cannot send room events of this type"}});C=this.driver.sendEvent(k.data.type,N,null,k.data.room_id)}C.then(function(ee){return B.transport.reply(k,{room_id:ee.roomId,event_id:ee.eventId})}).catch(function(ee){return console.error("error sending event: ",ee),B.transport.reply(k,{error:{message:"Error sending event"}})})}},{key:"handleSendToDevice",value:function(){var R=S(m().mark(function B($){return m().wrap(function(N){for(;;)switch(N.prev=N.next){case 0:if($.data.type){N.next=5;break}return N.next=3,this.transport.reply($,{error:{message:"Invalid request - missing event type"}});case 3:N.next=32;break;case 5:if($.data.messages){N.next=10;break}return N.next=8,this.transport.reply($,{error:{message:"Invalid request - missing event contents"}});case 8:N.next=32;break;case 10:if(typeof $.data.encrypted=="boolean"){N.next=15;break}return N.next=13,this.transport.reply($,{error:{message:"Invalid request - missing encryption flag"}});case 13:N.next=32;break;case 15:if(this.canSendToDeviceEvent($.data.type)){N.next=20;break}return N.next=18,this.transport.reply($,{error:{message:"Cannot send to-device events of this type"}});case 18:N.next=32;break;case 20:return N.prev=20,N.next=23,this.driver.sendToDevice($.data.type,$.data.encrypted,$.data.messages);case 23:return N.next=25,this.transport.reply($,{});case 25:N.next=32;break;case 27:return N.prev=27,N.t0=N.catch(20),console.error("error sending to-device event",N.t0),N.next=32,this.transport.reply($,{error:{message:"Error sending event"}});case 32:case"end":return N.stop()}},B,this,[[20,27]])}));function k(B){return R.apply(this,arguments)}return k}()},{key:"pollTurnServers",value:function(){var R=S(m().mark(function B($,C){var N,T,ee,ne,se,me;return m().wrap(function(oe){for(;;)switch(oe.prev=oe.next){case 0:return oe.prev=0,oe.next=3,this.transport.send(i.WidgetApiToWidgetAction.UpdateTurnServers,C);case 3:N=!1,T=!1,oe.prev=5,ne=K($);case 7:return oe.next=9,ne.next();case 9:if(!(N=!(se=oe.sent).done)){oe.next=16;break}return me=se.value,oe.next=13,this.transport.send(i.WidgetApiToWidgetAction.UpdateTurnServers,me);case 13:N=!1,oe.next=7;break;case 16:oe.next=22;break;case 18:oe.prev=18,oe.t0=oe.catch(5),T=!0,ee=oe.t0;case 22:if(oe.prev=22,oe.prev=23,!(N&&ne.return!=null)){oe.next=27;break}return oe.next=27,ne.return();case 27:if(oe.prev=27,!T){oe.next=30;break}throw ee;case 30:return oe.finish(27);case 31:return oe.finish(22);case 32:oe.next=37;break;case 34:oe.prev=34,oe.t1=oe.catch(0),console.error("error polling for TURN servers",oe.t1);case 37:case"end":return oe.stop()}},B,this,[[0,34],[5,18,22,32],[23,,27,31]])}));function k(B,$){return R.apply(this,arguments)}return k}()},{key:"handleWatchTurnServers",value:function(){var R=S(m().mark(function B($){var C,N,T,ee;return m().wrap(function(se){for(;;)switch(se.prev=se.next){case 0:if(this.hasCapability(a.MatrixCapabilities.MSC3846TurnServers)){se.next=5;break}return se.next=3,this.transport.reply($,{error:{message:"Missing capability"}});case 3:se.next=30;break;case 5:if(!this.turnServers){se.next=10;break}return se.next=8,this.transport.reply($,{});case 8:se.next=30;break;case 10:return se.prev=10,C=this.driver.getTurnServers(),se.next=14,C.next();case 14:if(N=se.sent,T=N.done,ee=N.value,!T){se.next=19;break}throw new Error("Client refuses to provide any TURN servers");case 19:return se.next=21,this.transport.reply($,{});case 21:this.pollTurnServers(C,ee),this.turnServers=C,se.next=30;break;case 25:return se.prev=25,se.t0=se.catch(10),console.error("error getting first TURN server results",se.t0),se.next=30,this.transport.reply($,{error:{message:"TURN servers not available"}});case 30:case"end":return se.stop()}},B,this,[[10,25]])}));function k(B){return R.apply(this,arguments)}return k}()},{key:"handleUnwatchTurnServers",value:function(){var R=S(m().mark(function B($){return m().wrap(function(N){for(;;)switch(N.prev=N.next){case 0:if(this.hasCapability(a.MatrixCapabilities.MSC3846TurnServers)){N.next=5;break}return N.next=3,this.transport.reply($,{error:{message:"Missing capability"}});case 3:N.next=15;break;case 5:if(this.turnServers){N.next=10;break}return N.next=8,this.transport.reply($,{});case 8:N.next=15;break;case 10:return N.next=12,this.turnServers.return(void 0);case 12:return this.turnServers=null,N.next=15,this.transport.reply($,{});case 15:case"end":return N.stop()}},B,this)}));function k(B){return R.apply(this,arguments)}return k}()},{key:"handleReadRelations",value:function(){var R=S(m().mark(function B($){var C=this,N,T;return m().wrap(function(ne){for(;;)switch(ne.prev=ne.next){case 0:if($.data.event_id){ne.next=2;break}return ne.abrupt("return",this.transport.reply($,{error:{message:"Invalid request - missing event ID"}}));case 2:if(!($.data.limit!==void 0&&$.data.limit<0)){ne.next=4;break}return ne.abrupt("return",this.transport.reply($,{error:{message:"Invalid request - limit out of range"}}));case 4:if(!($.data.room_id!==void 0&&!this.canUseRoomTimeline($.data.room_id))){ne.next=6;break}return ne.abrupt("return",this.transport.reply($,{error:{message:"Unable to access room timeline: ".concat($.data.room_id)}}));case 6:return ne.prev=6,ne.next=9,this.driver.readEventRelations($.data.event_id,$.data.room_id,$.data.rel_type,$.data.event_type,$.data.from,$.data.to,$.data.limit,$.data.direction);case 9:if(N=ne.sent,!N.originalEvent){ne.next=18;break}if(N.originalEvent.state_key===void 0){ne.next=16;break}if(this.canReceiveStateEvent(N.originalEvent.type,N.originalEvent.state_key)){ne.next=14;break}return ne.abrupt("return",this.transport.reply($,{error:{message:"Cannot read state events of this type"}}));case 14:ne.next=18;break;case 16:if(this.canReceiveRoomEvent(N.originalEvent.type,N.originalEvent.content.msgtype)){ne.next=18;break}return ne.abrupt("return",this.transport.reply($,{error:{message:"Cannot read room events of this type"}}));case 18:return T=N.chunk.filter(function(se){return se.state_key!==void 0?C.canReceiveStateEvent(se.type,se.state_key):C.canReceiveRoomEvent(se.type,se.content.msgtype)}),ne.abrupt("return",this.transport.reply($,{original_event:N.originalEvent,chunk:T,prev_batch:N.prevBatch,next_batch:N.nextBatch}));case 22:return ne.prev=22,ne.t0=ne.catch(6),console.error("error getting the relations",ne.t0),ne.next=27,this.transport.reply($,{error:{message:"Unexpected error while reading relations"}});case 27:case"end":return ne.stop()}},B,this,[[6,22]])}));function k(B){return R.apply(this,arguments)}return k}()},{key:"handleMessage",value:function(k){if(!this.isStopped){var B=new CustomEvent("action:".concat(k.detail.action),{detail:k.detail,cancelable:!0});if(this.emit("action:".concat(k.detail.action),B),!B.defaultPrevented)switch(k.detail.action){case i.WidgetApiFromWidgetAction.ContentLoaded:return this.handleContentLoadedAction(k.detail);case i.WidgetApiFromWidgetAction.SupportedApiVersions:return this.replyVersions(k.detail);case i.WidgetApiFromWidgetAction.SendEvent:return this.handleSendEvent(k.detail);case i.WidgetApiFromWidgetAction.SendToDevice:return this.handleSendToDevice(k.detail);case i.WidgetApiFromWidgetAction.GetOpenIDCredentials:return this.handleOIDC(k.detail);case i.WidgetApiFromWidgetAction.MSC2931Navigate:return this.handleNavigate(k.detail);case i.WidgetApiFromWidgetAction.MSC2974RenegotiateCapabilities:return this.handleCapabilitiesRenegotiate(k.detail);case i.WidgetApiFromWidgetAction.MSC2876ReadEvents:return this.handleReadEvents(k.detail);case i.WidgetApiFromWidgetAction.WatchTurnServers:return this.handleWatchTurnServers(k.detail);case i.WidgetApiFromWidgetAction.UnwatchTurnServers:return this.handleUnwatchTurnServers(k.detail);case i.WidgetApiFromWidgetAction.MSC3869ReadRelations:return this.handleReadRelations(k.detail);default:return this.transport.reply(k.detail,{error:{message:"Unknown or unsupported action: "+k.detail.action}})}}}},{key:"takeScreenshot",value:function(){return this.transport.send(i.WidgetApiToWidgetAction.TakeScreenshot,{})}},{key:"updateVisibility",value:function(k){return this.transport.send(i.WidgetApiToWidgetAction.UpdateVisibility,{visible:k})}},{key:"sendWidgetConfig",value:function(k){return this.transport.send(i.WidgetApiToWidgetAction.WidgetConfig,k).then()}},{key:"notifyModalWidgetButtonClicked",value:function(k){return this.transport.send(i.WidgetApiToWidgetAction.ButtonClicked,{id:k}).then()}},{key:"notifyModalWidgetClose",value:function(k){return this.transport.send(i.WidgetApiToWidgetAction.CloseModalWidget,k).then()}},{key:"feedEvent",value:function(){var R=S(m().mark(function B($,C){var N;return m().wrap(function(ee){for(;;)switch(ee.prev=ee.next){case 0:if(!($.room_id!==C&&!this.canUseRoomTimeline($.room_id))){ee.next=2;break}return ee.abrupt("return");case 2:if(!($.state_key!==void 0&&$.state_key!==null)){ee.next=7;break}if(this.canReceiveStateEvent($.type,$.state_key)){ee.next=5;break}return ee.abrupt("return");case 5:ee.next=9;break;case 7:if(this.canReceiveRoomEvent($.type,(N=$.content)===null||N===void 0?void 0:N.msgtype)){ee.next=9;break}return ee.abrupt("return");case 9:return ee.next=11,this.transport.send(i.WidgetApiToWidgetAction.SendEvent,$);case 11:case"end":return ee.stop()}},B,this)}));function k(B,$){return R.apply(this,arguments)}return k}()},{key:"feedToDevice",value:function(){var R=S(m().mark(function B($,C){return m().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(!this.canReceiveToDeviceEvent($.type)){T.next=3;break}return T.next=3,this.transport.send(i.WidgetApiToWidgetAction.SendToDevice,l(l({},$),{},{encrypted:C}));case 3:case"end":return T.stop()}},B,this)}));function k(B,$){return R.apply(this,arguments)}return k}()}]),Y}(t.EventEmitter);return Ul.ClientWidgetApi=X,Ul}var lh={},Q9;function oj(){return Q9||(Q9=1,Object.defineProperty(lh,"__esModule",{value:!0})),lh}var dh={},J9;function sj(){return J9||(J9=1,Object.defineProperty(dh,"__esModule",{value:!0})),dh}var uh={},X9;function lj(){return X9||(X9=1,Object.defineProperty(uh,"__esModule",{value:!0})),uh}var ch={},Z9;function dj(){return Z9||(Z9=1,Object.defineProperty(ch,"__esModule",{value:!0})),ch}var ph={},e5;function uj(){return e5||(e5=1,Object.defineProperty(ph,"__esModule",{value:!0})),ph}var cc={},t5;function cj(){if(t5)return cc;t5=1,Object.defineProperty(cc,"__esModule",{value:!0}),cc.isErrorResponse=e;function e(t){if("error"in t){var r=t;return!!r.error.message}return!1}return cc}var fh={},r5;function pj(){return r5||(r5=1,Object.defineProperty(fh,"__esModule",{value:!0})),fh}var hh={},n5;function fj(){return n5||(n5=1,Object.defineProperty(hh,"__esModule",{value:!0})),hh}var mh={},i5;function hj(){return i5||(i5=1,Object.defineProperty(mh,"__esModule",{value:!0})),mh}var vh={},a5;function mj(){return a5||(a5=1,Object.defineProperty(vh,"__esModule",{value:!0})),vh}var gh={},o5;function vj(){return o5||(o5=1,Object.defineProperty(gh,"__esModule",{value:!0})),gh}var yh={},s5;function gj(){return s5||(s5=1,Object.defineProperty(yh,"__esModule",{value:!0})),yh}var _h={},l5;function yj(){return l5||(l5=1,Object.defineProperty(_h,"__esModule",{value:!0})),_h}var Sh={},d5;function _j(){return d5||(d5=1,Object.defineProperty(Sh,"__esModule",{value:!0})),Sh}var Eh={},u5;function Sj(){return u5||(u5=1,Object.defineProperty(Eh,"__esModule",{value:!0})),Eh}var wh={},c5;function Ej(){return c5||(c5=1,Object.defineProperty(wh,"__esModule",{value:!0})),wh}var $o={},p5;function wj(){if(p5)return $o;p5=1,Object.defineProperty($o,"__esModule",{value:!0}),$o.WidgetKind=void 0;var e;return $o.WidgetKind=e,function(t){t.Room="room",t.Account="account",t.Modal="modal"}(e||($o.WidgetKind=e={})),$o}var Fo={},f5;function bj(){if(f5)return Fo;f5=1,Object.defineProperty(Fo,"__esModule",{value:!0}),Fo.ModalButtonKind=void 0;var e;return Fo.ModalButtonKind=e,function(t){t.Primary="m.primary",t.Secondary="m.secondary",t.Warning="m.warning",t.Danger="m.danger",t.Link="m.link"}(e||(Fo.ModalButtonKind=e={})),Fo}var bh={},h5;function Tj(){return h5||(h5=1,Object.defineProperty(bh,"__esModule",{value:!0})),bh}var Th={},m5;function Rj(){return m5||(m5=1,Object.defineProperty(Th,"__esModule",{value:!0})),Th}var Rh={},v5;function Ij(){return v5||(v5=1,Object.defineProperty(Rh,"__esModule",{value:!0})),Rh}var Ih={},g5;function Cj(){return g5||(g5=1,Object.defineProperty(Ih,"__esModule",{value:!0})),Ih}var Ch={},y5;function Oj(){return y5||(y5=1,Object.defineProperty(Ch,"__esModule",{value:!0})),Ch}var Oh={},_5;function Pj(){return _5||(_5=1,Object.defineProperty(Oh,"__esModule",{value:!0})),Oh}var Ph={},S5;function kj(){return S5||(S5=1,Object.defineProperty(Ph,"__esModule",{value:!0})),Ph}var kh={},E5;function Dj(){return E5||(E5=1,Object.defineProperty(kh,"__esModule",{value:!0})),kh}var Dh={},w5;function Mj(){return w5||(w5=1,Object.defineProperty(Dh,"__esModule",{value:!0})),Dh}var pc={},b5;function hw(){if(b5)return pc;b5=1,Object.defineProperty(pc,"__esModule",{value:!0}),pc.isValidUrl=e;function e(t){if(!t)return!1;try{var r=new URL(t);return!(r.protocol!=="http"&&r.protocol!=="https")}catch(n){if(n instanceof TypeError)return!1;throw n}}return pc}var fc={},T5;function mw(){if(T5)return fc;T5=1,Object.defineProperty(fc,"__esModule",{value:!0}),fc.assertPresent=e;function e(t,r){if(!t[r])throw new Error("".concat(r," is required"))}return fc}var Fl={},R5;function vw(){if(R5)return Fl;R5=1,Object.defineProperty(Fl,"__esModule",{value:!0}),Fl.Widget=void 0;var e=mw(),t=S1();function r(o,p){if(!(o instanceof p))throw new TypeError("Cannot call a class as a function")}function n(o,p){for(var u=0;u<p.length;u++){var y=p[u];y.enumerable=y.enumerable||!1,y.configurable=!0,"value"in y&&(y.writable=!0),Object.defineProperty(o,y.key,y)}}function i(o,p,u){return p&&n(o.prototype,p),u&&n(o,u),Object.defineProperty(o,"prototype",{writable:!1}),o}var a=function(){function o(p){if(r(this,o),this.definition=p,!this.definition)throw new Error("Definition is required");(0,e.assertPresent)(p,"id"),(0,e.assertPresent)(p,"creatorUserId"),(0,e.assertPresent)(p,"type"),(0,e.assertPresent)(p,"url")}return i(o,[{key:"creatorUserId",get:function(){return this.definition.creatorUserId}},{key:"type",get:function(){return this.definition.type}},{key:"id",get:function(){return this.definition.id}},{key:"name",get:function(){return this.definition.name||null}},{key:"title",get:function(){return this.rawData.title||null}},{key:"templateUrl",get:function(){return this.definition.url}},{key:"origin",get:function(){return new URL(this.templateUrl).origin}},{key:"waitForIframeLoad",get:function(){return this.definition.waitForIframeLoad===!1?!1:(this.definition.waitForIframeLoad===!0,!0)}},{key:"rawData",get:function(){return this.definition.data||{}}},{key:"getCompleteUrl",value:function(u){return(0,t.runTemplate)(this.templateUrl,this.definition,u)}}]),o}();return Fl.Widget=a,Fl}var Bl={},I5;function Aj(){if(I5)return Bl;I5=1,Object.defineProperty(Bl,"__esModule",{value:!0}),Bl.WidgetParser=void 0;var e=vw(),t=hw();function r(y,s){var m=typeof Symbol<"u"&&y[Symbol.iterator]||y["@@iterator"];if(!m){if(Array.isArray(y)||(m=n(y))||s&&y&&typeof y.length=="number"){m&&(y=m);var g=0,S=function(){};return{s:S,n:function(){return g>=y.length?{done:!0}:{done:!1,value:y[g++]}},e:function(l){throw l},f:S}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var v=!0,h=!1,_;return{s:function(){m=m.call(y)},n:function(){var l=m.next();return v=l.done,l},e:function(l){h=!0,_=l},f:function(){try{!v&&m.return!=null&&m.return()}finally{if(h)throw _}}}}function n(y,s){if(y){if(typeof y=="string")return i(y,s);var m=Object.prototype.toString.call(y).slice(8,-1);if(m==="Object"&&y.constructor&&(m=y.constructor.name),m==="Map"||m==="Set")return Array.from(y);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return i(y,s)}}function i(y,s){(s==null||s>y.length)&&(s=y.length);for(var m=0,g=new Array(s);m<s;m++)g[m]=y[m];return g}function a(y,s){if(!(y instanceof s))throw new TypeError("Cannot call a class as a function")}function o(y,s){for(var m=0;m<s.length;m++){var g=s[m];g.enumerable=g.enumerable||!1,g.configurable=!0,"value"in g&&(g.writable=!0),Object.defineProperty(y,g.key,g)}}function p(y,s,m){return s&&o(y.prototype,s),m&&o(y,m),Object.defineProperty(y,"prototype",{writable:!1}),y}var u=function(){function y(){a(this,y)}return p(y,null,[{key:"parseAccountData",value:function(m){if(!m)return[];for(var g=[],S=0,v=Object.keys(m);S<v.length;S++){var h=v[S],_=m[h];if(_&&!(_.type!=="m.widget"&&_.type!=="im.vector.modular.widgets")&&_.sender){var d=_.state_key||_.id;if(d===h){var l={content:_.content,sender:_.sender,type:"m.widget",state_key:h,event_id:"$example",room_id:"!example",origin_server_ts:1},c=y.parseRoomWidget(l);c&&g.push(c)}}}return g}},{key:"parseWidgetsFromRoomState",value:function(m){if(!m)return[];var g=[],S=r(m),v;try{for(S.s();!(v=S.n()).done;){var h=v.value,_=y.parseRoomWidget(h);_&&g.push(_)}}catch(d){S.e(d)}finally{S.f()}return g}},{key:"parseRoomWidget",value:function(m){if(!m||m.type!=="m.widget"&&m.type!=="im.vector.modular.widgets")return null;var g=m.content||{},S={id:m.state_key,creatorUserId:g.creatorUserId||m.sender,name:g.name,type:g.type,url:g.url,waitForIframeLoad:g.waitForIframeLoad,data:g.data};return y.processEstimatedWidget(S)}},{key:"processEstimatedWidget",value:function(m){return!m.id||!m.creatorUserId||!m.type||!(0,t.isValidUrl)(m.url)?null:new e.Widget(m)}}]),y}();return Bl.WidgetParser=u,Bl}var jl={},C5;function Nj(){if(C5)return jl;C5=1,Object.defineProperty(jl,"__esModule",{value:!0}),jl.runTemplate=e,jl.toString=t;function e(r,n,i){for(var a=Object.assign({},n.data,{matrix_room_id:i.widgetRoomId||"",matrix_user_id:i.currentUserId,matrix_display_name:i.userDisplayName||i.currentUserId,matrix_avatar_url:i.userHttpAvatarUrl||"",matrix_widget_id:n.id,"org.matrix.msc2873.client_id":i.clientId||"","org.matrix.msc2873.client_theme":i.clientTheme||"","org.matrix.msc2873.client_language":i.clientLanguage||""}),o=r,p=0,u=Object.keys(a);p<u.length;p++){var y=u[p],s="$".concat(y).replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),m=new RegExp(s,"g");o=o.replace(m,encodeURIComponent(t(a[y])))}return o}function t(r){return r==null?"".concat(r):r.toString()}return jl}var Kl={},O5;function Lj(){if(O5)return Kl;O5=1,Object.defineProperty(Kl,"__esModule",{value:!0}),Kl.WidgetDriver=void 0;var e=S1();function t(a,o){if(!(a instanceof o))throw new TypeError("Cannot call a class as a function")}function r(a,o){for(var p=0;p<o.length;p++){var u=o[p];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(a,u.key,u)}}function n(a,o,p){return o&&r(a.prototype,o),p&&r(a,p),Object.defineProperty(a,"prototype",{writable:!1}),a}var i=function(){function a(){t(this,a)}return n(a,[{key:"validateCapabilities",value:function(p){return Promise.resolve(new Set)}},{key:"sendEvent",value:function(p,u){return Promise.reject(new Error("Failed to override function"))}},{key:"sendToDevice",value:function(p,u,y){return Promise.reject(new Error("Failed to override function"))}},{key:"readRoomEvents",value:function(p,u,y){return Promise.resolve([])}},{key:"readStateEvents",value:function(p,u,y){return Promise.resolve([])}},{key:"readEventRelations",value:function(p,u,y,s,m,g,S,v){return Promise.resolve({chunk:[]})}},{key:"askOpenID",value:function(p){p.update({state:e.OpenIDRequestState.Blocked})}},{key:"navigate",value:function(p){throw new Error("Navigation is not implemented")}},{key:"getTurnServers",value:function(){throw new Error("TURN server support is not implemented")}}]),a}();return Kl.WidgetDriver=i,Kl}var P5;function S1(){return P5||(P5=1,function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=ij();Object.keys(t).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===t[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return t[q]}})});var r=aj();Object.keys(r).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===r[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return r[q]}})});var n=J0();Object.keys(n).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===n[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return n[q]}})});var i=oj();Object.keys(i).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===i[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return i[q]}})});var a=G0();Object.keys(a).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===a[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return a[q]}})});var o=sj();Object.keys(o).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===o[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return o[q]}})});var p=lj();Object.keys(p).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===p[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return p[q]}})});var u=dj();Object.keys(u).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===u[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return u[q]}})});var y=uj();Object.keys(y).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===y[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return y[q]}})});var s=uw();Object.keys(s).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===s[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return s[q]}})});var m=cj();Object.keys(m).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===m[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return m[q]}})});var g=pj();Object.keys(g).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===g[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return g[q]}})});var S=fj();Object.keys(S).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===S[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return S[q]}})});var v=z0();Object.keys(v).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===v[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return v[q]}})});var h=W0();Object.keys(h).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===h[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return h[q]}})});var _=H0();Object.keys(_).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===_[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return _[q]}})});var d=pw();Object.keys(d).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===d[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return d[q]}})});var l=hj();Object.keys(l).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===l[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return l[q]}})});var c=mj();Object.keys(c).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===c[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return c[q]}})});var f=vj();Object.keys(f).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===f[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return f[q]}})});var E=gj();Object.keys(E).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===E[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return E[q]}})});var w=yj();Object.keys(w).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===w[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return w[q]}})});var I=_j();Object.keys(I).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===I[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return I[q]}})});var D=Sj();Object.keys(D).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===D[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return D[q]}})});var A=Y0();Object.keys(A).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===A[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return A[q]}})});var L=Ej();Object.keys(L).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===L[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return L[q]}})});var F=wj();Object.keys(F).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===F[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return F[q]}})});var x=bj();Object.keys(x).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===x[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return x[q]}})});var H=cw();Object.keys(H).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===H[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return H[q]}})});var K=Tj();Object.keys(K).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===K[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return K[q]}})});var W=Rj();Object.keys(W).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===W[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return W[q]}})});var X=Ij();Object.keys(X).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===X[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return X[q]}})});var G=Cj();Object.keys(G).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===G[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return G[q]}})});var j=Oj();Object.keys(j).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===j[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return j[q]}})});var Y=Pj();Object.keys(Y).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===Y[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return Y[q]}})});var R=kj();Object.keys(R).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===R[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return R[q]}})});var k=Dj();Object.keys(k).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===k[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return k[q]}})});var B=Mj();Object.keys(B).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===B[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return B[q]}})});var $=Q0();Object.keys($).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===$[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return $[q]}})});var C=hw();Object.keys(C).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===C[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return C[q]}})});var N=mw();Object.keys(N).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===N[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return N[q]}})});var T=vw();Object.keys(T).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===T[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return T[q]}})});var ee=Aj();Object.keys(ee).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===ee[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return ee[q]}})});var ne=Nj();Object.keys(ne).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===ne[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return ne[q]}})});var se=fw();Object.keys(se).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===se[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return se[q]}})});var me=Lj();Object.keys(me).forEach(function(q){q==="default"||q==="__esModule"||q in e&&e[q]===me[q]||Object.defineProperty(e,q,{enumerable:!0,get:function(){return me[q]}})})}(sh)),sh}var xj=Ae;Object.defineProperty(_1,"__esModule",{value:!0});_1.RoomWidgetClient=void 0;var Bo=xj(Ue),Vl=S1(),ql=ir(),Uj=xe,jo=Ge(),Ko=ln(),hc=m1(),$j=sw(),Fj=Zr;class Bj extends Ko.MatrixClient{constructor(t,r,n,i){var a,o,p,u,y,s,m,g,S,v;super(i),this.widgetApi=t,this.capabilities=r,this.roomId=n,(0,Bo.default)(this,"room",void 0),(0,Bo.default)(this,"widgetApiReady",new Promise(h=>this.widgetApi.once("ready",h))),(0,Bo.default)(this,"lifecycle",void 0),(0,Bo.default)(this,"syncState",null),(0,Bo.default)(this,"onEvent",async h=>{if(h.preventDefault(),h.detail.data.room_id===this.roomId){const _=new ql.MatrixEvent(h.detail.data);await this.syncApi.injectRoomEvents(this.room,[],[_]),this.emit(Ko.ClientEvent.Event,_),this.setSyncState(hc.SyncState.Syncing),jo.logger.info(`Received event ${_.getId()} ${_.getType()} ${_.getStateKey()}`)}else{const{event_id:_,room_id:d}=h.detail.data;jo.logger.info(`Received event ${_} for a different room ${d}; discarding`)}await this.ack(h)}),(0,Bo.default)(this,"onToDevice",async h=>{h.preventDefault();const _=new ql.MatrixEvent({type:h.detail.data.type,sender:h.detail.data.sender,content:h.detail.data.content});h.detail.data.encrypted&&_.makeEncrypted(Uj.EventType.RoomMessageEncrypted,{},"",""),this.emit(Ko.ClientEvent.ToDeviceEvent,_),this.setSyncState(hc.SyncState.Syncing),await this.ack(h)}),((a=r.sendEvent)!==null&&a!==void 0&&a.length||(o=r.receiveEvent)!==null&&o!==void 0&&o.length||r.sendMessage===!0||Array.isArray(r.sendMessage)&&r.sendMessage.length||r.receiveMessage===!0||Array.isArray(r.receiveMessage)&&r.receiveMessage.length||(p=r.sendState)!==null&&p!==void 0&&p.length||(u=r.receiveState)!==null&&u!==void 0&&u.length)&&t.requestCapabilityForRoomTimeline(n),(y=r.sendEvent)===null||y===void 0||y.forEach(h=>t.requestCapabilityToSendEvent(h)),(s=r.receiveEvent)===null||s===void 0||s.forEach(h=>t.requestCapabilityToReceiveEvent(h)),r.sendMessage===!0?t.requestCapabilityToSendMessage():Array.isArray(r.sendMessage)&&r.sendMessage.forEach(h=>t.requestCapabilityToSendMessage(h)),r.receiveMessage===!0?t.requestCapabilityToReceiveMessage():Array.isArray(r.receiveMessage)&&r.receiveMessage.forEach(h=>t.requestCapabilityToReceiveMessage(h)),(m=r.sendState)===null||m===void 0||m.forEach(({eventType:h,stateKey:_})=>t.requestCapabilityToSendState(h,_)),(g=r.receiveState)===null||g===void 0||g.forEach(({eventType:h,stateKey:_})=>t.requestCapabilityToReceiveState(h,_)),(S=r.sendToDevice)===null||S===void 0||S.forEach(h=>t.requestCapabilityToSendToDevice(h)),(v=r.receiveToDevice)===null||v===void 0||v.forEach(h=>t.requestCapabilityToReceiveToDevice(h)),r.turnServers&&t.requestCapability(Vl.MatrixCapabilities.MSC3846TurnServers),t.on(`action:${Vl.WidgetApiToWidgetAction.SendEvent}`,this.onEvent),t.on(`action:${Vl.WidgetApiToWidgetAction.SendToDevice}`,this.onToDevice),t.start()}async startClient(t={}){var r,n;this.lifecycle=new AbortController;const i=this.getUserId();i&&this.store.storeUser(new Fj.User(i)),t.slidingSync?this.syncApi=new $j.SlidingSyncSdk(t.slidingSync,this,t):this.syncApi=new hc.SyncApi(this,t),this.room=this.syncApi.createRoom(this.roomId),this.store.storeRoom(this.room),await this.widgetApiReady,await Promise.all((r=(n=this.capabilities.receiveState)===null||n===void 0?void 0:n.map(async({eventType:a,stateKey:o})=>{const u=(await this.widgetApi.readStateEvents(a,void 0,o,[this.roomId])).map(y=>new ql.MatrixEvent(y));await this.syncApi.injectRoomEvents(this.room,[],u),u.forEach(y=>{this.emit(Ko.ClientEvent.Event,y),jo.logger.info(`Backfilled event ${y.getId()} ${y.getType()} ${y.getStateKey()}`)})}))!==null&&r!==void 0?r:[]),this.setSyncState(hc.SyncState.Syncing),jo.logger.info("Finished backfilling events"),this.capabilities.turnServers&&this.watchTurnServers()}stopClient(){this.widgetApi.off(`action:${Vl.WidgetApiToWidgetAction.SendEvent}`,this.onEvent),this.widgetApi.off(`action:${Vl.WidgetApiToWidgetAction.SendToDevice}`,this.onToDevice),super.stopClient(),this.lifecycle.abort()}async joinRoom(t){if(t===this.roomId)return this.room;throw new Error(`Unknown room: ${t}`)}async encryptAndSendEvent(t,r){let n;try{n=await this.widgetApi.sendRoomEvent(r.getType(),r.getContent(),t.roomId)}catch(i){throw this.updatePendingEventStatus(t,r,ql.EventStatus.NOT_SENT),i}return t.updatePendingEvent(r,ql.EventStatus.SENT,n.event_id),{event_id:n.event_id}}async sendStateEvent(t,r,n,i=""){return await this.widgetApi.sendStateEvent(r,i,n,t)}async sendToDevice(t,r){return await this.widgetApi.sendToDevice(t,!1,r),{}}async queueToDevice({eventType:t,batch:r}){const n={};for(const{userId:i,deviceId:a,payload:o}of r)n[i]||(n[i]={}),n[i][a]=o;await this.widgetApi.sendToDevice(t,!1,n)}async encryptAndSendToDevices(t,r){const n={};for(const{userId:i,deviceInfo:{deviceId:a}}of t)n[i]||(n[i]={}),n[i][a]=r;await this.widgetApi.sendToDevice(r.type,!0,n)}async checkTurnServers(){return this.turnServers.length>0}getSyncState(){return this.syncState}setSyncState(t){const r=this.syncState;this.syncState=t,this.emit(Ko.ClientEvent.Sync,t,r)}async ack(t){await this.widgetApi.transport.reply(t.detail,{})}async watchTurnServers(){const t=this.widgetApi.getTurnServers(),r=()=>{t.return(void 0)};this.lifecycle.signal.addEventListener("abort",r);try{for await(const n of t)this.turnServers=[{urls:n.uris,username:n.username,credential:n.password}],this.emit(Ko.ClientEvent.TurnServers,this.turnServers),jo.logger.log(`Received TURN server: ${n.uris}`)}catch(n){jo.logger.warn("Error watching TURN servers",n)}finally{this.lifecycle.signal.removeEventListener("abort",r)}}}_1.RoomWidgetClient=Bj;var ga={},jj=Ae;Object.defineProperty(ga,"__esModule",{value:!0});ga.SyncAccumulator=ga.Category=void 0;var id=jj(Ue),Kj=Ge(),k5=dt(),D5=xe,Vj=js(),M5=f1();function A5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function mc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?A5(Object(r),!0).forEach(function(n){(0,id.default)(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):A5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}let li;ga.Category=li;(function(e){e.Invite="invite",e.Leave="leave",e.Join="join"})(li||(ga.Category=li={}));function qj(e){return"_localTs"in e&&e._localTs!==void 0}class Wj{constructor(t={}){this.opts=t,(0,id.default)(this,"accountData",{}),(0,id.default)(this,"inviteRooms",{}),(0,id.default)(this,"joinRooms",{}),(0,id.default)(this,"nextBatch",null),this.opts.maxTimelineEntries=this.opts.maxTimelineEntries||50}accumulate(t,r=!1){this.accumulateRooms(t,r),this.accumulateAccountData(t),this.nextBatch=t.next_batch}accumulateAccountData(t){!t.account_data||!t.account_data.events||t.account_data.events.forEach(r=>{this.accountData[r.type]=r})}accumulateRooms(t,r=!1){t.rooms&&(t.rooms.invite&&Object.keys(t.rooms.invite).forEach(n=>{this.accumulateRoom(n,li.Invite,t.rooms.invite[n],r)}),t.rooms.join&&Object.keys(t.rooms.join).forEach(n=>{this.accumulateRoom(n,li.Join,t.rooms.join[n],r)}),t.rooms.leave&&Object.keys(t.rooms.leave).forEach(n=>{this.accumulateRoom(n,li.Leave,t.rooms.leave[n],r)}))}accumulateRoom(t,r,n,i=!1){switch(r){case li.Invite:this.accumulateInviteState(t,n);break;case li.Join:this.inviteRooms[t]&&delete this.inviteRooms[t],this.accumulateJoinState(t,n,i);break;case li.Leave:this.inviteRooms[t]?delete this.inviteRooms[t]:delete this.joinRooms[t];break;default:Kj.logger.error("Unknown cateogory: ",r)}}accumulateInviteState(t,r){if(!r.invite_state||!r.invite_state.events)return;if(!this.inviteRooms[t]){this.inviteRooms[t]={invite_state:r.invite_state};return}const n=this.inviteRooms[t];r.invite_state.events.forEach(i=>{let a=!1;for(let o=0;o<n.invite_state.events.length;o++){const p=n.invite_state.events[o];p.type===i.type&&p.state_key==i.state_key&&(n.invite_state.events[o]=i,a=!0)}a||n.invite_state.events.push(i)})}accumulateJoinState(t,r,n=!1){var i,a,o,p,u,y,s,m;this.joinRooms[t]||(this.joinRooms[t]={_currentState:Object.create(null),_timeline:[],_accountData:Object.create(null),_unreadNotifications:{},_unreadThreadNotifications:{},_summary:{},_readReceipts:{},_threadReadReceipts:{}});const g=this.joinRooms[t];if(r.account_data&&r.account_data.events&&r.account_data.events.forEach(S=>{g._accountData[S.type]=S}),r.unread_notifications&&(g._unreadNotifications=r.unread_notifications),g._unreadThreadNotifications=(i=(a=r[M5.UNREAD_THREAD_NOTIFICATIONS.stable])!==null&&a!==void 0?a:r[M5.UNREAD_THREAD_NOTIFICATIONS.unstable])!==null&&i!==void 0?i:void 0,r.summary){const S="m.heroes",v="m.invited_member_count",h="m.joined_member_count",_=g._summary,d=r.summary;_[S]=d[S]||_[S],_[h]=d[h]||_[h],_[v]=d[v]||_[v]}if((o=r.ephemeral)===null||o===void 0||(p=o.events)===null||p===void 0||p.forEach(S=>{S.type!==D5.EventType.Receipt||!S.content||Object.keys(S.content).forEach(v=>{Object.entries(S.content[v]).forEach(([h,_])=>{if((0,k5.isSupportedReceiptType)(h))for(const l of Object.keys(_)){const c=S.content[v][h][l],f={data:S.content[v][h][l],type:h,eventId:v};if(!c.thread_id||c.thread_id===Vj.MAIN_ROOM_TIMELINE)g._readReceipts[l]=f;else{var d;g._threadReadReceipts=mc(mc({},g._threadReadReceipts),{},{[c.thread_id]:mc(mc({},(d=g._threadReadReceipts[c.thread_id])!==null&&d!==void 0?d:{}),{},{[l]:f})})}}})})}),r.timeline&&r.timeline.limited&&(g._timeline=[]),(u=r.state)===null||u===void 0||(y=u.events)===null||y===void 0||y.forEach(S=>{Mh(g._currentState,S)}),(s=r.timeline)===null||s===void 0||(m=s.events)===null||m===void 0||m.forEach((S,v)=>{var h;Mh(g._currentState,S);let _;if(n)_=S;else{_=Object.assign({},S),_.unsigned!==void 0&&(_.unsigned=Object.assign({},_.unsigned));const d=S.unsigned?S.unsigned.age:S.age;d!==void 0&&(_._localTs=Date.now()-d)}g._timeline.push({event:_,token:v===0&&(h=r.timeline.prev_batch)!==null&&h!==void 0?h:null})}),g._timeline.length>this.opts.maxTimelineEntries){const S=g._timeline.length-this.opts.maxTimelineEntries;for(let v=S;v<g._timeline.length;v++)if(g._timeline[v].token){g._timeline=g._timeline.slice(v,g._timeline.length);break}}}getJSON(t=!1){const r={join:{},invite:{},leave:{}};Object.keys(this.inviteRooms).forEach(i=>{r.invite[i]=this.inviteRooms[i]}),Object.keys(this.joinRooms).forEach(i=>{const a=this.joinRooms[i],o={ephemeral:{events:[]},account_data:{events:[]},state:{events:[]},timeline:{events:[],prev_batch:null},unread_notifications:a._unreadNotifications,unread_thread_notifications:a._unreadThreadNotifications,summary:a._summary};Object.keys(a._accountData).forEach(y=>{o.account_data.events.push(a._accountData[y])});const p={type:D5.EventType.Receipt,room_id:i,content:{}};for(const[y,s]of Object.entries(a._readReceipts))p.content[s.eventId]||(p.content[s.eventId]={}),p.content[s.eventId][s.type]||(p.content[s.eventId][s.type]={}),p.content[s.eventId][s.type][y]=s.data;for(const y of Object.values(a._threadReadReceipts))for(const[s,m]of Object.entries(y))p.content[m.eventId]||(p.content[m.eventId]={}),p.content[m.eventId][m.type]||(p.content[m.eventId][m.type]={}),p.content[m.eventId][m.type][s]=m.data;Object.keys(p.content).length>0&&o.ephemeral.events.push(p),a._timeline.forEach(y=>{if(!o.timeline.prev_batch){if(!y.token)return;o.timeline.prev_batch=y.token}let s;!t&&qj(y.event)?(s=Object.assign({},y.event),s.unsigned!==void 0&&(s.unsigned=Object.assign({},s.unsigned)),delete s._localTs,s.unsigned=s.unsigned||{},s.unsigned.age=Date.now()-y.event._localTs):s=y.event,o.timeline.events.push(s)});const u=Object.create(null);for(let y=o.timeline.events.length-1;y>=0;y--){const s=o.timeline.events[y];if(s.state_key===null||s.state_key===void 0)continue;const m=(0,k5.deepCopy)(s);m.unsigned&&(m.unsigned.prev_content&&(m.content=m.unsigned.prev_content),m.unsigned.prev_sender&&(m.sender=m.unsigned.prev_sender)),Mh(u,m)}Object.keys(a._currentState).forEach(y=>{Object.keys(a._currentState[y]).forEach(s=>{let m=a._currentState[y][s];u[y]&&u[y][s]&&(m=u[y][s]),o.state.events.push(m)})}),r.join[i]=o});const n=[];return Object.keys(this.accountData).forEach(i=>{n.push(this.accountData[i])}),{nextBatch:this.nextBatch,roomsData:r,accountData:n}}getNextBatchToken(){return this.nextBatch}}ga.SyncAccumulator=Wj;function Mh(e,t){t.state_key===null||t.state_key===void 0||!t.type||(e[t.type]||(e[t.type]=Object.create(null)),e[t.type][t.state_key]=t)}var Ms={},Hj=Ae;Object.defineProperty(Ms,"__esModule",{value:!0});Ms.TimelineWindow=Ms.TimelineIndex=void 0;var ad=Hj(Ue),oi=Pn();Ge();const N5=function(){},Gj=5;class zj{constructor(t,r,n={}){this.client=t,this.timelineSet=r,(0,ad.default)(this,"windowLimit",void 0),(0,ad.default)(this,"start",void 0),(0,ad.default)(this,"end",void 0),(0,ad.default)(this,"eventCount",0),this.windowLimit=n.windowLimit||1e3}load(t,r=20){const n=i=>{if(!i)throw new Error("No timeline given to initFields");let a;const o=i.getEvents();if(!t)a=o.length;else if(a=o.findIndex(y=>y.getId()===t),a<0)throw new Error("getEventTimeline result didn't include requested event");const p=Math.min(o.length,a+Math.ceil(r/2)),u=Math.max(0,p-r);this.start=new Hv(i,u-i.getBaseIndex()),this.end=new Hv(i,p-i.getBaseIndex()),this.eventCount=p-u};return this.timelineSet.getTimelineForEvent(t)?(n(this.timelineSet.getTimelineForEvent(t)),Promise.resolve()):t?this.client.getEventTimeline(this.timelineSet,t).then(n):(n(this.timelineSet.getLiveTimeline()),Promise.resolve())}getTimelineIndex(t){if(t==oi.EventTimeline.BACKWARDS){var r;return(r=this.start)!==null&&r!==void 0?r:null}else if(t==oi.EventTimeline.FORWARDS){var n;return(n=this.end)!==null&&n!==void 0?n:null}else throw new Error("Invalid direction '"+t+"'")}extend(t,r){const n=this.getTimelineIndex(t);if(!n)return!1;const i=t==oi.EventTimeline.BACKWARDS?n.retreat(r):n.advance(r);if(i){this.eventCount+=i,N5("TimelineWindow: increased cap by "+i+" (now "+this.eventCount+")");const a=this.eventCount-this.windowLimit;return a>0&&this.unpaginate(a,t!=oi.EventTimeline.BACKWARDS),!0}return!1}canPaginate(t){const r=this.getTimelineIndex(t);if(!r)return!1;if(t==oi.EventTimeline.BACKWARDS){if(r.index>r.minIndex())return!0}else if(r.index<r.maxIndex())return!0;const n=r.timeline.getNeighbouringTimeline(t),i=r.timeline.getPaginationToken(t);return Boolean(n)||Boolean(i)}async paginate(t,r,n=!0,i=Gj){const a=this.getTimelineIndex(t);if(!a)return!1;if(a.pendingPaginate)return a.pendingPaginate;if(this.extend(t,r))return!0;if(!n||i===0||!a.timeline.getPaginationToken(t))return!1;const p=this.client.paginateEventTimeline(a.timeline,{backwards:t==oi.EventTimeline.BACKWARDS,limit:r}).finally(function(){a.pendingPaginate=void 0}).then(u=>u?this.paginate(t,r,!0,i-1):this.paginate(t,r,!1,0));return a.pendingPaginate=p,p}unpaginate(t,r){const n=r?this.start:this.end;if(!n)throw new Error(`Attempting to unpaginate startOfTimeline=${r} but don't have this direction`);if(t>this.eventCount||t<0)throw new Error(`Attemting to unpaginate ${t} events, but only have ${this.eventCount} in the timeline`);for(;t>0;){const i=r?n.advance(t):n.retreat(t);if(i<=0)throw new Error("Unable to unpaginate any further, but still have "+this.eventCount+" events");t-=i,this.eventCount-=i,N5("TimelineWindow.unpaginate: dropped "+i+" (now "+this.eventCount+")")}}getEvents(){if(!this.start)return[];const t=[];let r=this.start.timeline;for(;;){var n,i;const a=r.getEvents();let o=0,p=a.length;r===this.start.timeline&&(o=this.start.index+r.getBaseIndex()),r===((n=this.end)===null||n===void 0?void 0:n.timeline)&&(p=this.end.index+r.getBaseIndex());for(let u=o;u<p;u++)t.push(a[u]);if(r===((i=this.end)===null||i===void 0?void 0:i.timeline))break;r=r.getNeighbouringTimeline(oi.EventTimeline.FORWARDS)}return t}}Ms.TimelineWindow=zj;class Hv{constructor(t,r){this.timeline=t,this.index=r,(0,ad.default)(this,"pendingPaginate",void 0)}minIndex(){return this.timeline.getBaseIndex()*-1}maxIndex(){return this.timeline.getEvents().length-this.timeline.getBaseIndex()}advance(t){if(!t)return 0;let r;if(t<0){if(r=Math.max(t,this.minIndex()-this.index),r<0)return this.index+=r,r}else if(r=Math.min(t,this.maxIndex()-this.index),r>0)return this.index+=r,r;const n=this.timeline.getNeighbouringTimeline(t<0?oi.EventTimeline.BACKWARDS:oi.EventTimeline.FORWARDS);return n?(this.timeline=n,t<0?this.index=this.maxIndex():this.index=this.minIndex(),this.advance(t)):0}retreat(t){return this.advance(t*-1)*-1}}Ms.TimelineIndex=Hv;var po={},Yj=Ae;Object.defineProperty(po,"__esModule",{value:!0});po.InteractiveAuth=po.AuthType=void 0;var qt=Yj(Ue),Vo=Ge(),Qj=dt();const Wl="m.login.email.identity",L5="m.login.msisdn";let Wd;po.AuthType=Wd;(function(e){e.Password="m.login.password",e.Recaptcha="m.login.recaptcha",e.Terms="m.login.terms",e.Email="m.login.email.identity",e.Msisdn="m.login.msisdn",e.Sso="m.login.sso",e.SsoUnstable="org.matrix.login.sso",e.Dummy="m.login.dummy",e.RegistrationToken="m.login.registration_token",e.UnstableRegistrationToken="org.matrix.msc3231.login.registration_token"})(Wd||(po.AuthType=Wd={}));class Jj extends Error{constructor(t,r,n){super(t),this.required_stages=r,this.flows=n,(0,qt.default)(this,"name","NoAuthFlowFoundError")}}class Xj{constructor(t){(0,qt.default)(this,"matrixClient",void 0),(0,qt.default)(this,"inputs",void 0),(0,qt.default)(this,"clientSecret",void 0),(0,qt.default)(this,"requestCallback",void 0),(0,qt.default)(this,"busyChangedCallback",void 0),(0,qt.default)(this,"stateUpdatedCallback",void 0),(0,qt.default)(this,"requestEmailTokenCallback",void 0),(0,qt.default)(this,"data",void 0),(0,qt.default)(this,"emailSid",void 0),(0,qt.default)(this,"requestingEmailToken",!1),(0,qt.default)(this,"attemptAuthDeferred",null),(0,qt.default)(this,"chosenFlow",null),(0,qt.default)(this,"currentStage",null),(0,qt.default)(this,"emailAttempt",1),(0,qt.default)(this,"submitPromise",null),(0,qt.default)(this,"requestEmailToken",async()=>{if(this.requestingEmailToken)Vo.logger.warn("Could not request email token: Already requesting");else{Vo.logger.trace("Requesting email token. Attempt: "+this.emailAttempt),this.requestingEmailToken=!0;try{const r=await this.requestEmailTokenCallback(this.inputs.emailAddress,this.clientSecret,this.emailAttempt++,this.data.session);this.emailSid=r.sid,Vo.logger.trace("Email token request succeeded")}finally{this.requestingEmailToken=!1}}}),this.matrixClient=t.matrixClient,this.data=t.authData||{},this.requestCallback=t.doRequest,this.busyChangedCallback=t.busyChanged,this.stateUpdatedCallback=t.stateUpdated||t.startAuthStage,this.requestEmailTokenCallback=t.requestEmailToken,this.inputs=t.inputs||{},t.sessionId&&(this.data.session=t.sessionId),this.clientSecret=t.clientSecret||this.matrixClient.generateClientSecret(),this.emailSid=t.emailSid}attemptAuth(){var t;this.attemptAuthDeferred=(0,Qj.defer)();const r=this.attemptAuthDeferred.promise;if((t=this.data)!==null&&t!==void 0&&t.flows)this.startNextAuthStage();else{var n;(n=this.busyChangedCallback)===null||n===void 0||n.call(this,!0);const i=this.data.session?{session:this.data.session}:null;this.doRequest(i).finally(()=>{var a;(a=this.busyChangedCallback)===null||a===void 0||a.call(this,!1)})}return r}async poll(){if(!this.data.session||!this.attemptAuthDeferred||this.submitPromise)return;let t={};if(this.currentStage==Wl&&this.emailSid){const r={sid:this.emailSid,client_secret:this.clientSecret};if(await this.matrixClient.doesServerRequireIdServerParam()){const n=new URL(this.matrixClient.getIdentityServerUrl());r.id_server=n.host}t={type:Wl,threepid_creds:r,threepidCreds:r}}this.submitAuthDict(t,!0)}getSessionId(){var t;return(t=this.data)===null||t===void 0?void 0:t.session}getClientSecret(){return this.clientSecret}getStageParams(t){var r;return(r=this.data.params)===null||r===void 0?void 0:r[t]}getChosenFlow(){return this.chosenFlow}async submitAuthDict(t,r=!1){if(!this.attemptAuthDeferred)throw new Error("submitAuthDict() called before attemptAuth()");if(!r){var n;(n=this.busyChangedCallback)===null||n===void 0||n.call(this,!0)}for(;this.submitPromise;)try{await this.submitPromise}catch{}let i;this.data.session?(i={session:this.data.session},Object.assign(i,t)):i=t;try{this.submitPromise=this.doRequest(i,r),await this.submitPromise}finally{if(this.submitPromise=null,!r){var a;(a=this.busyChangedCallback)===null||a===void 0||a.call(this,!1)}}}getEmailSid(){return this.emailSid}setEmailSid(t){this.emailSid=t}async doRequest(t,r=!1){try{const p=await this.requestCallback(t,r);this.attemptAuthDeferred.resolve(p),this.attemptAuthDeferred=null}catch(p){var n,i,a;const u=(n=(i=p.data)===null||i===void 0?void 0:i.flows)!==null&&n!==void 0?n:null,y=this.data.flows||Boolean(u);if(p.httpStatus!==401||!p.data||!y)if(r)Vo.logger.log("Background poll request failed doing UI auth: ignoring",p);else{var o;(o=this.attemptAuthDeferred)===null||o===void 0||o.reject(p)}p.data||(p.data={}),!p.data.flows&&!p.data.completed&&!p.data.session&&(p.data.flows=this.data.flows,p.data.completed=this.data.completed,p.data.session=this.data.session),this.data=p.data;try{this.startNextAuthStage()}catch(s){this.attemptAuthDeferred.reject(s),this.attemptAuthDeferred=null;return}if(!this.emailSid&&(a=this.chosenFlow)!==null&&a!==void 0&&a.stages.includes(Wd.Email))try{await this.requestEmailToken()}catch(s){this.attemptAuthDeferred.reject(s),this.attemptAuthDeferred=null}}}startNextAuthStage(){var t,r;const n=this.chooseStage();if(!n)throw new Error("No incomplete flows from the server");if(this.currentStage=n,n===Wd.Dummy){this.submitAuthDict({type:"m.login.dummy"});return}if((t=this.data)!==null&&t!==void 0&&t.errcode||(r=this.data)!==null&&r!==void 0&&r.error){var i,a;this.stateUpdatedCallback(n,{errcode:((i=this.data)===null||i===void 0?void 0:i.errcode)||"",error:((a=this.data)===null||a===void 0?void 0:a.error)||""});return}this.stateUpdatedCallback(n,n===Wl?{emailSid:this.emailSid}:{})}chooseStage(){this.chosenFlow===null&&(this.chosenFlow=this.chooseFlow()),Vo.logger.log("Active flow => %s",JSON.stringify(this.chosenFlow));const t=this.firstUncompletedStage(this.chosenFlow);return Vo.logger.log("Next stage: %s",t),t}chooseFlow(){const t=this.data.flows||[],r=Boolean(this.inputs.emailAddress)||Boolean(this.emailSid),n=Boolean(this.inputs.phoneCountry)&&Boolean(this.inputs.phoneNumber);for(const a of t){let o=!1,p=!1;for(const u of a.stages)u===Wl?o=!0:u==L5&&(p=!0);if(o==r&&p==n)return a}const i=[];throw r&&i.push(Wl),n&&i.push(L5),new Jj("No appropriate authentication flow found",i,t)}firstUncompletedStage(t){const r=this.data.completed||[];return t.stages.find(n=>!r.includes(n))}}po.InteractiveAuth=Xj;var E1={},Hl={},x5;function Zj(){if(x5)return Hl;x5=1;var e=Ae;Object.defineProperty(Hl,"__esModule",{value:!0}),Hl.LocalIndexedDBStoreBackend=void 0;var t=e(Ue),r=ga,n=p(dt()),i=p(QE()),a=Ge();function o(_){if(typeof WeakMap!="function")return null;var d=new WeakMap,l=new WeakMap;return(o=function(c){return c?l:d})(_)}function p(_,d){if(!d&&_&&_.__esModule)return _;if(_===null||typeof _!="object"&&typeof _!="function")return{default:_};var l=o(d);if(l&&l.has(_))return l.get(_);var c={},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var E in _)if(E!=="default"&&Object.prototype.hasOwnProperty.call(_,E)){var w=f?Object.getOwnPropertyDescriptor(_,E):null;w&&(w.get||w.set)?Object.defineProperty(c,E,w):c[E]=_[E]}return c.default=_,l&&l.set(_,c),c}const u=[_=>{_.createObjectStore("users",{keyPath:["userId"]}),_.createObjectStore("accountData",{keyPath:["type"]}),_.createObjectStore("sync",{keyPath:["clobber"]})},_=>{_.createObjectStore("oob_membership_events",{keyPath:["room_id","state_key"]}).createIndex("room","room_id")},_=>{_.createObjectStore("client_options",{keyPath:["clobber"]})},_=>{_.createObjectStore("to_device_queue",{autoIncrement:!0})}],y=u.length;function s(_,d,l){const c=_.openCursor(d);return new Promise((f,E)=>{const w=[];c.onerror=()=>{E(new Error("Query failed: "+c.error))},c.onsuccess=()=>{const I=c.result;if(!I){f(w);return}w.push(l(I)),I.continue()}})}function m(_){return new Promise((d,l)=>{_.oncomplete=function(c){d(c)},_.onerror=function(){l(_.error)}})}function g(_){return new Promise((d,l)=>{_.onsuccess=function(c){d(c)},_.onerror=function(){l(_.error)}})}function S(_){return new Promise((d,l)=>{_.onsuccess=()=>d(_),_.onerror=c=>l(c)})}function v(_){return g(_).then(d=>_.result)}class h{static exists(d,l){return l="matrix-js-sdk:"+(l||"default"),i.exists(d,l)}constructor(d,l="default"){this.indexedDB=d,(0,t.default)(this,"dbName",void 0),(0,t.default)(this,"syncAccumulator",void 0),(0,t.default)(this,"db",void 0),(0,t.default)(this,"disconnected",!0),(0,t.default)(this,"_isNewlyCreated",!1),(0,t.default)(this,"isPersisting",!1),(0,t.default)(this,"pendingUserPresenceData",[]),this.dbName="matrix-js-sdk:"+l,this.syncAccumulator=new r.SyncAccumulator}connect(){if(!this.disconnected)return a.logger.log("LocalIndexedDBStoreBackend.connect: already connected or connecting"),Promise.resolve();this.disconnected=!1,a.logger.log("LocalIndexedDBStoreBackend.connect: connecting...");const d=this.indexedDB.open(this.dbName,y);return d.onupgradeneeded=l=>{const c=d.result,f=l.oldVersion;a.logger.log(`LocalIndexedDBStoreBackend.connect: upgrading from ${f}`),f<1&&(this._isNewlyCreated=!0),u.forEach((E,w)=>{f<=w&&E(c)})},d.onblocked=()=>{a.logger.log("can't yet open LocalIndexedDBStoreBackend because it is open elsewhere")},a.logger.log("LocalIndexedDBStoreBackend.connect: awaiting connection..."),g(d).then(async()=>{a.logger.log("LocalIndexedDBStoreBackend.connect: connected"),this.db=d.result,this.db.onversionchange=()=>{var l;(l=this.db)===null||l===void 0||l.close()},await this.init()})}isNewlyCreated(){return Promise.resolve(this._isNewlyCreated)}init(){return Promise.all([this.loadAccountData(),this.loadSyncData()]).then(([d,l])=>{a.logger.log("LocalIndexedDBStoreBackend: loaded initial data"),this.syncAccumulator.accumulate({next_batch:l.nextBatch,rooms:l.roomsData,account_data:{events:d}},!0)})}getOutOfBandMembers(d){return new Promise((l,c)=>{const w=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),I=IDBKeyRange.only(d),D=w.openCursor(I),A=[];let L=!1;D.onsuccess=()=>{const F=D.result;if(!F)return!A.length&&!L?l(null):l(A);const x=F.value;x.oob_written?L=!0:A.push(x),F.continue()},D.onerror=F=>{c(F)}}).then(l=>(a.logger.log(`LL: got ${l==null?void 0:l.length} membershipEvents from storage for room ${d} ...`),l))}async setOutOfBandMembers(d,l){a.logger.log(`LL: backend about to store ${l.length} members for ${d}`);const c=this.db.transaction(["oob_membership_events"],"readwrite"),f=c.objectStore("oob_membership_events");l.forEach(w=>{f.put(w)});const E={room_id:d,oob_written:!0,state_key:0};f.put(E),await m(c),a.logger.log(`LL: backend done storing for ${d}!`)}async clearOutOfBandMembers(d){const f=this.db.transaction(["oob_membership_events"],"readonly").objectStore("oob_membership_events").index("room"),E=IDBKeyRange.only(d),w=v(f.openKeyCursor(E,"next")).then(H=>(H==null?void 0:H.primaryKey)[1]),I=v(f.openKeyCursor(E,"prev")).then(H=>(H==null?void 0:H.primaryKey)[1]),[D,A]=await Promise.all([w,I]),F=this.db.transaction(["oob_membership_events"],"readwrite").objectStore("oob_membership_events"),x=IDBKeyRange.bound([d,D],[d,A]);a.logger.log(`LL: Deleting all users + marker in storage for room ${d}, with key range:`,[d,D],[d,A]),await S(F.delete(x))}clearDatabase(){return new Promise(d=>{a.logger.log(`Removing indexeddb instance: ${this.dbName}`);const l=this.indexedDB.deleteDatabase(this.dbName);l.onblocked=()=>{a.logger.log(`can't yet delete indexeddb ${this.dbName} because it is open elsewhere`)},l.onerror=()=>{a.logger.warn(`unable to delete js-sdk store indexeddb: ${l.error}`),d()},l.onsuccess=()=>{a.logger.log(`Removed indexeddb instance: ${this.dbName}`),d()}})}getSavedSync(d=!0){const l=this.syncAccumulator.getJSON();return l.nextBatch?d?Promise.resolve(n.deepCopy(l)):Promise.resolve(l):Promise.resolve(null)}getNextBatchToken(){return Promise.resolve(this.syncAccumulator.getNextBatchToken())}setSyncData(d){return Promise.resolve().then(()=>{this.syncAccumulator.accumulate(d)})}async syncToDatabase(d){if(this.isPersisting){a.logger.warn("Skipping syncToDatabase() as persist already in flight"),this.pendingUserPresenceData.push(...d);return}else d.unshift(...this.pendingUserPresenceData),this.isPersisting=!0;try{const l=this.syncAccumulator.getJSON(!0);await Promise.all([this.persistUserPresenceEvents(d),this.persistAccountData(l.accountData),this.persistSyncData(l.nextBatch,l.roomsData)])}finally{this.isPersisting=!1}}persistSyncData(d,l){return a.logger.log("Persisting sync data up to",d),n.promiseTry(()=>{const c=this.db.transaction(["sync"],"readwrite");return c.objectStore("sync").put({clobber:"-",nextBatch:d,roomsData:l}),m(c).then(()=>{a.logger.log("Persisted sync data up to",d)})})}persistAccountData(d){return n.promiseTry(()=>{const l=this.db.transaction(["accountData"],"readwrite"),c=l.objectStore("accountData");for(const f of d)c.put(f);return m(l).then()})}persistUserPresenceEvents(d){return n.promiseTry(()=>{const l=this.db.transaction(["users"],"readwrite"),c=l.objectStore("users");for(const f of d)c.put({userId:f[0],event:f[1]});return m(l).then()})}getUserPresenceEvents(){return n.promiseTry(()=>{const l=this.db.transaction(["users"],"readonly").objectStore("users");return s(l,void 0,c=>[c.value.userId,c.value.event])})}loadAccountData(){return a.logger.log("LocalIndexedDBStoreBackend: loading account data..."),n.promiseTry(()=>{const l=this.db.transaction(["accountData"],"readonly").objectStore("accountData");return s(l,void 0,c=>c.value).then(c=>(a.logger.log("LocalIndexedDBStoreBackend: loaded account data"),c))})}loadSyncData(){return a.logger.log("LocalIndexedDBStoreBackend: loading sync data..."),n.promiseTry(()=>{const l=this.db.transaction(["sync"],"readonly").objectStore("sync");return s(l,void 0,c=>c.value).then(c=>(a.logger.log("LocalIndexedDBStoreBackend: loaded sync data"),c.length>1&&a.logger.warn("loadSyncData: More than 1 sync row found."),c.length>0?c[0]:{}))})}getClientOptions(){return Promise.resolve().then(()=>{const l=this.db.transaction(["client_options"],"readonly").objectStore("client_options");return s(l,void 0,c=>{var f;return(f=c.value)===null||f===void 0?void 0:f.options}).then(c=>c[0])})}async storeClientOptions(d){const l=this.db.transaction(["client_options"],"readwrite");l.objectStore("client_options").put({clobber:"-",options:d}),await m(l)}async saveToDeviceBatches(d){const l=this.db.transaction(["to_device_queue"],"readwrite"),c=l.objectStore("to_device_queue");for(const f of d)c.add(f);await m(l)}async getOldestToDeviceBatch(){const l=this.db.transaction(["to_device_queue"],"readonly").objectStore("to_device_queue"),c=await v(l.openCursor());if(!c)return null;const f=c.value;return{id:c.key,txnId:f.txnId,eventType:f.eventType,batch:f.batch}}async removeToDeviceBatch(d){const l=this.db.transaction(["to_device_queue"],"readwrite");l.objectStore("to_device_queue").delete(d),await m(l)}}return Hl.LocalIndexedDBStoreBackend=h,Hl}var Gl={},U5;function eK(){if(U5)return Gl;U5=1;var e=Ae;Object.defineProperty(Gl,"__esModule",{value:!0}),Gl.RemoteIndexedDBStoreBackend=void 0;var t=e(Ue),r=Ge(),n=dt();class i{constructor(o,p){this.workerFactory=o,this.dbName=p,(0,t.default)(this,"worker",void 0),(0,t.default)(this,"nextSeq",0),(0,t.default)(this,"inFlight",{}),(0,t.default)(this,"startPromise",void 0),(0,t.default)(this,"onWorkerMessage",u=>{const y=u.data;if(y.command=="cmd_success"||y.command=="cmd_fail"){if(y.seq===void 0){r.logger.error("Got reply from worker with no seq");return}const s=this.inFlight[y.seq];if(s===void 0){r.logger.error("Got reply for unknown seq "+y.seq);return}if(delete this.inFlight[y.seq],y.command=="cmd_success")s.resolve(y.result);else{const m=new Error(y.error.message);m.name=y.error.name,s.reject(m)}}else r.logger.warn("Unrecognised message from worker: ",y)})}connect(){return this.ensureStarted().then(()=>this.doCmd("connect"))}clearDatabase(){return this.ensureStarted().then(()=>this.doCmd("clearDatabase"))}isNewlyCreated(){return this.doCmd("isNewlyCreated")}getSavedSync(){return this.doCmd("getSavedSync")}getNextBatchToken(){return this.doCmd("getNextBatchToken")}setSyncData(o){return this.doCmd("setSyncData",[o])}syncToDatabase(o){return this.doCmd("syncToDatabase",[o])}getOutOfBandMembers(o){return this.doCmd("getOutOfBandMembers",[o])}setOutOfBandMembers(o,p){return this.doCmd("setOutOfBandMembers",[o,p])}clearOutOfBandMembers(o){return this.doCmd("clearOutOfBandMembers",[o])}getClientOptions(){return this.doCmd("getClientOptions")}storeClientOptions(o){return this.doCmd("storeClientOptions",[o])}getUserPresenceEvents(){return this.doCmd("getUserPresenceEvents")}async saveToDeviceBatches(o){return this.doCmd("saveToDeviceBatches",[o])}async getOldestToDeviceBatch(){return this.doCmd("getOldestToDeviceBatch")}async removeToDeviceBatch(o){return this.doCmd("removeToDeviceBatch",[o])}ensureStarted(){return this.startPromise||(this.worker=this.workerFactory(),this.worker.onmessage=this.onWorkerMessage,this.startPromise=this.doCmd("setupWorker",[this.dbName]).then(()=>{r.logger.log("IndexedDB worker is ready")})),this.startPromise}doCmd(o,p){return Promise.resolve().then(()=>{var u;const y=this.nextSeq++,s=(0,n.defer)();return this.inFlight[y]=s,(u=this.worker)===null||u===void 0||u.postMessage({command:o,seq:y,args:p}),s.promise})}}return Gl.RemoteIndexedDBStoreBackend=i,Gl}var tK=Ae;Object.defineProperty(E1,"__esModule",{value:!0});E1.IndexedDBStore=void 0;var Vt=tK(Ue),rK=du,$5=Zj(),nK=eK(),iK=Zr,aK=ir(),pn=Ge(),oK=At();const sK=1e3*60*5;class lK extends rK.MemoryStore{static exists(t,r){return $5.LocalIndexedDBStoreBackend.exists(t,r)}constructor(t){if(super(t),(0,Vt.default)(this,"backend",void 0),(0,Vt.default)(this,"startedUp",!1),(0,Vt.default)(this,"syncTs",0),(0,Vt.default)(this,"userModifiedMap",{}),(0,Vt.default)(this,"emitter",new oK.TypedEventEmitter),(0,Vt.default)(this,"on",this.emitter.on.bind(this.emitter)),(0,Vt.default)(this,"getSavedSync",this.degradable(()=>this.backend.getSavedSync(),"getSavedSync")),(0,Vt.default)(this,"isNewlyCreated",this.degradable(()=>this.backend.isNewlyCreated(),"isNewlyCreated")),(0,Vt.default)(this,"getSavedSyncToken",this.degradable(()=>this.backend.getNextBatchToken(),"getSavedSyncToken")),(0,Vt.default)(this,"deleteAllData",this.degradable(()=>(super.deleteAllData(),this.backend.clearDatabase().then(()=>{pn.logger.log("Deleted indexeddb data.")},r=>{throw pn.logger.error(`Failed to delete indexeddb data: ${r}`),r})))),(0,Vt.default)(this,"reallySave",this.degradable(()=>{this.syncTs=Date.now();const r=[];for(const n of this.getUsers())this.userModifiedMap[n.userId]!==n.getLastModifiedTime()&&n.events.presence&&(r.push([n.userId,n.events.presence.event]),this.userModifiedMap[n.userId]=n.getLastModifiedTime());return this.backend.syncToDatabase(r)})),(0,Vt.default)(this,"setSyncData",this.degradable(r=>this.backend.setSyncData(r),"setSyncData")),(0,Vt.default)(this,"getOutOfBandMembers",this.degradable(r=>this.backend.getOutOfBandMembers(r),"getOutOfBandMembers")),(0,Vt.default)(this,"setOutOfBandMembers",this.degradable((r,n)=>(super.setOutOfBandMembers(r,n),this.backend.setOutOfBandMembers(r,n)),"setOutOfBandMembers")),(0,Vt.default)(this,"clearOutOfBandMembers",this.degradable(r=>(super.clearOutOfBandMembers(r),this.backend.clearOutOfBandMembers(r)),"clearOutOfBandMembers")),(0,Vt.default)(this,"getClientOptions",this.degradable(()=>this.backend.getClientOptions(),"getClientOptions")),(0,Vt.default)(this,"storeClientOptions",this.degradable(r=>(super.storeClientOptions(r),this.backend.storeClientOptions(r)),"storeClientOptions")),!t.indexedDB)throw new Error("Missing required option: indexedDB");t.workerFactory?this.backend=new nK.RemoteIndexedDBStoreBackend(t.workerFactory,t.dbName):this.backend=new $5.LocalIndexedDBStoreBackend(t.indexedDB,t.dbName)}startup(){return this.startedUp?(pn.logger.log("IndexedDBStore.startup: already started"),Promise.resolve()):(pn.logger.log("IndexedDBStore.startup: connecting to backend"),this.backend.connect().then(()=>(pn.logger.log("IndexedDBStore.startup: loading presence events"),this.backend.getUserPresenceEvents())).then(t=>{pn.logger.log("IndexedDBStore.startup: processing presence events"),t.forEach(([r,n])=>{const i=new iK.User(r);n&&i.setPresenceEvent(new aK.MatrixEvent(n)),this.userModifiedMap[i.userId]=i.getLastModifiedTime(),this.storeUser(i)})}))}wantsSave(){return Date.now()-this.syncTs>sK}save(t=!1){return t||this.wantsSave()?this.reallySave():Promise.resolve()}degradable(t,r){const n=r?super[r]:null;return async(...i)=>{try{return await t.call(this,...i)}catch(a){pn.logger.error("IndexedDBStore failure, degrading to MemoryStore",a),this.emitter.emit("degraded",a);try{pn.logger.log("IndexedDBStore trying to delete degraded data"),await this.backend.clearDatabase(),pn.logger.log("IndexedDBStore delete after degrading succeeded")}catch(o){pn.logger.warn("IndexedDBStore delete after degrading failed",o)}if(n)return n.call(this,...i)}}}async getPendingEvents(t){if(!this.localStorage)return super.getPendingEvents(t);const r=this.localStorage.getItem(Ah(t));if(r)try{return JSON.parse(r)}catch(n){pn.logger.error("Could not parse persisted pending events",n)}return[]}async setPendingEvents(t,r){if(!this.localStorage)return super.setPendingEvents(t,r);r.length>0?this.localStorage.setItem(Ah(t),JSON.stringify(r)):this.localStorage.removeItem(Ah(t))}saveToDeviceBatches(t){return this.backend.saveToDeviceBatches(t)}getOldestToDeviceBatch(){return this.backend.getOldestToDeviceBatch()}removeToDeviceBatch(t){return this.backend.removeToDeviceBatch(t)}}E1.IndexedDBStore=lK;function Ah(e){return`mx_pending_events_${e}`}var gw={};Object.defineProperty(gw,"__esModule",{value:!0});(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t={setCryptoStoreFactory:!0,createClient:!0,createRoomWidgetClient:!0,ContentHelpers:!0,createNewMatrixCall:!0,GroupCallEvent:!0,GroupCallIntent:!0,GroupCallState:!0,GroupCallType:!0};e.ContentHelpers=void 0,Object.defineProperty(e,"GroupCallEvent",{enumerable:!0,get:function(){return j.GroupCallEvent}}),Object.defineProperty(e,"GroupCallIntent",{enumerable:!0,get:function(){return j.GroupCallIntent}}),Object.defineProperty(e,"GroupCallState",{enumerable:!0,get:function(){return j.GroupCallState}}),Object.defineProperty(e,"GroupCallType",{enumerable:!0,get:function(){return j.GroupCallType}}),e.createClient=C,Object.defineProperty(e,"createNewMatrixCall",{enumerable:!0,get:function(){return G.createNewMatrixCall}}),e.createRoomWidgetClient=N,e.setCryptoStoreFactory=B;var r=Bs;Object.keys(r).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===r[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return r[T]}})});var n=du;Object.keys(n).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===n[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return n[T]}})});var i=Tu;Object.keys(i).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===i[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return i[T]}})});var a=ln();Object.keys(a).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===a[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return a[T]}})});var o=_1;Object.keys(o).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===o[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return o[T]}})});var p=kn;Object.keys(p).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===p[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return p[T]}})});var u=va;Object.keys(u).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===u[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return u[T]}})});var y=ga;Object.keys(y).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===y[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return y[T]}})});var s=zt;Object.keys(s).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===s[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return s[T]}})});var m=Tr;Object.keys(m).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===m[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return m[T]}})});var g=ir();Object.keys(g).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===g[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return g[T]}})});var S=Ti();Object.keys(S).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===S[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return S[T]}})});var v=Pn();Object.keys(v).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===v[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return v[T]}})});var h=k0();Object.keys(h).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===h[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return h[T]}})});var _=en;Object.keys(_).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===_[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return _[T]}})});var d=Ia();Object.keys(d).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===d[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return d[T]}})});var l=Zr;Object.keys(l).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===l[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return l[T]}})});var c=h1();Object.keys(c).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===c[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return c[T]}})});var f=Ms;Object.keys(f).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===f[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return f[T]}})});var E=po;Object.keys(E).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===E[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return E[T]}})});var w=Ys;Object.keys(w).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===w[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return w[T]}})});var I=E1;Object.keys(I).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===I[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return I[T]}})});var D=sn;Object.keys(D).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===D[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return D[T]}})});var A=Ks;Object.keys(A).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===A[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return A[T]}})});var L=xe;Object.keys(L).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===L[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return L[T]}})});var F=ht;Object.keys(F).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===F[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return F[T]}})});var x=_t;Object.keys(x).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===x[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return x[T]}})});var H=gw;Object.keys(H).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===H[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return H[T]}})});var K=Qs;Object.keys(K).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===K[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return K[T]}})});var W=gu;Object.keys(W).forEach(function(T){T==="default"||T==="__esModule"||Object.prototype.hasOwnProperty.call(t,T)||T in e&&e[T]===W[T]||Object.defineProperty(e,T,{enumerable:!0,get:function(){return W[T]}})});var X=R(ut);e.ContentHelpers=X;var G=Eu(),j=zs();function Y(T){if(typeof WeakMap!="function")return null;var ee=new WeakMap,ne=new WeakMap;return(Y=function(se){return se?ne:ee})(T)}function R(T,ee){if(!ee&&T&&T.__esModule)return T;if(T===null||typeof T!="object"&&typeof T!="function")return{default:T};var ne=Y(ee);if(ne&&ne.has(T))return ne.get(T);var se={},me=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var q in T)if(q!=="default"&&Object.prototype.hasOwnProperty.call(T,q)){var oe=me?Object.getOwnPropertyDescriptor(T,q):null;oe&&(oe.get||oe.set)?Object.defineProperty(se,q,oe):se[q]=T[q]}return se.default=T,ne&&ne.set(T,se),se}let k=()=>new r.MemoryCryptoStore;function B(T){k=T}function $(T){var ee,ne,se;return T.store=(ee=T.store)!==null&&ee!==void 0?ee:new n.MemoryStore({localStorage:$e.localStorage}),T.scheduler=(ne=T.scheduler)!==null&&ne!==void 0?ne:new i.MatrixScheduler,T.cryptoStore=(se=T.cryptoStore)!==null&&se!==void 0?se:k(),T}function C(T){return new a.MatrixClient($(T))}function N(T,ee,ne,se){return new o.RoomWidgetClient(T,ee,ne,$(se))}})(lE);(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t={};e.default=void 0;var r=i(lE);Object.keys(r).forEach(function(o){o==="default"||o==="__esModule"||Object.prototype.hasOwnProperty.call(t,o)||o in e&&e[o]===r[o]||Object.defineProperty(e,o,{enumerable:!0,get:function(){return r[o]}})});function n(o){if(typeof WeakMap!="function")return null;var p=new WeakMap,u=new WeakMap;return(n=function(y){return y?u:p})(o)}function i(o,p){if(!p&&o&&o.__esModule)return o;if(o===null||typeof o!="object"&&typeof o!="function")return{default:o};var u=n(p);if(u&&u.has(o))return u.get(o);var y={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var m in o)if(m!=="default"&&Object.prototype.hasOwnProperty.call(o,m)){var g=s?Object.getOwnPropertyDescriptor(o,m):null;g&&(g.get||g.set)?Object.defineProperty(y,m,g):y[m]=o[m]}return y.default=o,u&&u.set(o,y),y}if($e.__js_sdk_entrypoint)throw new Error("Multiple matrix-js-sdk entrypoints detected!");$e.__js_sdk_entrypoint=!0;var a=r;e.default=a})(QL);var wq=ow();const bq="/pr-281/assets/olm-82e831ad.wasm",Tq="/pr-281/assets/olm_legacy-086c8bde.js";var Gv={},dK={get exports(){return Gv},set exports(e){Gv=e}};(function(e,t){// @license magnet:?xt=urn:btih:8e4f440f4c65981c5bf93c76d35135ba5064d8b7&dn=apache-2.0.txt Apache-2.0 +var r=function(){var n={},i,a,o=(()=>{var u=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(u=u||__filename),function(y){y=y||{};var s;s||(s=typeof y<"u"?y:{});var m,g;s.ready=new Promise(function(V,Z){m=V,g=Z});var S;if(typeof window<"u")S=function(V){window.crypto.getRandomValues(V)};else if(e.exports){var v=cs;S=function(V){var Z=v.randomBytes(V.length);V.set(Z)},process=$e.process}else throw Error("Cannot find global to attach library to");if(typeof OLM_OPTIONS<"u")for(var h in OLM_OPTIONS)OLM_OPTIONS.hasOwnProperty(h)&&(s[h]=OLM_OPTIONS[h]);s.onRuntimeInitialized=function(){Be=s._olm_error(),n.PRIVATE_KEY_LENGTH=s._olm_pk_private_key_length(),i&&i()},s.onAbort=function(V){a&&a(V)};var _=Object.assign({},s),d=typeof window=="object",l=typeof importScripts=="function",c=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",f="",E,w,I,D,A,L;c?(f=l?cs.dirname(f)+"/":__dirname+"/",L=()=>{A||(D=cs,A=cs)},E=function(V,Z){return L(),V=A.normalize(V),D.readFileSync(V,Z?void 0:"utf8")},I=V=>(V=E(V,!0),V.buffer||(V=new Uint8Array(V)),V),w=(V,Z,ae)=>{L(),V=A.normalize(V),D.readFile(V,function(ye,Ie){ye?ae(ye):Z(Ie.buffer)})},1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),process.on("uncaughtException",function(V){throw V}),process.on("unhandledRejection",function(V){throw V}),s.inspect=function(){return"[Emscripten Module object]"}):(d||l)&&(l?f=self.location.href:typeof document<"u"&&document.currentScript&&(f=document.currentScript.src),u&&(f=u),f.indexOf("blob:")!==0?f=f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):f="",E=V=>{var Z=new XMLHttpRequest;return Z.open("GET",V,!1),Z.send(null),Z.responseText},l&&(I=V=>{var Z=new XMLHttpRequest;return Z.open("GET",V,!1),Z.responseType="arraybuffer",Z.send(null),new Uint8Array(Z.response)}),w=(V,Z,ae)=>{var ye=new XMLHttpRequest;ye.open("GET",V,!0),ye.responseType="arraybuffer",ye.onload=()=>{ye.status==200||ye.status==0&&ye.response?Z(ye.response):ae()},ye.onerror=ae,ye.send(null)}),s.print||console.log.bind(console);var F=s.printErr||console.warn.bind(console);Object.assign(s,_),_=null;var x;s.wasmBinary&&(x=s.wasmBinary),s.noExitRuntime,typeof WebAssembly!="object"&&O("no native wasm support detected");var H,K=!1,W=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function X(V,Z){if(V){var ae=k,ye=V+Z;for(Z=V;ae[Z]&&!(Z>=ye);)++Z;if(16<Z-V&&ae.buffer&&W)V=W.decode(ae.subarray(V,Z));else{for(ye="";V<Z;){var Ie=ae[V++];if(Ie&128){var He=ae[V++]&63;if((Ie&224)==192)ye+=String.fromCharCode((Ie&31)<<6|He);else{var nt=ae[V++]&63;Ie=(Ie&240)==224?(Ie&15)<<12|He<<6|nt:(Ie&7)<<18|He<<12|nt<<6|ae[V++]&63,65536>Ie?ye+=String.fromCharCode(Ie):(Ie-=65536,ye+=String.fromCharCode(55296|Ie>>10,56320|Ie&1023))}}else ye+=String.fromCharCode(Ie)}V=ye}}else V="";return V}function G(V,Z,ae,ye){if(!(0<ye))return 0;var Ie=ae;ye=ae+ye-1;for(var He=0;He<V.length;++He){var nt=V.charCodeAt(He);if(55296<=nt&&57343>=nt){var or=V.charCodeAt(++He);nt=65536+((nt&1023)<<10)|or&1023}if(127>=nt){if(ae>=ye)break;Z[ae++]=nt}else{if(2047>=nt){if(ae+1>=ye)break;Z[ae++]=192|nt>>6}else{if(65535>=nt){if(ae+2>=ye)break;Z[ae++]=224|nt>>12}else{if(ae+3>=ye)break;Z[ae++]=240|nt>>18,Z[ae++]=128|nt>>12&63}Z[ae++]=128|nt>>6&63}Z[ae++]=128|nt&63}}return Z[ae]=0,ae-Ie}function j(V){for(var Z=0,ae=0;ae<V.length;++ae){var ye=V.charCodeAt(ae);127>=ye?Z++:2047>=ye?Z+=2:55296<=ye&&57343>=ye?(Z+=4,++ae):Z+=3}return Z}var Y,R,k,B,$,C,N,T;function ee(){var V=H.buffer;Y=V,s.HEAP8=R=new Int8Array(V),s.HEAP16=B=new Int16Array(V),s.HEAP32=$=new Int32Array(V),s.HEAPU8=k=new Uint8Array(V),s.HEAPU16=new Uint16Array(V),s.HEAPU32=C=new Uint32Array(V),s.HEAPF32=N=new Float32Array(V),s.HEAPF64=T=new Float64Array(V)}var ne=[],se=[],me=[];function q(){var V=s.preRun.shift();ne.unshift(V)}var oe=0,M=null;function O(V){throw s.onAbort&&s.onAbort(V),V="Aborted("+V+")",F(V),K=!0,V=new WebAssembly.RuntimeError(V+". Build with -sASSERTIONS for more info."),g(V),V}function z(){return J.startsWith("data:application/octet-stream;base64,")}var J;if(J="olm.wasm",!z()){var re=J;J=s.locateFile?s.locateFile(re,f):f+re}function le(){var V=J;try{if(V==J&&x)return new Uint8Array(x);if(I)return I(V);throw"both async and sync fetching of the wasm failed"}catch(Z){O(Z)}}function de(){if(!x&&(d||l)){if(typeof fetch=="function"&&!J.startsWith("file://"))return fetch(J,{credentials:"same-origin"}).then(function(V){if(!V.ok)throw"failed to load wasm binary file at '"+J+"'";return V.arrayBuffer()}).catch(function(){return le()});if(w)return new Promise(function(V,Z){w(J,function(ae){V(new Uint8Array(ae))},Z)})}return Promise.resolve().then(function(){return le()})}var ue;function pe(V){for(;0<V.length;)V.shift()(s)}function ve(V,Z="i8"){switch(Z.endsWith("*")&&(Z="*"),Z){case"i1":return R[V>>0];case"i8":return R[V>>0];case"i16":return B[V>>1];case"i32":return $[V>>2];case"i64":return $[V>>2];case"float":return N[V>>2];case"double":return T[V>>3];case"*":return C[V>>2];default:O("invalid type for getValue: "+Z)}return null}function he(V){var Z="i8";switch(Z.endsWith("*")&&(Z="*"),Z){case"i1":R[V>>0]=0;break;case"i8":R[V>>0]=0;break;case"i16":B[V>>1]=0;break;case"i32":$[V>>2]=0;break;case"i64":ue=[0,0],$[V>>2]=ue[0],$[V+4>>2]=ue[1];break;case"float":N[V>>2]=0;break;case"double":T[V>>3]=0;break;case"*":C[V>>2]=0;break;default:O("invalid type for setValue: "+Z)}}function ce(V,Z,ae){for(var ye=0;ye<V.length;++ye)R[Z++>>0]=V.charCodeAt(ye);ae||(R[Z>>0]=0)}function Se(V,Z,ae){return ae=Array(0<ae?ae:j(V)+1),V=G(V,ae,0,ae.length),Z&&(ae.length=V),ae}var Te={b:function(V,Z,ae){k.copyWithin(V,Z,Z+ae)},a:function(V){var Z=k.length;if(V>>>=0,2147483648<V)return!1;for(var ae=1;4>=ae;ae*=2){var ye=Z*(1+.2/ae);ye=Math.min(ye,V+100663296);var Ie=Math;ye=Math.max(V,ye),Ie=Ie.min.call(Ie,2147483648,ye+(65536-ye%65536)%65536);e:{try{H.grow(Ie-Y.byteLength+65535>>>16),ee();var He=1;break e}catch{}He=void 0}if(He)return!0}return!1}};(function(){function V(Ie){s.asm=Ie.exports,H=s.asm.c,ee(),se.unshift(s.asm.d),oe--,s.monitorRunDependencies&&s.monitorRunDependencies(oe),oe==0&&M&&(Ie=M,M=null,Ie())}function Z(Ie){V(Ie.instance)}function ae(Ie){return de().then(function(He){return WebAssembly.instantiate(He,ye)}).then(function(He){return He}).then(Ie,function(He){F("failed to asynchronously prepare wasm: "+He),O(He)})}var ye={a:Te};if(oe++,s.monitorRunDependencies&&s.monitorRunDependencies(oe),s.instantiateWasm)try{return s.instantiateWasm(ye,V)}catch(Ie){return F("Module.instantiateWasm callback failed with error: "+Ie),!1}return function(){return x||typeof WebAssembly.instantiateStreaming!="function"||z()||J.startsWith("file://")||c||typeof fetch!="function"?ae(Z):fetch(J,{credentials:"same-origin"}).then(function(Ie){return WebAssembly.instantiateStreaming(Ie,ye).then(Z,function(He){return F("wasm streaming compile failed: "+He),F("falling back to ArrayBuffer instantiation"),ae(Z)})})}().catch(g),{}})(),s.___wasm_call_ctors=function(){return(s.___wasm_call_ctors=s.asm.d).apply(null,arguments)},s._olm_get_library_version=function(){return(s._olm_get_library_version=s.asm.f).apply(null,arguments)},s._olm_error=function(){return(s._olm_error=s.asm.g).apply(null,arguments)},s._olm_account_last_error=function(){return(s._olm_account_last_error=s.asm.h).apply(null,arguments)},s.__olm_error_to_string=function(){return(s.__olm_error_to_string=s.asm.i).apply(null,arguments)},s._olm_account_last_error_code=function(){return(s._olm_account_last_error_code=s.asm.j).apply(null,arguments)},s._olm_session_last_error=function(){return(s._olm_session_last_error=s.asm.k).apply(null,arguments)},s._olm_session_last_error_code=function(){return(s._olm_session_last_error_code=s.asm.l).apply(null,arguments)},s._olm_utility_last_error=function(){return(s._olm_utility_last_error=s.asm.m).apply(null,arguments)},s._olm_utility_last_error_code=function(){return(s._olm_utility_last_error_code=s.asm.n).apply(null,arguments)},s._olm_account_size=function(){return(s._olm_account_size=s.asm.o).apply(null,arguments)},s._olm_session_size=function(){return(s._olm_session_size=s.asm.p).apply(null,arguments)},s._olm_utility_size=function(){return(s._olm_utility_size=s.asm.q).apply(null,arguments)},s._olm_account=function(){return(s._olm_account=s.asm.r).apply(null,arguments)},s._olm_session=function(){return(s._olm_session=s.asm.s).apply(null,arguments)},s._olm_utility=function(){return(s._olm_utility=s.asm.t).apply(null,arguments)},s._olm_clear_account=function(){return(s._olm_clear_account=s.asm.u).apply(null,arguments)},s._olm_clear_session=function(){return(s._olm_clear_session=s.asm.v).apply(null,arguments)},s._olm_clear_utility=function(){return(s._olm_clear_utility=s.asm.w).apply(null,arguments)},s._olm_pickle_account_length=function(){return(s._olm_pickle_account_length=s.asm.x).apply(null,arguments)},s._olm_pickle_session_length=function(){return(s._olm_pickle_session_length=s.asm.y).apply(null,arguments)},s._olm_pickle_account=function(){return(s._olm_pickle_account=s.asm.z).apply(null,arguments)},s._olm_pickle_session=function(){return(s._olm_pickle_session=s.asm.A).apply(null,arguments)},s._olm_unpickle_account=function(){return(s._olm_unpickle_account=s.asm.B).apply(null,arguments)},s._olm_unpickle_session=function(){return(s._olm_unpickle_session=s.asm.C).apply(null,arguments)},s._olm_create_account_random_length=function(){return(s._olm_create_account_random_length=s.asm.D).apply(null,arguments)},s._olm_create_account=function(){return(s._olm_create_account=s.asm.E).apply(null,arguments)},s._olm_account_identity_keys_length=function(){return(s._olm_account_identity_keys_length=s.asm.F).apply(null,arguments)},s._olm_account_identity_keys=function(){return(s._olm_account_identity_keys=s.asm.G).apply(null,arguments)},s._olm_account_signature_length=function(){return(s._olm_account_signature_length=s.asm.H).apply(null,arguments)},s._olm_account_sign=function(){return(s._olm_account_sign=s.asm.I).apply(null,arguments)},s._olm_account_one_time_keys_length=function(){return(s._olm_account_one_time_keys_length=s.asm.J).apply(null,arguments)},s._olm_account_one_time_keys=function(){return(s._olm_account_one_time_keys=s.asm.K).apply(null,arguments)},s._olm_account_mark_keys_as_published=function(){return(s._olm_account_mark_keys_as_published=s.asm.L).apply(null,arguments)},s._olm_account_max_number_of_one_time_keys=function(){return(s._olm_account_max_number_of_one_time_keys=s.asm.M).apply(null,arguments)},s._olm_account_generate_one_time_keys_random_length=function(){return(s._olm_account_generate_one_time_keys_random_length=s.asm.N).apply(null,arguments)},s._olm_account_generate_one_time_keys=function(){return(s._olm_account_generate_one_time_keys=s.asm.O).apply(null,arguments)},s._olm_account_generate_fallback_key_random_length=function(){return(s._olm_account_generate_fallback_key_random_length=s.asm.P).apply(null,arguments)},s._olm_account_generate_fallback_key=function(){return(s._olm_account_generate_fallback_key=s.asm.Q).apply(null,arguments)},s._olm_account_fallback_key_length=function(){return(s._olm_account_fallback_key_length=s.asm.R).apply(null,arguments)},s._olm_account_fallback_key=function(){return(s._olm_account_fallback_key=s.asm.S).apply(null,arguments)},s._olm_account_unpublished_fallback_key_length=function(){return(s._olm_account_unpublished_fallback_key_length=s.asm.T).apply(null,arguments)},s._olm_account_unpublished_fallback_key=function(){return(s._olm_account_unpublished_fallback_key=s.asm.U).apply(null,arguments)},s._olm_account_forget_old_fallback_key=function(){return(s._olm_account_forget_old_fallback_key=s.asm.V).apply(null,arguments)},s._olm_create_outbound_session_random_length=function(){return(s._olm_create_outbound_session_random_length=s.asm.W).apply(null,arguments)},s._olm_create_outbound_session=function(){return(s._olm_create_outbound_session=s.asm.X).apply(null,arguments)},s._olm_create_inbound_session=function(){return(s._olm_create_inbound_session=s.asm.Y).apply(null,arguments)},s._olm_create_inbound_session_from=function(){return(s._olm_create_inbound_session_from=s.asm.Z).apply(null,arguments)},s._olm_session_id_length=function(){return(s._olm_session_id_length=s.asm._).apply(null,arguments)},s._olm_session_id=function(){return(s._olm_session_id=s.asm.$).apply(null,arguments)},s._olm_session_has_received_message=function(){return(s._olm_session_has_received_message=s.asm.aa).apply(null,arguments)},s._olm_session_describe=function(){return(s._olm_session_describe=s.asm.ba).apply(null,arguments)},s._olm_matches_inbound_session=function(){return(s._olm_matches_inbound_session=s.asm.ca).apply(null,arguments)},s._olm_matches_inbound_session_from=function(){return(s._olm_matches_inbound_session_from=s.asm.da).apply(null,arguments)},s._olm_remove_one_time_keys=function(){return(s._olm_remove_one_time_keys=s.asm.ea).apply(null,arguments)},s._olm_encrypt_message_type=function(){return(s._olm_encrypt_message_type=s.asm.fa).apply(null,arguments)},s._olm_encrypt_random_length=function(){return(s._olm_encrypt_random_length=s.asm.ga).apply(null,arguments)},s._olm_encrypt_message_length=function(){return(s._olm_encrypt_message_length=s.asm.ha).apply(null,arguments)},s._olm_encrypt=function(){return(s._olm_encrypt=s.asm.ia).apply(null,arguments)},s._olm_decrypt_max_plaintext_length=function(){return(s._olm_decrypt_max_plaintext_length=s.asm.ja).apply(null,arguments)},s._olm_decrypt=function(){return(s._olm_decrypt=s.asm.ka).apply(null,arguments)},s._olm_sha256_length=function(){return(s._olm_sha256_length=s.asm.la).apply(null,arguments)},s._olm_sha256=function(){return(s._olm_sha256=s.asm.ma).apply(null,arguments)},s._olm_ed25519_verify=function(){return(s._olm_ed25519_verify=s.asm.na).apply(null,arguments)},s._olm_pk_encryption_last_error=function(){return(s._olm_pk_encryption_last_error=s.asm.oa).apply(null,arguments)},s._olm_pk_encryption_last_error_code=function(){return(s._olm_pk_encryption_last_error_code=s.asm.pa).apply(null,arguments)},s._olm_pk_encryption_size=function(){return(s._olm_pk_encryption_size=s.asm.qa).apply(null,arguments)},s._olm_pk_encryption=function(){return(s._olm_pk_encryption=s.asm.ra).apply(null,arguments)},s._olm_clear_pk_encryption=function(){return(s._olm_clear_pk_encryption=s.asm.sa).apply(null,arguments)},s._olm_pk_encryption_set_recipient_key=function(){return(s._olm_pk_encryption_set_recipient_key=s.asm.ta).apply(null,arguments)},s._olm_pk_key_length=function(){return(s._olm_pk_key_length=s.asm.ua).apply(null,arguments)},s._olm_pk_ciphertext_length=function(){return(s._olm_pk_ciphertext_length=s.asm.va).apply(null,arguments)},s._olm_pk_mac_length=function(){return(s._olm_pk_mac_length=s.asm.wa).apply(null,arguments)},s._olm_pk_encrypt_random_length=function(){return(s._olm_pk_encrypt_random_length=s.asm.xa).apply(null,arguments)},s._olm_pk_encrypt=function(){return(s._olm_pk_encrypt=s.asm.ya).apply(null,arguments)},s._olm_pk_decryption_last_error=function(){return(s._olm_pk_decryption_last_error=s.asm.za).apply(null,arguments)},s._olm_pk_decryption_last_error_code=function(){return(s._olm_pk_decryption_last_error_code=s.asm.Aa).apply(null,arguments)},s._olm_pk_decryption_size=function(){return(s._olm_pk_decryption_size=s.asm.Ba).apply(null,arguments)},s._olm_pk_decryption=function(){return(s._olm_pk_decryption=s.asm.Ca).apply(null,arguments)},s._olm_clear_pk_decryption=function(){return(s._olm_clear_pk_decryption=s.asm.Da).apply(null,arguments)},s._olm_pk_private_key_length=function(){return(s._olm_pk_private_key_length=s.asm.Ea).apply(null,arguments)},s._olm_pk_generate_key_random_length=function(){return(s._olm_pk_generate_key_random_length=s.asm.Fa).apply(null,arguments)},s._olm_pk_key_from_private=function(){return(s._olm_pk_key_from_private=s.asm.Ga).apply(null,arguments)},s._olm_pk_generate_key=function(){return(s._olm_pk_generate_key=s.asm.Ha).apply(null,arguments)},s._olm_pickle_pk_decryption_length=function(){return(s._olm_pickle_pk_decryption_length=s.asm.Ia).apply(null,arguments)},s._olm_pickle_pk_decryption=function(){return(s._olm_pickle_pk_decryption=s.asm.Ja).apply(null,arguments)},s._olm_unpickle_pk_decryption=function(){return(s._olm_unpickle_pk_decryption=s.asm.Ka).apply(null,arguments)},s._olm_pk_max_plaintext_length=function(){return(s._olm_pk_max_plaintext_length=s.asm.La).apply(null,arguments)},s._olm_pk_decrypt=function(){return(s._olm_pk_decrypt=s.asm.Ma).apply(null,arguments)},s._olm_pk_get_private_key=function(){return(s._olm_pk_get_private_key=s.asm.Na).apply(null,arguments)},s._olm_pk_signing_size=function(){return(s._olm_pk_signing_size=s.asm.Oa).apply(null,arguments)},s._olm_pk_signing=function(){return(s._olm_pk_signing=s.asm.Pa).apply(null,arguments)},s._olm_pk_signing_last_error=function(){return(s._olm_pk_signing_last_error=s.asm.Qa).apply(null,arguments)},s._olm_pk_signing_last_error_code=function(){return(s._olm_pk_signing_last_error_code=s.asm.Ra).apply(null,arguments)},s._olm_clear_pk_signing=function(){return(s._olm_clear_pk_signing=s.asm.Sa).apply(null,arguments)},s._olm_pk_signing_seed_length=function(){return(s._olm_pk_signing_seed_length=s.asm.Ta).apply(null,arguments)},s._olm_pk_signing_public_key_length=function(){return(s._olm_pk_signing_public_key_length=s.asm.Ua).apply(null,arguments)},s._olm_pk_signing_key_from_seed=function(){return(s._olm_pk_signing_key_from_seed=s.asm.Va).apply(null,arguments)},s._olm_pk_signature_length=function(){return(s._olm_pk_signature_length=s.asm.Wa).apply(null,arguments)},s._olm_pk_sign=function(){return(s._olm_pk_sign=s.asm.Xa).apply(null,arguments)},s._olm_inbound_group_session_size=function(){return(s._olm_inbound_group_session_size=s.asm.Ya).apply(null,arguments)},s._olm_inbound_group_session=function(){return(s._olm_inbound_group_session=s.asm.Za).apply(null,arguments)},s._olm_clear_inbound_group_session=function(){return(s._olm_clear_inbound_group_session=s.asm._a).apply(null,arguments)},s._olm_inbound_group_session_last_error=function(){return(s._olm_inbound_group_session_last_error=s.asm.$a).apply(null,arguments)},s._olm_inbound_group_session_last_error_code=function(){return(s._olm_inbound_group_session_last_error_code=s.asm.ab).apply(null,arguments)},s._olm_init_inbound_group_session=function(){return(s._olm_init_inbound_group_session=s.asm.bb).apply(null,arguments)},s._olm_import_inbound_group_session=function(){return(s._olm_import_inbound_group_session=s.asm.cb).apply(null,arguments)},s._olm_pickle_inbound_group_session_length=function(){return(s._olm_pickle_inbound_group_session_length=s.asm.db).apply(null,arguments)},s._olm_pickle_inbound_group_session=function(){return(s._olm_pickle_inbound_group_session=s.asm.eb).apply(null,arguments)},s._olm_unpickle_inbound_group_session=function(){return(s._olm_unpickle_inbound_group_session=s.asm.fb).apply(null,arguments)},s._olm_group_decrypt_max_plaintext_length=function(){return(s._olm_group_decrypt_max_plaintext_length=s.asm.gb).apply(null,arguments)},s._olm_group_decrypt=function(){return(s._olm_group_decrypt=s.asm.hb).apply(null,arguments)},s._olm_inbound_group_session_id_length=function(){return(s._olm_inbound_group_session_id_length=s.asm.ib).apply(null,arguments)},s._olm_inbound_group_session_id=function(){return(s._olm_inbound_group_session_id=s.asm.jb).apply(null,arguments)},s._olm_inbound_group_session_first_known_index=function(){return(s._olm_inbound_group_session_first_known_index=s.asm.kb).apply(null,arguments)},s._olm_inbound_group_session_is_verified=function(){return(s._olm_inbound_group_session_is_verified=s.asm.lb).apply(null,arguments)},s._olm_export_inbound_group_session_length=function(){return(s._olm_export_inbound_group_session_length=s.asm.mb).apply(null,arguments)},s._olm_export_inbound_group_session=function(){return(s._olm_export_inbound_group_session=s.asm.nb).apply(null,arguments)},s._olm_outbound_group_session_size=function(){return(s._olm_outbound_group_session_size=s.asm.ob).apply(null,arguments)},s._olm_outbound_group_session=function(){return(s._olm_outbound_group_session=s.asm.pb).apply(null,arguments)},s._olm_clear_outbound_group_session=function(){return(s._olm_clear_outbound_group_session=s.asm.qb).apply(null,arguments)},s._olm_outbound_group_session_last_error=function(){return(s._olm_outbound_group_session_last_error=s.asm.rb).apply(null,arguments)},s._olm_outbound_group_session_last_error_code=function(){return(s._olm_outbound_group_session_last_error_code=s.asm.sb).apply(null,arguments)},s._olm_pickle_outbound_group_session_length=function(){return(s._olm_pickle_outbound_group_session_length=s.asm.tb).apply(null,arguments)},s._olm_pickle_outbound_group_session=function(){return(s._olm_pickle_outbound_group_session=s.asm.ub).apply(null,arguments)},s._olm_unpickle_outbound_group_session=function(){return(s._olm_unpickle_outbound_group_session=s.asm.vb).apply(null,arguments)},s._olm_init_outbound_group_session_random_length=function(){return(s._olm_init_outbound_group_session_random_length=s.asm.wb).apply(null,arguments)},s._olm_init_outbound_group_session=function(){return(s._olm_init_outbound_group_session=s.asm.xb).apply(null,arguments)},s._olm_group_encrypt_message_length=function(){return(s._olm_group_encrypt_message_length=s.asm.yb).apply(null,arguments)},s._olm_group_encrypt=function(){return(s._olm_group_encrypt=s.asm.zb).apply(null,arguments)},s._olm_outbound_group_session_id_length=function(){return(s._olm_outbound_group_session_id_length=s.asm.Ab).apply(null,arguments)},s._olm_outbound_group_session_id=function(){return(s._olm_outbound_group_session_id=s.asm.Bb).apply(null,arguments)},s._olm_outbound_group_session_message_index=function(){return(s._olm_outbound_group_session_message_index=s.asm.Cb).apply(null,arguments)},s._olm_outbound_group_session_key_length=function(){return(s._olm_outbound_group_session_key_length=s.asm.Db).apply(null,arguments)},s._olm_outbound_group_session_key=function(){return(s._olm_outbound_group_session_key=s.asm.Eb).apply(null,arguments)},s._olm_sas_last_error=function(){return(s._olm_sas_last_error=s.asm.Fb).apply(null,arguments)},s._olm_sas_last_error_code=function(){return(s._olm_sas_last_error_code=s.asm.Gb).apply(null,arguments)},s._olm_sas_size=function(){return(s._olm_sas_size=s.asm.Hb).apply(null,arguments)},s._olm_sas=function(){return(s._olm_sas=s.asm.Ib).apply(null,arguments)},s._olm_clear_sas=function(){return(s._olm_clear_sas=s.asm.Jb).apply(null,arguments)},s._olm_create_sas_random_length=function(){return(s._olm_create_sas_random_length=s.asm.Kb).apply(null,arguments)},s._olm_create_sas=function(){return(s._olm_create_sas=s.asm.Lb).apply(null,arguments)},s._olm_sas_pubkey_length=function(){return(s._olm_sas_pubkey_length=s.asm.Mb).apply(null,arguments)},s._olm_sas_get_pubkey=function(){return(s._olm_sas_get_pubkey=s.asm.Nb).apply(null,arguments)},s._olm_sas_set_their_key=function(){return(s._olm_sas_set_their_key=s.asm.Ob).apply(null,arguments)},s._olm_sas_is_their_key_set=function(){return(s._olm_sas_is_their_key_set=s.asm.Pb).apply(null,arguments)},s._olm_sas_generate_bytes=function(){return(s._olm_sas_generate_bytes=s.asm.Qb).apply(null,arguments)},s._olm_sas_mac_length=function(){return(s._olm_sas_mac_length=s.asm.Rb).apply(null,arguments)},s._olm_sas_calculate_mac_fixed_base64=function(){return(s._olm_sas_calculate_mac_fixed_base64=s.asm.Sb).apply(null,arguments)},s._olm_sas_calculate_mac=function(){return(s._olm_sas_calculate_mac=s.asm.Tb).apply(null,arguments)},s._olm_sas_calculate_mac_long_kdf=function(){return(s._olm_sas_calculate_mac_long_kdf=s.asm.Ub).apply(null,arguments)},s._malloc=function(){return(s._malloc=s.asm.Vb).apply(null,arguments)},s._free=function(){return(s._free=s.asm.Wb).apply(null,arguments)};var Me=s.stackSave=function(){return(Me=s.stackSave=s.asm.Xb).apply(null,arguments)},Ke=s.stackRestore=function(){return(Ke=s.stackRestore=s.asm.Yb).apply(null,arguments)},Ne=s.stackAlloc=function(){return(Ne=s.stackAlloc=s.asm.Zb).apply(null,arguments)};s.intArrayFromString=Se,s.writeAsciiToMemory=ce,s.ALLOC_STACK=1;var qe;M=function V(){qe||Fe(),qe||(M=V)};function Fe(){function V(){if(!qe&&(qe=!0,s.calledRun=!0,!K)){if(pe(se),m(s),s.onRuntimeInitialized&&s.onRuntimeInitialized(),s.postRun)for(typeof s.postRun=="function"&&(s.postRun=[s.postRun]);s.postRun.length;){var Z=s.postRun.shift();me.unshift(Z)}pe(me)}}if(!(0<oe)){if(s.preRun)for(typeof s.preRun=="function"&&(s.preRun=[s.preRun]);s.preRun.length;)q();pe(ne),0<oe||(s.setStatus?(s.setStatus("Running..."),setTimeout(function(){setTimeout(function(){s.setStatus("")},1),V()},1)):V())}}if(s.preInit)for(typeof s.preInit=="function"&&(s.preInit=[s.preInit]);0<s.preInit.length;)s.preInit.pop()();Fe();function Le(){var V=s._olm_outbound_group_session_size();this.ac=be(V),this.$b=s._olm_outbound_group_session(this.ac)}function We(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_outbound_group_session_last_error(arguments[0])),Error("OLM."+Z);return Z}}Le.prototype.free=function(){s._olm_clear_outbound_group_session(this.$b),Ce(this.$b)},Le.prototype.pickle=ke(function(V){V=Ve(V);var Z=We(s._olm_pickle_outbound_group_session_length)(this.$b),ae=Ee(V),ye=Ee(Z+1);try{We(s._olm_pickle_outbound_group_session)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),Le.prototype.unpickle=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z);try{We(s._olm_unpickle_outbound_group_session)(this.$b,ae,V.length,ye,Z.length)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}}),Le.prototype.create=ke(function(){var V=We(s._olm_init_outbound_group_session_random_length)(this.$b),Z=Pe(V,S);try{We(s._olm_init_outbound_group_session)(this.$b,Z,V)}finally{De(Z,V)}}),Le.prototype.encrypt=function(V){try{var Z=j(V),ae=We(s._olm_group_encrypt_message_length)(this.$b,Z),ye=be(Z+1);G(V,k,ye,Z+1);var Ie=be(ae+1);return We(s._olm_group_encrypt)(this.$b,ye,Z,Ie,ae),he(Ie+ae),X(Ie,ae)}finally{ye!==void 0&&(De(ye,Z+1),Ce(ye)),Ie!==void 0&&Ce(Ie)}},Le.prototype.session_id=ke(function(){var V=We(s._olm_outbound_group_session_id_length)(this.$b),Z=Ee(V+1);return We(s._olm_outbound_group_session_id)(this.$b,Z,V),X(Z,V)}),Le.prototype.session_key=ke(function(){var V=We(s._olm_outbound_group_session_key_length)(this.$b),Z=Ee(V+1);We(s._olm_outbound_group_session_key)(this.$b,Z,V);var ae=X(Z,V);return De(Z,V),ae}),Le.prototype.message_index=function(){return We(s._olm_outbound_group_session_message_index)(this.$b)},n.OutboundGroupSession=Le;function Re(){var V=s._olm_inbound_group_session_size();this.ac=be(V),this.$b=s._olm_inbound_group_session(this.ac)}function b(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_inbound_group_session_last_error(arguments[0])),Error("OLM."+Z);return Z}}Re.prototype.free=function(){s._olm_clear_inbound_group_session(this.$b),Ce(this.$b)},Re.prototype.pickle=ke(function(V){V=Ve(V);var Z=b(s._olm_pickle_inbound_group_session_length)(this.$b),ae=Ee(V),ye=Ee(Z+1);try{b(s._olm_pickle_inbound_group_session)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),Re.prototype.unpickle=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z);try{b(s._olm_unpickle_inbound_group_session)(this.$b,ae,V.length,ye,Z.length)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}}),Re.prototype.create=ke(function(V){V=Ve(V);var Z=Ee(V);try{b(s._olm_init_inbound_group_session)(this.$b,Z,V.length)}finally{for(De(Z,V.length),Z=0;Z<V.length;Z++)V[Z]=0}}),Re.prototype.import_session=ke(function(V){V=Ve(V);var Z=Ee(V);try{b(s._olm_import_inbound_group_session)(this.$b,Z,V.length)}finally{for(De(Z,V.length),Z=0;Z<V.length;Z++)V[Z]=0}}),Re.prototype.decrypt=ke(function(V){try{var Z=be(V.length);ce(V,Z,!0);var ae=b(s._olm_group_decrypt_max_plaintext_length)(this.$b,Z,V.length);ce(V,Z,!0);var ye=be(ae+1),Ie=Ee(4),He=b(s._olm_group_decrypt)(this.$b,Z,V.length,ye,ae,Ie);return he(ye+He),{plaintext:X(ye,He),message_index:ve(Ie,"i32")}}finally{Z!==void 0&&Ce(Z),ye!==void 0&&(De(ye,He),Ce(ye))}}),Re.prototype.session_id=ke(function(){var V=b(s._olm_inbound_group_session_id_length)(this.$b),Z=Ee(V+1);return b(s._olm_inbound_group_session_id)(this.$b,Z,V),X(Z,V)}),Re.prototype.first_known_index=ke(function(){return b(s._olm_inbound_group_session_first_known_index)(this.$b)}),Re.prototype.export_session=ke(function(V){var Z=b(s._olm_export_inbound_group_session_length)(this.$b),ae=Ee(Z+1);return We(s._olm_export_inbound_group_session)(this.$b,ae,Z,V),V=X(ae,Z),De(ae,Z),V}),n.InboundGroupSession=Re;function P(){var V=s._olm_pk_encryption_size();this.ac=be(V),this.$b=s._olm_pk_encryption(this.ac)}function U(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_pk_encryption_last_error(arguments[0])),Error("OLM."+Z);return Z}}P.prototype.free=function(){s._olm_clear_pk_encryption(this.$b),Ce(this.$b)},P.prototype.set_recipient_key=ke(function(V){V=Ve(V);var Z=Ee(V);U(s._olm_pk_encryption_set_recipient_key)(this.$b,Z,V.length)}),P.prototype.encrypt=ke(function(V){try{var Z=j(V),ae=be(Z+1);G(V,k,ae,Z+1);var ye=U(s._olm_pk_encrypt_random_length)(),Ie=Pe(ye,S),He=U(s._olm_pk_ciphertext_length)(this.$b,Z),nt=be(He+1),or=U(s._olm_pk_mac_length)(this.$b),Js=Ee(or+1);he(Js+or);var Oa=U(s._olm_pk_key_length)(),Mn=Ee(Oa+1);return he(Mn+Oa),U(s._olm_pk_encrypt)(this.$b,ae,Z,nt,He,Js,or,Mn,Oa,Ie,ye),he(nt+He),{ciphertext:X(nt,He),mac:X(Js,or),ephemeral:X(Mn,Oa)}}finally{Ie!==void 0&&De(Ie,ye),ae!==void 0&&(De(ae,Z+1),Ce(ae)),nt!==void 0&&Ce(nt)}});function Q(){var V=s._olm_pk_decryption_size();this.ac=be(V),this.$b=s._olm_pk_decryption(this.ac)}function te(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_pk_decryption_last_error(arguments[0])),Error("OLM."+Z);return Z}}Q.prototype.free=function(){s._olm_clear_pk_decryption(this.$b),Ce(this.$b)},Q.prototype.init_with_private_key=ke(function(V){var Z=Ee(V.length);s.HEAPU8.set(V,Z);var ae=te(s._olm_pk_key_length)(),ye=Ee(ae+1);try{te(s._olm_pk_key_from_private)(this.$b,ye,ae,Z,V.length)}finally{De(Z,V.length)}return X(ye,ae)}),Q.prototype.generate_key=ke(function(){var V=te(s._olm_pk_private_key_length)(),Z=Pe(V,S),ae=te(s._olm_pk_key_length)(),ye=Ee(ae+1);try{te(s._olm_pk_key_from_private)(this.$b,ye,ae,Z,V)}finally{De(Z,V)}return X(ye,ae)}),Q.prototype.get_private_key=ke(function(){var V=U(s._olm_pk_private_key_length)(),Z=Ee(V);te(s._olm_pk_get_private_key)(this.$b,Z,V);var ae=new Uint8Array(new Uint8Array(s.HEAPU8.buffer,Z,V));return De(Z,V),ae}),Q.prototype.pickle=ke(function(V){V=Ve(V);var Z=te(s._olm_pickle_pk_decryption_length)(this.$b),ae=Ee(V),ye=Ee(Z+1);try{te(s._olm_pickle_pk_decryption)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),Q.prototype.unpickle=ke(function(V,Z){V=Ve(V);var ae=Ee(V),ye=Ve(Z),Ie=Ee(ye);Z=te(s._olm_pk_key_length)();var He=Ee(Z+1);try{te(s._olm_unpickle_pk_decryption)(this.$b,ae,V.length,Ie,ye.length,He,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(He,Z)}),Q.prototype.decrypt=ke(function(V,Z,ae){try{var ye=j(ae),Ie=be(ye+1);G(ae,k,Ie,ye+1);var He=Ve(V),nt=Ee(He),or=Ve(Z),Js=Ee(or),Oa=te(s._olm_pk_max_plaintext_length)(this.$b,ye),Mn=be(Oa+1),R1=te(s._olm_pk_decrypt)(this.$b,nt,He.length,Js,or.length,Ie,ye,Mn,Oa);return he(Mn+R1),X(Mn,R1)}finally{Mn!==void 0&&(De(Mn,R1+1),Ce(Mn)),Ie!==void 0&&Ce(Ie)}});function ie(){var V=s._olm_pk_signing_size();this.ac=be(V),this.$b=s._olm_pk_signing(this.ac)}function fe(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_pk_signing_last_error(arguments[0])),Error("OLM."+Z);return Z}}ie.prototype.free=function(){s._olm_clear_pk_signing(this.$b),Ce(this.$b)},ie.prototype.init_with_seed=ke(function(V){var Z=Ee(V.length);s.HEAPU8.set(V,Z);var ae=fe(s._olm_pk_signing_public_key_length)(),ye=Ee(ae+1);try{fe(s._olm_pk_signing_key_from_seed)(this.$b,ye,ae,Z,V.length)}finally{De(Z,V.length)}return X(ye,ae)}),ie.prototype.generate_seed=ke(function(){var V=fe(s._olm_pk_signing_seed_length)(),Z=Pe(V,S),ae=new Uint8Array(new Uint8Array(s.HEAPU8.buffer,Z,V));return De(Z,V),ae}),ie.prototype.sign=ke(function(V){try{var Z=j(V),ae=be(Z+1);G(V,k,ae,Z+1);var ye=fe(s._olm_pk_signature_length)(),Ie=Ee(ye+1);return fe(s._olm_pk_sign)(this.$b,ae,Z,Ie,ye),X(Ie,ye)}finally{ae!==void 0&&(De(ae,Z+1),Ce(ae))}});function ge(){var V=s._olm_sas_size(),Z=s._olm_create_sas_random_length(),ae=Pe(Z,S);this.ac=be(V),this.$b=s._olm_sas(this.ac),s._olm_create_sas(this.$b,ae,Z),De(ae,Z)}function _e(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_sas_last_error(arguments[0])),Error("OLM."+Z);return Z}}ge.prototype.free=function(){s._olm_clear_sas(this.$b),Ce(this.$b)},ge.prototype.get_pubkey=ke(function(){var V=_e(s._olm_sas_pubkey_length)(this.$b),Z=Ee(V+1);return _e(s._olm_sas_get_pubkey)(this.$b,Z,V),X(Z,V)}),ge.prototype.set_their_key=ke(function(V){V=Ve(V);var Z=Ee(V);_e(s._olm_sas_set_their_key)(this.$b,Z,V.length)}),ge.prototype.is_their_key_set=ke(function(){return!!_e(s._olm_sas_is_their_key_set)(this.$b)}),ge.prototype.generate_bytes=ke(function(V,Z){V=Ve(V);var ae=Ee(V),ye=Ee(Z);return _e(s._olm_sas_generate_bytes)(this.$b,ae,V.length,ye,Z),new Uint8Array(new Uint8Array(s.HEAPU8.buffer,ye,Z))}),ge.prototype.calculate_mac=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z),Ie=_e(s._olm_sas_mac_length)(this.$b),He=Ee(Ie+1);return _e(s._olm_sas_calculate_mac)(this.$b,ae,V.length,ye,Z.length,He,Ie),X(He,Ie)}),ge.prototype.calculate_mac_fixed_base64=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z),Ie=_e(s._olm_sas_mac_length)(this.$b),He=Ee(Ie+1);return _e(s._olm_sas_calculate_mac_fixed_base64)(this.$b,ae,V.length,ye,Z.length,He,Ie),X(He,Ie)}),ge.prototype.calculate_mac_long_kdf=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z),Ie=_e(s._olm_sas_mac_length)(this.$b),He=Ee(Ie+1);return _e(s._olm_sas_calculate_mac_long_kdf)(this.$b,ae,V.length,ye,Z.length,He,Ie),X(He,Ie)});var be=s._malloc,Ce=s._free,Be;function Pe(V,Z){var ae=Ne(V);return Z(new Uint8Array(s.HEAPU8.buffer,ae,V)),ae}function Ee(V){return typeof V=="number"?Pe(V,function(Z){Z.fill(0)}):Pe(V.length,function(Z){Z.set(V)})}function Ve(V){return V instanceof Uint8Array?V:Se(V,!0)}function ke(V){return function(){var Z=Me();try{return V.apply(this,arguments)}finally{Ke(Z)}}}function De(V,Z){for(;0<Z--;)s.HEAP8[V++]=0}function tt(){var V=s._olm_account_size();this.ac=be(V),this.$b=s._olm_account(this.ac)}function Ye(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_account_last_error(arguments[0])),Error("OLM."+Z);return Z}}tt.prototype.free=function(){s._olm_clear_account(this.$b),Ce(this.$b)},tt.prototype.create=ke(function(){var V=Ye(s._olm_create_account_random_length)(this.$b),Z=Pe(V,S);try{Ye(s._olm_create_account)(this.$b,Z,V)}finally{De(Z,V)}}),tt.prototype.identity_keys=ke(function(){var V=Ye(s._olm_account_identity_keys_length)(this.$b),Z=Ee(V+1);return Ye(s._olm_account_identity_keys)(this.$b,Z,V),X(Z,V)}),tt.prototype.sign=ke(function(V){var Z=Ye(s._olm_account_signature_length)(this.$b);V=Ve(V);var ae=Ee(V),ye=Ee(Z+1);try{Ye(s._olm_account_sign)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),tt.prototype.one_time_keys=ke(function(){var V=Ye(s._olm_account_one_time_keys_length)(this.$b),Z=Ee(V+1);return Ye(s._olm_account_one_time_keys)(this.$b,Z,V),X(Z,V)}),tt.prototype.mark_keys_as_published=ke(function(){Ye(s._olm_account_mark_keys_as_published)(this.$b)}),tt.prototype.max_number_of_one_time_keys=ke(function(){return Ye(s._olm_account_max_number_of_one_time_keys)(this.$b)}),tt.prototype.generate_one_time_keys=ke(function(V){var Z=Ye(s._olm_account_generate_one_time_keys_random_length)(this.$b,V),ae=Pe(Z,S);try{Ye(s._olm_account_generate_one_time_keys)(this.$b,V,ae,Z)}finally{De(ae,Z)}}),tt.prototype.remove_one_time_keys=ke(function(V){Ye(s._olm_remove_one_time_keys)(this.$b,V.$b)}),tt.prototype.generate_fallback_key=ke(function(){var V=Ye(s._olm_account_generate_fallback_key_random_length)(this.$b),Z=Pe(V,S);try{Ye(s._olm_account_generate_fallback_key)(this.$b,Z,V)}finally{De(Z,V)}}),tt.prototype.fallback_key=ke(function(){var V=Ye(s._olm_account_fallback_key_length)(this.$b),Z=Ee(V+1);return Ye(s._olm_account_fallback_key)(this.$b,Z,V),X(Z,V)}),tt.prototype.unpublished_fallback_key=ke(function(){var V=Ye(s._olm_account_unpublished_fallback_key_length)(this.$b),Z=Ee(V+1);return Ye(s._olm_account_unpublished_fallback_key)(this.$b,Z,V),X(Z,V)}),tt.prototype.forget_old_fallback_key=ke(function(){Ye(s._olm_account_forget_old_fallback_key)(this.$b)}),tt.prototype.pickle=ke(function(V){V=Ve(V);var Z=Ye(s._olm_pickle_account_length)(this.$b),ae=Ee(V),ye=Ee(Z+1);try{Ye(s._olm_pickle_account)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),tt.prototype.unpickle=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z);try{Ye(s._olm_unpickle_account)(this.$b,ae,V.length,ye,Z.length)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}});function Xe(){var V=s._olm_session_size();this.ac=be(V),this.$b=s._olm_session(this.ac)}function ze(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_session_last_error(arguments[0])),Error("OLM."+Z);return Z}}Xe.prototype.free=function(){s._olm_clear_session(this.$b),Ce(this.$b)},Xe.prototype.pickle=ke(function(V){V=Ve(V);var Z=ze(s._olm_pickle_session_length)(this.$b),ae=Ee(V),ye=Ee(Z+1);try{ze(s._olm_pickle_session)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),Xe.prototype.unpickle=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z);try{ze(s._olm_unpickle_session)(this.$b,ae,V.length,ye,Z.length)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}}),Xe.prototype.create_outbound=ke(function(V,Z,ae){var ye=ze(s._olm_create_outbound_session_random_length)(this.$b),Ie=Pe(ye,S);Z=Ve(Z),ae=Ve(ae);var He=Ee(Z),nt=Ee(ae);try{ze(s._olm_create_outbound_session)(this.$b,V.$b,He,Z.length,nt,ae.length,Ie,ye)}finally{De(Ie,ye)}}),Xe.prototype.create_inbound=ke(function(V,Z){Z=Ve(Z);var ae=Ee(Z);try{ze(s._olm_create_inbound_session)(this.$b,V.$b,ae,Z.length)}finally{for(De(ae,Z.length),V=0;V<Z.length;V++)Z[V]=0}}),Xe.prototype.create_inbound_from=ke(function(V,Z,ae){Z=Ve(Z);var ye=Ee(Z);ae=Ve(ae);var Ie=Ee(ae);try{ze(s._olm_create_inbound_session_from)(this.$b,V.$b,ye,Z.length,Ie,ae.length)}finally{for(De(Ie,ae.length),V=0;V<ae.length;V++)ae[V]=0}}),Xe.prototype.session_id=ke(function(){var V=ze(s._olm_session_id_length)(this.$b),Z=Ee(V+1);return ze(s._olm_session_id)(this.$b,Z,V),X(Z,V)}),Xe.prototype.has_received_message=function(){return!!ze(s._olm_session_has_received_message)(this.$b)},Xe.prototype.matches_inbound=ke(function(V){V=Ve(V);var Z=Ee(V);return!!ze(s._olm_matches_inbound_session)(this.$b,Z,V.length)}),Xe.prototype.matches_inbound_from=ke(function(V,Z){V=Ve(V);var ae=Ee(V);Z=Ve(Z);var ye=Ee(Z);return!!ze(s._olm_matches_inbound_session_from)(this.$b,ae,V.length,ye,Z.length)}),Xe.prototype.encrypt=ke(function(V){try{var Z=ze(s._olm_encrypt_random_length)(this.$b),ae=ze(s._olm_encrypt_message_type)(this.$b),ye=j(V),Ie=ze(s._olm_encrypt_message_length)(this.$b,ye),He=Pe(Z,S),nt=be(ye+1);G(V,k,nt,ye+1);var or=be(Ie+1);return ze(s._olm_encrypt)(this.$b,nt,ye,He,Z,or,Ie),he(or+Ie),{type:ae,body:X(or,Ie)}}finally{He!==void 0&&De(He,Z),nt!==void 0&&(De(nt,ye+1),Ce(nt)),or!==void 0&&Ce(or)}}),Xe.prototype.decrypt=ke(function(V,Z){try{var ae=be(Z.length);ce(Z,ae,!0);var ye=ze(s._olm_decrypt_max_plaintext_length)(this.$b,V,ae,Z.length);ce(Z,ae,!0);var Ie=be(ye+1),He=ze(s._olm_decrypt)(this.$b,V,ae,Z.length,Ie,ye);return he(Ie+He),X(Ie,He)}finally{ae!==void 0&&Ce(ae),Ie!==void 0&&(De(Ie,ye),Ce(Ie))}}),Xe.prototype.describe=ke(function(){try{var V=be(256);return ze(s._olm_session_describe)(this.$b,V,256),X(V)}finally{V!==void 0&&Ce(V)}});function vt(){var V=s._olm_utility_size();this.ac=be(V),this.$b=s._olm_utility(this.ac)}function ar(V){return function(){var Z=V.apply(this,arguments);if(Z===Be)throw Z=X(s._olm_utility_last_error(arguments[0])),Error("OLM."+Z);return Z}}return vt.prototype.free=function(){s._olm_clear_utility(this.$b),Ce(this.$b)},vt.prototype.sha256=ke(function(V){var Z=ar(s._olm_sha256_length)(this.$b);V=Ve(V);var ae=Ee(V),ye=Ee(Z+1);try{ar(s._olm_sha256)(this.$b,ae,V.length,ye,Z)}finally{for(De(ae,V.length),ae=0;ae<V.length;ae++)V[ae]=0}return X(ye,Z)}),vt.prototype.ed25519_verify=ke(function(V,Z,ae){V=Ve(V);var ye=Ee(V);Z=Ve(Z);var Ie=Ee(Z);ae=Ve(ae);var He=Ee(ae);try{ar(s._olm_ed25519_verify)(this.$b,ye,V.length,Ie,Z.length,He,ae.length)}finally{for(De(Ie,Z.length),V=0;V<Z.length;V++)Z[V]=0}}),n.Account=tt,n.Session=Xe,n.Utility=vt,n.PkEncryption=P,n.PkDecryption=Q,n.PkSigning=ie,n.SAS=ge,n.get_library_version=ke(function(){var V=Ee(3);return s._olm_get_library_version(V,V+1,V+2),[ve(V,"i8"),ve(V+1,"i8"),ve(V+2,"i8")]}),y.ready}})();e.exports=o;var p;return n.init=function(u){return p||(u&&(OLM_OPTIONS=u),p=new Promise(function(y,s){i=function(){y()},a=function(m){s(m)},o()}),p)},n}();typeof window<"u"&&(window.Olm=r),e.exports=r;// @license-end +})(dK);const Rq=Gv;function pa(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zv(e,t){return zv=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,i){return n.__proto__=i,n},zv(e,t)}function w1(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&zv(e,t)}function Ru(e,t){if(t&&(En(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return pa(e)}function Yn(e){return Yn=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},Yn(e)}function uK(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function cK(e){return U7(e)||uK(e)||$7(e)||F7()}function F5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function B5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?F5(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):F5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var pK={type:"logger",log:function(t){this.output("log",t)},warn:function(t){this.output("warn",t)},error:function(t){this.output("error",t)},output:function(t,r){console&&console[t]&&console[t].apply(console,r)}},fK=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};nn(this,e),this.init(t,r)}return an(e,[{key:"init",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=r||pK,this.options=n,this.debug=n.debug}},{key:"setDebug",value:function(r){this.debug=r}},{key:"log",value:function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return this.forward(n,"log","",!0)}},{key:"warn",value:function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return this.forward(n,"warn","",!0)}},{key:"error",value:function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return this.forward(n,"error","")}},{key:"deprecate",value:function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return this.forward(n,"warn","WARNING DEPRECATED: ",!0)}},{key:"forward",value:function(r,n,i,a){return a&&!this.debug?null:(typeof r[0]=="string"&&(r[0]="".concat(i).concat(this.prefix," ").concat(r[0])),this.logger[n](r))}},{key:"create",value:function(r){return new e(this.logger,B5(B5({},{prefix:"".concat(this.prefix,":").concat(r,":")}),this.options))}},{key:"clone",value:function(r){return r=r||this.options,r.prefix=r.prefix||this.prefix,new e(this.logger,r)}}]),e}(),qn=new fK,ya=function(){function e(){nn(this,e),this.observers={}}return an(e,[{key:"on",value:function(r,n){var i=this;return r.split(" ").forEach(function(a){i.observers[a]=i.observers[a]||[],i.observers[a].push(n)}),this}},{key:"off",value:function(r,n){if(this.observers[r]){if(!n){delete this.observers[r];return}this.observers[r]=this.observers[r].filter(function(i){return i!==n})}}},{key:"emit",value:function(r){for(var n=arguments.length,i=new Array(n>1?n-1:0),a=1;a<n;a++)i[a-1]=arguments[a];if(this.observers[r]){var o=[].concat(this.observers[r]);o.forEach(function(u){u.apply(void 0,i)})}if(this.observers["*"]){var p=[].concat(this.observers["*"]);p.forEach(function(u){u.apply(u,[r].concat(i))})}}}]),e}();function zl(){var e,t,r=new Promise(function(n,i){e=n,t=i});return r.resolve=e,r.reject=t,r}function j5(e){return e==null?"":""+e}function hK(e,t,r){e.forEach(function(n){t[n]&&(r[n]=t[n])})}function X0(e,t,r){function n(p){return p&&p.indexOf("###")>-1?p.replace(/###/g,"."):p}function i(){return!e||typeof e=="string"}for(var a=typeof t!="string"?[].concat(t):t.split(".");a.length>1;){if(i())return{};var o=n(a.shift());!e[o]&&r&&(e[o]=new r),Object.prototype.hasOwnProperty.call(e,o)?e=e[o]:e={}}return i()?{}:{obj:e,k:n(a.shift())}}function K5(e,t,r){var n=X0(e,t,Object),i=n.obj,a=n.k;i[a]=r}function mK(e,t,r,n){var i=X0(e,t,Object),a=i.obj,o=i.k;a[o]=a[o]||[],n&&(a[o]=a[o].concat(r)),n||a[o].push(r)}function Pp(e,t){var r=X0(e,t),n=r.obj,i=r.k;if(n)return n[i]}function V5(e,t,r){var n=Pp(e,r);return n!==void 0?n:Pp(t,r)}function yw(e,t,r){for(var n in t)n!=="__proto__"&&n!=="constructor"&&(n in e?typeof e[n]=="string"||e[n]instanceof String||typeof t[n]=="string"||t[n]instanceof String?r&&(e[n]=t[n]):yw(e[n],t[n],r):e[n]=t[n]);return e}function qo(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var vK={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};function gK(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,function(t){return vK[t]}):e}var b1=typeof window<"u"&&window.navigator&&typeof window.navigator.userAgentData>"u"&&window.navigator.userAgent&&window.navigator.userAgent.indexOf("MSIE")>-1,yK=[" ",",","?","!",";"];function _K(e,t,r){t=t||"",r=r||"";var n=yK.filter(function(p){return t.indexOf(p)<0&&r.indexOf(p)<0});if(n.length===0)return!0;var i=new RegExp("(".concat(n.map(function(p){return p==="?"?"\\?":p}).join("|"),")")),a=!i.test(e);if(!a){var o=e.indexOf(r);o>0&&!i.test(e.substring(0,o))&&(a=!0)}return a}function q5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function vc(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?q5(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function SK(e){var t=EK();return function(){var n=Yn(e),i;if(t){var a=Yn(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return Ru(this,i)}}function EK(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _w(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(e){if(e[t])return e[t];for(var n=t.split(r),i=e,a=0;a<n.length;++a){if(!i||typeof i[n[a]]=="string"&&a+1<n.length)return;if(i[n[a]]===void 0){for(var o=2,p=n.slice(a,a+o).join(r),u=i[p];u===void 0&&n.length>a+o;)o++,p=n.slice(a,a+o).join(r),u=i[p];if(u===void 0)return;if(u===null)return null;if(t.endsWith(p)){if(typeof u=="string")return u;if(p&&typeof u[p]=="string")return u[p]}var y=n.slice(a+o).join(r);return y?_w(u,y,r):void 0}i=i[n[a]]}return i}}var wK=function(e){w1(r,e);var t=SK(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};return nn(this,r),i=t.call(this),b1&&ya.call(pa(i)),i.data=n||{},i.options=a,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.options.ignoreJSONStructure===void 0&&(i.options.ignoreJSONStructure=!0),i}return an(r,[{key:"addNamespaces",value:function(i){this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}},{key:"removeNamespaces",value:function(i){var a=this.options.ns.indexOf(i);a>-1&&this.options.ns.splice(a,1)}},{key:"getResource",value:function(i,a,o){var p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},u=p.keySeparator!==void 0?p.keySeparator:this.options.keySeparator,y=p.ignoreJSONStructure!==void 0?p.ignoreJSONStructure:this.options.ignoreJSONStructure,s=[i,a];o&&typeof o!="string"&&(s=s.concat(o)),o&&typeof o=="string"&&(s=s.concat(u?o.split(u):o)),i.indexOf(".")>-1&&(s=i.split("."));var m=Pp(this.data,s);return m||!y||typeof o!="string"?m:_w(this.data&&this.data[i]&&this.data[i][a],o,u)}},{key:"addResource",value:function(i,a,o,p){var u=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1},y=this.options.keySeparator;y===void 0&&(y=".");var s=[i,a];o&&(s=s.concat(y?o.split(y):o)),i.indexOf(".")>-1&&(s=i.split("."),p=a,a=s[1]),this.addNamespaces(a),K5(this.data,s,p),u.silent||this.emit("added",i,a,o,p)}},{key:"addResources",value:function(i,a,o){var p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(var u in o)(typeof o[u]=="string"||Object.prototype.toString.apply(o[u])==="[object Array]")&&this.addResource(i,a,u,o[u],{silent:!0});p.silent||this.emit("added",i,a,o)}},{key:"addResourceBundle",value:function(i,a,o,p,u){var y=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1},s=[i,a];i.indexOf(".")>-1&&(s=i.split("."),p=o,o=a,a=s[1]),this.addNamespaces(a);var m=Pp(this.data,s)||{};p?yw(m,o,u):m=vc(vc({},m),o),K5(this.data,s,m),y.silent||this.emit("added",i,a,o)}},{key:"removeResourceBundle",value:function(i,a){this.hasResourceBundle(i,a)&&delete this.data[i][a],this.removeNamespaces(a),this.emit("removed",i,a)}},{key:"hasResourceBundle",value:function(i,a){return this.getResource(i,a)!==void 0}},{key:"getResourceBundle",value:function(i,a){return a||(a=this.options.defaultNS),this.options.compatibilityAPI==="v1"?vc(vc({},{}),this.getResource(i,a)):this.getResource(i,a)}},{key:"getDataByLanguage",value:function(i){return this.data[i]}},{key:"hasLanguageSomeTranslations",value:function(i){var a=this.getDataByLanguage(i),o=a&&Object.keys(a)||[];return!!o.find(function(p){return a[p]&&Object.keys(a[p]).length>0})}},{key:"toJSON",value:function(){return this.data}}]),r}(ya),Sw={processors:{},addPostProcessor:function(t){this.processors[t.name]=t},handle:function(t,r,n,i,a){var o=this;return t.forEach(function(p){o.processors[p]&&(r=o.processors[p].process(r,n,i,a))}),r}};function W5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function sr(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?W5(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):W5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function bK(e){var t=TK();return function(){var n=Yn(e),i;if(t){var a=Yn(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return Ru(this,i)}}function TK(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var H5={},G5=function(e){w1(r,e);var t=bK(r);function r(n){var i,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return nn(this,r),i=t.call(this),b1&&ya.call(pa(i)),hK(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],n,pa(i)),i.options=a,i.options.keySeparator===void 0&&(i.options.keySeparator="."),i.logger=qn.create("translator"),i}return an(r,[{key:"changeLanguage",value:function(i){i&&(this.language=i)}},{key:"exists",value:function(i){var a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(i==null)return!1;var o=this.resolve(i,a);return o&&o.res!==void 0}},{key:"extractFromKey",value:function(i,a){var o=a.nsSeparator!==void 0?a.nsSeparator:this.options.nsSeparator;o===void 0&&(o=":");var p=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,u=a.ns||this.options.defaultNS||[],y=o&&i.indexOf(o)>-1,s=!this.options.userDefinedKeySeparator&&!a.keySeparator&&!this.options.userDefinedNsSeparator&&!a.nsSeparator&&!_K(i,o,p);if(y&&!s){var m=i.match(this.interpolator.nestingRegexp);if(m&&m.length>0)return{key:i,namespaces:u};var g=i.split(o);(o!==p||o===p&&this.options.ns.indexOf(g[0])>-1)&&(u=g.shift()),i=g.join(p)}return typeof u=="string"&&(u=[u]),{key:i,namespaces:u}}},{key:"translate",value:function(i,a,o){var p=this;if(En(a)!=="object"&&this.options.overloadTranslationOptionHandler&&(a=this.options.overloadTranslationOptionHandler(arguments)),a||(a={}),i==null)return"";Array.isArray(i)||(i=[String(i)]);var u=a.returnDetails!==void 0?a.returnDetails:this.options.returnDetails,y=a.keySeparator!==void 0?a.keySeparator:this.options.keySeparator,s=this.extractFromKey(i[i.length-1],a),m=s.key,g=s.namespaces,S=g[g.length-1],v=a.lng||this.language,h=a.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(v&&v.toLowerCase()==="cimode"){if(h){var _=a.nsSeparator||this.options.nsSeparator;return u?(d.res="".concat(S).concat(_).concat(m),d):"".concat(S).concat(_).concat(m)}return u?(d.res=m,d):m}var d=this.resolve(i,a),l=d&&d.res,c=d&&d.usedKey||m,f=d&&d.exactUsedKey||m,E=Object.prototype.toString.apply(l),w=["[object Number]","[object Function]","[object RegExp]"],I=a.joinArrays!==void 0?a.joinArrays:this.options.joinArrays,D=!this.i18nFormat||this.i18nFormat.handleAsObject,A=typeof l!="string"&&typeof l!="boolean"&&typeof l!="number";if(D&&l&&A&&w.indexOf(E)<0&&!(typeof I=="string"&&E==="[object Array]")){if(!a.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");var L=this.options.returnedObjectHandler?this.options.returnedObjectHandler(c,l,sr(sr({},a),{},{ns:g})):"key '".concat(m," (").concat(this.language,")' returned an object instead of string.");return u?(d.res=L,d):L}if(y){var F=E==="[object Array]",x=F?[]:{},H=F?f:c;for(var K in l)if(Object.prototype.hasOwnProperty.call(l,K)){var W="".concat(H).concat(y).concat(K);x[K]=this.translate(W,sr(sr({},a),{joinArrays:!1,ns:g})),x[K]===W&&(x[K]=l[K])}l=x}}else if(D&&typeof I=="string"&&E==="[object Array]")l=l.join(I),l&&(l=this.extendTranslation(l,i,a,o));else{var X=!1,G=!1,j=a.count!==void 0&&typeof a.count!="string",Y=r.hasDefaultValue(a),R=j?this.pluralResolver.getSuffix(v,a.count,a):"",k=a["defaultValue".concat(R)]||a.defaultValue;!this.isValidLookup(l)&&Y&&(X=!0,l=k),this.isValidLookup(l)||(G=!0,l=m);var B=a.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,$=B&&G?void 0:l,C=Y&&k!==l&&this.options.updateMissing;if(G||X||C){if(this.logger.log(C?"updateKey":"missingKey",v,S,m,C?k:l),y){var N=this.resolve(m,sr(sr({},a),{},{keySeparator:!1}));N&&N.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}var T=[],ee=this.languageUtils.getFallbackCodes(this.options.fallbackLng,a.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ee&&ee[0])for(var ne=0;ne<ee.length;ne++)T.push(ee[ne]);else this.options.saveMissingTo==="all"?T=this.languageUtils.toResolveHierarchy(a.lng||this.language):T.push(a.lng||this.language);var se=function(q,oe,M){var O=Y&&M!==l?M:$;p.options.missingKeyHandler?p.options.missingKeyHandler(q,S,oe,O,C,a):p.backendConnector&&p.backendConnector.saveMissing&&p.backendConnector.saveMissing(q,S,oe,O,C,a),p.emit("missingKey",q,S,oe,l)};this.options.saveMissing&&(this.options.saveMissingPlurals&&j?T.forEach(function(me){p.pluralResolver.getSuffixes(me,a).forEach(function(q){se([me],m+q,a["defaultValue".concat(q)]||k)})}):se(T,m,k))}l=this.extendTranslation(l,i,a,d,o),G&&l===m&&this.options.appendNamespaceToMissingKey&&(l="".concat(S,":").concat(m)),(G||X)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?l=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?"".concat(S,":").concat(m):m,X?l:void 0):l=this.options.parseMissingKeyHandler(l))}return u?(d.res=l,d):l}},{key:"extendTranslation",value:function(i,a,o,p,u){var y=this;if(this.i18nFormat&&this.i18nFormat.parse)i=this.i18nFormat.parse(i,sr(sr({},this.options.interpolation.defaultVariables),o),p.usedLng,p.usedNS,p.usedKey,{resolved:p});else if(!o.skipInterpolation){o.interpolation&&this.interpolator.init(sr(sr({},o),{interpolation:sr(sr({},this.options.interpolation),o.interpolation)}));var s=typeof i=="string"&&(o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables),m;if(s){var g=i.match(this.interpolator.nestingRegexp);m=g&&g.length}var S=o.replace&&typeof o.replace!="string"?o.replace:o;if(this.options.interpolation.defaultVariables&&(S=sr(sr({},this.options.interpolation.defaultVariables),S)),i=this.interpolator.interpolate(i,S,o.lng||this.language,o),s){var v=i.match(this.interpolator.nestingRegexp),h=v&&v.length;m<h&&(o.nest=!1)}o.nest!==!1&&(i=this.interpolator.nest(i,function(){for(var l=arguments.length,c=new Array(l),f=0;f<l;f++)c[f]=arguments[f];return u&&u[0]===c[0]&&!o.context?(y.logger.warn("It seems you are nesting recursively key: ".concat(c[0]," in key: ").concat(a[0])),null):y.translate.apply(y,c.concat([a]))},o)),o.interpolation&&this.interpolator.reset()}var _=o.postProcess||this.options.postProcess,d=typeof _=="string"?[_]:_;return i!=null&&d&&d.length&&o.applyPostProcessor!==!1&&(i=Sw.handle(d,i,a,this.options&&this.options.postProcessPassResolved?sr({i18nResolved:p},o):o,this)),i}},{key:"resolve",value:function(i){var a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},p,u,y,s,m;return typeof i=="string"&&(i=[i]),i.forEach(function(g){if(!a.isValidLookup(p)){var S=a.extractFromKey(g,o),v=S.key;u=v;var h=S.namespaces;a.options.fallbackNS&&(h=h.concat(a.options.fallbackNS));var _=o.count!==void 0&&typeof o.count!="string",d=_&&!o.ordinal&&o.count===0&&a.pluralResolver.shouldUseIntlApi(),l=o.context!==void 0&&(typeof o.context=="string"||typeof o.context=="number")&&o.context!=="",c=o.lngs?o.lngs:a.languageUtils.toResolveHierarchy(o.lng||a.language,o.fallbackLng);h.forEach(function(f){a.isValidLookup(p)||(m=f,!H5["".concat(c[0],"-").concat(f)]&&a.utils&&a.utils.hasLoadedNamespace&&!a.utils.hasLoadedNamespace(m)&&(H5["".concat(c[0],"-").concat(f)]=!0,a.logger.warn('key "'.concat(u,'" for languages "').concat(c.join(", "),`" won't get resolved as namespace "`).concat(m,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),c.forEach(function(E){if(!a.isValidLookup(p)){s=E;var w=[v];if(a.i18nFormat&&a.i18nFormat.addLookupKeys)a.i18nFormat.addLookupKeys(w,v,E,f,o);else{var I;_&&(I=a.pluralResolver.getSuffix(E,o.count,o));var D="".concat(a.options.pluralSeparator,"zero");if(_&&(w.push(v+I),d&&w.push(v+D)),l){var A="".concat(v).concat(a.options.contextSeparator).concat(o.context);w.push(A),_&&(w.push(A+I),d&&w.push(A+D))}}for(var L;L=w.pop();)a.isValidLookup(p)||(y=L,p=a.getResource(E,f,L,o))}}))})}}),{res:p,usedKey:u,exactUsedKey:y,usedLng:s,usedNS:m}}},{key:"isValidLookup",value:function(i){return i!==void 0&&!(!this.options.returnNull&&i===null)&&!(!this.options.returnEmptyString&&i==="")}},{key:"getResource",value:function(i,a,o){var p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(i,a,o,p):this.resourceStore.getResource(i,a,o,p)}}],[{key:"hasDefaultValue",value:function(i){var a="defaultValue";for(var o in i)if(Object.prototype.hasOwnProperty.call(i,o)&&a===o.substring(0,a.length)&&i[o]!==void 0)return!0;return!1}}]),r}(ya);function Nh(e){return e.charAt(0).toUpperCase()+e.slice(1)}var z5=function(){function e(t){nn(this,e),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=qn.create("languageUtils")}return an(e,[{key:"getScriptPartFromCode",value:function(r){if(!r||r.indexOf("-")<0)return null;var n=r.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}},{key:"getLanguagePartFromCode",value:function(r){if(!r||r.indexOf("-")<0)return r;var n=r.split("-");return this.formatLanguageCode(n[0])}},{key:"formatLanguageCode",value:function(r){if(typeof r=="string"&&r.indexOf("-")>-1){var n=["hans","hant","latn","cyrl","cans","mong","arab"],i=r.split("-");return this.options.lowerCaseLng?i=i.map(function(a){return a.toLowerCase()}):i.length===2?(i[0]=i[0].toLowerCase(),i[1]=i[1].toUpperCase(),n.indexOf(i[1].toLowerCase())>-1&&(i[1]=Nh(i[1].toLowerCase()))):i.length===3&&(i[0]=i[0].toLowerCase(),i[1].length===2&&(i[1]=i[1].toUpperCase()),i[0]!=="sgn"&&i[2].length===2&&(i[2]=i[2].toUpperCase()),n.indexOf(i[1].toLowerCase())>-1&&(i[1]=Nh(i[1].toLowerCase())),n.indexOf(i[2].toLowerCase())>-1&&(i[2]=Nh(i[2].toLowerCase()))),i.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?r.toLowerCase():r}},{key:"isSupportedCode",value:function(r){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(r=this.getLanguagePartFromCode(r)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(r)>-1}},{key:"getBestMatchFromCodes",value:function(r){var n=this;if(!r)return null;var i;return r.forEach(function(a){if(!i){var o=n.formatLanguageCode(a);(!n.options.supportedLngs||n.isSupportedCode(o))&&(i=o)}}),!i&&this.options.supportedLngs&&r.forEach(function(a){if(!i){var o=n.getLanguagePartFromCode(a);if(n.isSupportedCode(o))return i=o;i=n.options.supportedLngs.find(function(p){if(p.indexOf(o)===0)return p})}}),i||(i=this.getFallbackCodes(this.options.fallbackLng)[0]),i}},{key:"getFallbackCodes",value:function(r,n){if(!r)return[];if(typeof r=="function"&&(r=r(n)),typeof r=="string"&&(r=[r]),Object.prototype.toString.apply(r)==="[object Array]")return r;if(!n)return r.default||[];var i=r[n];return i||(i=r[this.getScriptPartFromCode(n)]),i||(i=r[this.formatLanguageCode(n)]),i||(i=r[this.getLanguagePartFromCode(n)]),i||(i=r.default),i||[]}},{key:"toResolveHierarchy",value:function(r,n){var i=this,a=this.getFallbackCodes(n||this.options.fallbackLng||[],r),o=[],p=function(y){y&&(i.isSupportedCode(y)?o.push(y):i.logger.warn("rejecting language code not found in supportedLngs: ".concat(y)))};return typeof r=="string"&&r.indexOf("-")>-1?(this.options.load!=="languageOnly"&&p(this.formatLanguageCode(r)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&p(this.getScriptPartFromCode(r)),this.options.load!=="currentOnly"&&p(this.getLanguagePartFromCode(r))):typeof r=="string"&&p(this.formatLanguageCode(r)),a.forEach(function(u){o.indexOf(u)<0&&p(i.formatLanguageCode(u))}),o}}]),e}(),RK=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],IK={1:function(t){return Number(t>1)},2:function(t){return Number(t!=1)},3:function(t){return 0},4:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},5:function(t){return Number(t==0?0:t==1?1:t==2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5)},6:function(t){return Number(t==1?0:t>=2&&t<=4?1:2)},7:function(t){return Number(t==1?0:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?1:2)},8:function(t){return Number(t==1?0:t==2?1:t!=8&&t!=11?2:3)},9:function(t){return Number(t>=2)},10:function(t){return Number(t==1?0:t==2?1:t<7?2:t<11?3:4)},11:function(t){return Number(t==1||t==11?0:t==2||t==12?1:t>2&&t<20?2:3)},12:function(t){return Number(t%10!=1||t%100==11)},13:function(t){return Number(t!==0)},14:function(t){return Number(t==1?0:t==2?1:t==3?2:3)},15:function(t){return Number(t%10==1&&t%100!=11?0:t%10>=2&&(t%100<10||t%100>=20)?1:2)},16:function(t){return Number(t%10==1&&t%100!=11?0:t!==0?1:2)},17:function(t){return Number(t==1||t%10==1&&t%100!=11?0:1)},18:function(t){return Number(t==0?0:t==1?1:2)},19:function(t){return Number(t==1?0:t==0||t%100>1&&t%100<11?1:t%100>10&&t%100<20?2:3)},20:function(t){return Number(t==1?0:t==0||t%100>0&&t%100<20?1:2)},21:function(t){return Number(t%100==1?1:t%100==2?2:t%100==3||t%100==4?3:0)},22:function(t){return Number(t==1?0:t==2?1:(t<0||t>10)&&t%10==0?2:3)}},CK=["v1","v2","v3"],Y5={zero:0,one:1,two:2,few:3,many:4,other:5};function OK(){var e={};return RK.forEach(function(t){t.lngs.forEach(function(r){e[r]={numbers:t.nr,plurals:IK[t.fc]}})}),e}var PK=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};nn(this,e),this.languageUtils=t,this.options=r,this.logger=qn.create("pluralResolver"),(!this.options.compatibilityJSON||this.options.compatibilityJSON==="v4")&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=OK()}return an(e,[{key:"addRule",value:function(r,n){this.rules[r]=n}},{key:"getRule",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(r,{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[r]||this.rules[this.languageUtils.getLanguagePartFromCode(r)]}},{key:"needsPlural",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=this.getRule(r,n);return this.shouldUseIntlApi()?i&&i.resolvedOptions().pluralCategories.length>1:i&&i.numbers.length>1}},{key:"getPluralFormsOfKey",value:function(r,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(r,i).map(function(a){return"".concat(n).concat(a)})}},{key:"getSuffixes",value:function(r){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=this.getRule(r,i);return a?this.shouldUseIntlApi()?a.resolvedOptions().pluralCategories.sort(function(o,p){return Y5[o]-Y5[p]}).map(function(o){return"".concat(n.options.prepend).concat(o)}):a.numbers.map(function(o){return n.getSuffix(r,o,i)}):[]}},{key:"getSuffix",value:function(r,n){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},a=this.getRule(r,i);return a?this.shouldUseIntlApi()?"".concat(this.options.prepend).concat(a.select(n)):this.getSuffixRetroCompatible(a,n):(this.logger.warn("no plural rule found for: ".concat(r)),"")}},{key:"getSuffixRetroCompatible",value:function(r,n){var i=this,a=r.noAbs?r.plurals(n):r.plurals(Math.abs(n)),o=r.numbers[a];this.options.simplifyPluralSuffix&&r.numbers.length===2&&r.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));var p=function(){return i.options.prepend&&o.toString()?i.options.prepend+o.toString():o.toString()};return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?"_plural_".concat(o.toString()):p():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&r.numbers.length===2&&r.numbers[0]===1?p():this.options.prepend&&a.toString()?this.options.prepend+a.toString():a.toString()}},{key:"shouldUseIntlApi",value:function(){return!CK.includes(this.options.compatibilityJSON)}}]),e}();function Q5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function fn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Q5(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Q5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var kK=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};nn(this,e),this.logger=qn.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(r){return r},this.init(t)}return an(e,[{key:"init",value:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};r.interpolation||(r.interpolation={escapeValue:!0});var n=r.interpolation;this.escape=n.escape!==void 0?n.escape:gK,this.escapeValue=n.escapeValue!==void 0?n.escapeValue:!0,this.useRawValueToEscape=n.useRawValueToEscape!==void 0?n.useRawValueToEscape:!1,this.prefix=n.prefix?qo(n.prefix):n.prefixEscaped||"{{",this.suffix=n.suffix?qo(n.suffix):n.suffixEscaped||"}}",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||",",this.unescapePrefix=n.unescapeSuffix?"":n.unescapePrefix||"-",this.unescapeSuffix=this.unescapePrefix?"":n.unescapeSuffix||"",this.nestingPrefix=n.nestingPrefix?qo(n.nestingPrefix):n.nestingPrefixEscaped||qo("$t("),this.nestingSuffix=n.nestingSuffix?qo(n.nestingSuffix):n.nestingSuffixEscaped||qo(")"),this.nestingOptionsSeparator=n.nestingOptionsSeparator?n.nestingOptionsSeparator:n.nestingOptionsSeparator||",",this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.alwaysFormat=n.alwaysFormat!==void 0?n.alwaysFormat:!1,this.resetRegExp()}},{key:"reset",value:function(){this.options&&this.init(this.options)}},{key:"resetRegExp",value:function(){var r="".concat(this.prefix,"(.+?)").concat(this.suffix);this.regexp=new RegExp(r,"g");var n="".concat(this.prefix).concat(this.unescapePrefix,"(.+?)").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(n,"g");var i="".concat(this.nestingPrefix,"(.+?)").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(i,"g")}},{key:"interpolate",value:function(r,n,i,a){var o=this,p,u,y,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function m(_){return _.replace(/\$/g,"$$$$")}var g=function(d){if(d.indexOf(o.formatSeparator)<0){var l=V5(n,s,d);return o.alwaysFormat?o.format(l,void 0,i,fn(fn(fn({},a),n),{},{interpolationkey:d})):l}var c=d.split(o.formatSeparator),f=c.shift().trim(),E=c.join(o.formatSeparator).trim();return o.format(V5(n,s,f),E,i,fn(fn(fn({},a),n),{},{interpolationkey:f}))};this.resetRegExp();var S=a&&a.missingInterpolationHandler||this.options.missingInterpolationHandler,v=a&&a.interpolation&&a.interpolation.skipOnVariables!==void 0?a.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables,h=[{regex:this.regexpUnescape,safeValue:function(d){return m(d)}},{regex:this.regexp,safeValue:function(d){return o.escapeValue?m(o.escape(d)):m(d)}}];return h.forEach(function(_){for(y=0;p=_.regex.exec(r);){var d=p[1].trim();if(u=g(d),u===void 0)if(typeof S=="function"){var l=S(r,p,a);u=typeof l=="string"?l:""}else if(a&&a.hasOwnProperty(d))u="";else if(v){u=p[0];continue}else o.logger.warn("missed to pass in variable ".concat(d," for interpolating ").concat(r)),u="";else typeof u!="string"&&!o.useRawValueToEscape&&(u=j5(u));var c=_.safeValue(u);if(r=r.replace(p[0],c),v?(_.regex.lastIndex+=u.length,_.regex.lastIndex-=p[0].length):_.regex.lastIndex=0,y++,y>=o.maxReplaces)break}}),r}},{key:"nest",value:function(r,n){var i=this,a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,p,u;function y(S,v){var h=this.nestingOptionsSeparator;if(S.indexOf(h)<0)return S;var _=S.split(new RegExp("".concat(h,"[ ]*{"))),d="{".concat(_[1]);S=_[0],d=this.interpolate(d,u);var l=d.match(/'/g),c=d.match(/"/g);(l&&l.length%2===0&&!c||c.length%2!==0)&&(d=d.replace(/'/g,'"'));try{u=JSON.parse(d),v&&(u=fn(fn({},v),u))}catch(f){return this.logger.warn("failed parsing options string in nesting for key ".concat(S),f),"".concat(S).concat(h).concat(d)}return delete u.defaultValue,S}for(;o=this.nestingRegexp.exec(r);){var s=[];u=fn({},a),u=u.replace&&typeof u.replace!="string"?u.replace:u,u.applyPostProcessor=!1,delete u.defaultValue;var m=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){var g=o[1].split(this.formatSeparator).map(function(S){return S.trim()});o[1]=g.shift(),s=g,m=!0}if(p=n(y.call(this,o[1].trim(),u),u),p&&o[0]===r&&typeof p!="string")return p;typeof p!="string"&&(p=j5(p)),p||(this.logger.warn("missed to resolve ".concat(o[1]," for nesting ").concat(r)),p=""),m&&(p=s.reduce(function(S,v){return i.format(S,v,a.lng,fn(fn({},a),{},{interpolationkey:o[1].trim()}))},p.trim())),r=r.replace(o[0],p),this.regexp.lastIndex=0}return r}}]),e}();function J5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Ki(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?J5(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):J5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function DK(e){var t=e.toLowerCase().trim(),r={};if(e.indexOf("(")>-1){var n=e.split("(");t=n[0].toLowerCase().trim();var i=n[1].substring(0,n[1].length-1);if(t==="currency"&&i.indexOf(":")<0)r.currency||(r.currency=i.trim());else if(t==="relativetime"&&i.indexOf(":")<0)r.range||(r.range=i.trim());else{var a=i.split(";");a.forEach(function(o){if(o){var p=o.split(":"),u=cK(p),y=u[0],s=u.slice(1),m=s.join(":").trim().replace(/^'+|'+$/g,"");r[y.trim()]||(r[y.trim()]=m),m==="false"&&(r[y.trim()]=!1),m==="true"&&(r[y.trim()]=!0),isNaN(m)||(r[y.trim()]=parseInt(m,10))}})}}return{formatName:t,formatOptions:r}}function Wo(e){var t={};return function(n,i,a){var o=i+JSON.stringify(a),p=t[o];return p||(p=e(i,a),t[o]=p),p(n)}}var MK=function(){function e(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};nn(this,e),this.logger=qn.create("formatter"),this.options=t,this.formats={number:Wo(function(r,n){var i=new Intl.NumberFormat(r,n);return function(a){return i.format(a)}}),currency:Wo(function(r,n){var i=new Intl.NumberFormat(r,Ki(Ki({},n),{},{style:"currency"}));return function(a){return i.format(a)}}),datetime:Wo(function(r,n){var i=new Intl.DateTimeFormat(r,Ki({},n));return function(a){return i.format(a)}}),relativetime:Wo(function(r,n){var i=new Intl.RelativeTimeFormat(r,Ki({},n));return function(a){return i.format(a,n.range||"day")}}),list:Wo(function(r,n){var i=new Intl.ListFormat(r,Ki({},n));return function(a){return i.format(a)}})},this.init(t)}return an(e,[{key:"init",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}},i=n.interpolation;this.formatSeparator=i.formatSeparator?i.formatSeparator:i.formatSeparator||","}},{key:"add",value:function(r,n){this.formats[r.toLowerCase().trim()]=n}},{key:"addCached",value:function(r,n){this.formats[r.toLowerCase().trim()]=Wo(n)}},{key:"format",value:function(r,n,i,a){var o=this,p=n.split(this.formatSeparator),u=p.reduce(function(y,s){var m=DK(s),g=m.formatName,S=m.formatOptions;if(o.formats[g]){var v=y;try{var h=a&&a.formatParams&&a.formatParams[a.interpolationkey]||{},_=h.locale||h.lng||a.locale||a.lng||i;v=o.formats[g](y,_,Ki(Ki(Ki({},S),a),h))}catch(d){o.logger.warn(d)}return v}else o.logger.warn("there was no format function for ".concat(g));return y},r);return u}}]),e}();function X5(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Z5(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?X5(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):X5(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function AK(e){var t=NK();return function(){var n=Yn(e),i;if(t){var a=Yn(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return Ru(this,i)}}function NK(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function LK(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}var xK=function(e){w1(r,e);var t=AK(r);function r(n,i,a){var o,p=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return nn(this,r),o=t.call(this),b1&&ya.call(pa(o)),o.backend=n,o.store=i,o.services=a,o.languageUtils=a.languageUtils,o.options=p,o.logger=qn.create("backendConnector"),o.waitingReads=[],o.maxParallelReads=p.maxParallelReads||10,o.readingCalls=0,o.maxRetries=p.maxRetries>=0?p.maxRetries:5,o.retryTimeout=p.retryTimeout>=1?p.retryTimeout:350,o.state={},o.queue=[],o.backend&&o.backend.init&&o.backend.init(a,p.backend,p),o}return an(r,[{key:"queueLoad",value:function(i,a,o,p){var u=this,y={},s={},m={},g={};return i.forEach(function(S){var v=!0;a.forEach(function(h){var _="".concat(S,"|").concat(h);!o.reload&&u.store.hasResourceBundle(S,h)?u.state[_]=2:u.state[_]<0||(u.state[_]===1?s[_]===void 0&&(s[_]=!0):(u.state[_]=1,v=!1,s[_]===void 0&&(s[_]=!0),y[_]===void 0&&(y[_]=!0),g[h]===void 0&&(g[h]=!0)))}),v||(m[S]=!0)}),(Object.keys(y).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:p}),{toLoad:Object.keys(y),pending:Object.keys(s),toLoadLanguages:Object.keys(m),toLoadNamespaces:Object.keys(g)}}},{key:"loaded",value:function(i,a,o){var p=i.split("|"),u=p[0],y=p[1];a&&this.emit("failedLoading",u,y,a),o&&this.store.addResourceBundle(u,y,o),this.state[i]=a?-1:2;var s={};this.queue.forEach(function(m){mK(m.loaded,[u],y),LK(m,i),a&&m.errors.push(a),m.pendingCount===0&&!m.done&&(Object.keys(m.loaded).forEach(function(g){s[g]||(s[g]={});var S=m.loaded[g];S.length&&S.forEach(function(v){s[g][v]===void 0&&(s[g][v]=!0)})}),m.done=!0,m.errors.length?m.callback(m.errors):m.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(function(m){return!m.done})}},{key:"read",value:function(i,a,o){var p=this,u=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,y=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!i.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:i,ns:a,fcName:o,tried:u,wait:y,callback:s});return}this.readingCalls++;var m=function(h,_){if(p.readingCalls--,p.waitingReads.length>0){var d=p.waitingReads.shift();p.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(h&&_&&u<p.maxRetries){setTimeout(function(){p.read.call(p,i,a,o,u+1,y*2,s)},y);return}s(h,_)},g=this.backend[o].bind(this.backend);if(g.length===2){try{var S=g(i,a);S&&typeof S.then=="function"?S.then(function(v){return m(null,v)}).catch(m):m(null,S)}catch(v){m(v)}return}return g(i,a,m)}},{key:"prepareLoading",value:function(i,a){var o=this,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),u&&u();typeof i=="string"&&(i=this.languageUtils.toResolveHierarchy(i)),typeof a=="string"&&(a=[a]);var y=this.queueLoad(i,a,p,u);if(!y.toLoad.length)return y.pending.length||u(),null;y.toLoad.forEach(function(s){o.loadOne(s)})}},{key:"load",value:function(i,a,o){this.prepareLoading(i,a,{},o)}},{key:"reload",value:function(i,a,o){this.prepareLoading(i,a,{reload:!0},o)}},{key:"loadOne",value:function(i){var a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"",p=i.split("|"),u=p[0],y=p[1];this.read(u,y,"read",void 0,void 0,function(s,m){s&&a.logger.warn("".concat(o,"loading namespace ").concat(y," for language ").concat(u," failed"),s),!s&&m&&a.logger.log("".concat(o,"loaded namespace ").concat(y," for language ").concat(u),m),a.loaded(i,s,m)})}},{key:"saveMissing",value:function(i,a,o,p,u){var y=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:function(){};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(a)){this.logger.warn('did not save key "'.concat(o,'" as the namespace "').concat(a,'" was not yet loaded'),"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(o==null||o==="")){if(this.backend&&this.backend.create){var m=Z5(Z5({},y),{},{isUpdate:u}),g=this.backend.create.bind(this.backend);if(g.length<6)try{var S;g.length===5?S=g(i,a,o,p,m):S=g(i,a,o,p),S&&typeof S.then=="function"?S.then(function(v){return s(null,v)}).catch(s):s(null,S)}catch(v){s(v)}else g(i,a,o,p,s,m)}!i||!i[0]||this.store.addResource(i[0],a,o,p)}}}]),r}(ya);function e8(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){var r={};if(En(t[1])==="object"&&(r=t[1]),typeof t[1]=="string"&&(r.defaultValue=t[1]),typeof t[2]=="string"&&(r.tDescription=t[2]),En(t[2])==="object"||En(t[3])==="object"){var n=t[3]||t[2];Object.keys(n).forEach(function(i){r[i]=n[i]})}return r},interpolation:{escapeValue:!0,format:function(t,r,n,i){return t},prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function t8(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function r8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function jn(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?r8(Object(r),!0).forEach(function(n){In(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):r8(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function UK(e){var t=$K();return function(){var n=Yn(e),i;if(t){var a=Yn(this).constructor;i=Reflect.construct(n,arguments,a)}else i=n.apply(this,arguments);return Ru(this,i)}}function $K(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gc(){}function FK(e){var t=Object.getOwnPropertyNames(Object.getPrototypeOf(e));t.forEach(function(r){typeof e[r]=="function"&&(e[r]=e[r].bind(e))})}var kp=function(e){w1(r,e);var t=UK(r);function r(){var n,i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},a=arguments.length>1?arguments[1]:void 0;if(nn(this,r),n=t.call(this),b1&&ya.call(pa(n)),n.options=t8(i),n.services={},n.logger=qn,n.modules={external:[]},FK(pa(n)),a&&!n.isInitialized&&!i.isClone){if(!n.options.initImmediate)return n.init(i,a),Ru(n,pa(n));setTimeout(function(){n.init(i,a)},0)}return n}return an(r,[{key:"init",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1?arguments[1]:void 0;typeof a=="function"&&(o=a,a={}),!a.defaultNS&&a.defaultNS!==!1&&a.ns&&(typeof a.ns=="string"?a.defaultNS=a.ns:a.ns.indexOf("translation")<0&&(a.defaultNS=a.ns[0]));var p=e8();this.options=jn(jn(jn({},p),this.options),t8(a)),this.options.compatibilityAPI!=="v1"&&(this.options.interpolation=jn(jn({},p.interpolation),this.options.interpolation)),a.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=a.keySeparator),a.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=a.nsSeparator);function u(d){return d?typeof d=="function"?new d:d:null}if(!this.options.isClone){this.modules.logger?qn.init(u(this.modules.logger),this.options):qn.init(null,this.options);var y;this.modules.formatter?y=this.modules.formatter:typeof Intl<"u"&&(y=MK);var s=new z5(this.options);this.store=new wK(this.options.resources,this.options);var m=this.services;m.logger=qn,m.resourceStore=this.store,m.languageUtils=s,m.pluralResolver=new PK(s,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),y&&(!this.options.interpolation.format||this.options.interpolation.format===p.interpolation.format)&&(m.formatter=u(y),m.formatter.init(m,this.options),this.options.interpolation.format=m.formatter.format.bind(m.formatter)),m.interpolator=new kK(this.options),m.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},m.backendConnector=new xK(u(this.modules.backend),m.resourceStore,m,this.options),m.backendConnector.on("*",function(d){for(var l=arguments.length,c=new Array(l>1?l-1:0),f=1;f<l;f++)c[f-1]=arguments[f];i.emit.apply(i,[d].concat(c))}),this.modules.languageDetector&&(m.languageDetector=u(this.modules.languageDetector),m.languageDetector.init&&m.languageDetector.init(m,this.options.detection,this.options)),this.modules.i18nFormat&&(m.i18nFormat=u(this.modules.i18nFormat),m.i18nFormat.init&&m.i18nFormat.init(this)),this.translator=new G5(this.services,this.options),this.translator.on("*",function(d){for(var l=arguments.length,c=new Array(l>1?l-1:0),f=1;f<l;f++)c[f-1]=arguments[f];i.emit.apply(i,[d].concat(c))}),this.modules.external.forEach(function(d){d.init&&d.init(i)})}if(this.format=this.options.interpolation.format,o||(o=gc),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var g=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);g.length>0&&g[0]!=="dev"&&(this.options.lng=g[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined");var S=["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"];S.forEach(function(d){i[d]=function(){var l;return(l=i.store)[d].apply(l,arguments)}});var v=["addResource","addResources","addResourceBundle","removeResourceBundle"];v.forEach(function(d){i[d]=function(){var l;return(l=i.store)[d].apply(l,arguments),i}});var h=zl(),_=function(){var l=function(f,E){i.isInitialized&&!i.initializedStoreOnce&&i.logger.warn("init: i18next is already initialized. You should call init just once!"),i.isInitialized=!0,i.options.isClone||i.logger.log("initialized",i.options),i.emit("initialized",i.options),h.resolve(E),o(f,E)};if(i.languages&&i.options.compatibilityAPI!=="v1"&&!i.isInitialized)return l(null,i.t.bind(i));i.changeLanguage(i.options.lng,l)};return this.options.resources||!this.options.initImmediate?_():setTimeout(_,0),h}},{key:"loadResources",value:function(i){var a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gc,p=o,u=typeof i=="string"?i:this.language;if(typeof i=="function"&&(p=i),!this.options.resources||this.options.partialBundledLanguages){if(u&&u.toLowerCase()==="cimode")return p();var y=[],s=function(S){if(S){var v=a.services.languageUtils.toResolveHierarchy(S);v.forEach(function(h){y.indexOf(h)<0&&y.push(h)})}};if(u)s(u);else{var m=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);m.forEach(function(g){return s(g)})}this.options.preload&&this.options.preload.forEach(function(g){return s(g)}),this.services.backendConnector.load(y,this.options.ns,function(g){!g&&!a.resolvedLanguage&&a.language&&a.setResolvedLanguage(a.language),p(g)})}else p(null)}},{key:"reloadResources",value:function(i,a,o){var p=zl();return i||(i=this.languages),a||(a=this.options.ns),o||(o=gc),this.services.backendConnector.reload(i,a,function(u){p.resolve(),o(u)}),p}},{key:"use",value:function(i){if(!i)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!i.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return i.type==="backend"&&(this.modules.backend=i),(i.type==="logger"||i.log&&i.warn&&i.error)&&(this.modules.logger=i),i.type==="languageDetector"&&(this.modules.languageDetector=i),i.type==="i18nFormat"&&(this.modules.i18nFormat=i),i.type==="postProcessor"&&Sw.addPostProcessor(i),i.type==="formatter"&&(this.modules.formatter=i),i.type==="3rdParty"&&this.modules.external.push(i),this}},{key:"setResolvedLanguage",value:function(i){if(!(!i||!this.languages)&&!(["cimode","dev"].indexOf(i)>-1))for(var a=0;a<this.languages.length;a++){var o=this.languages[a];if(!(["cimode","dev"].indexOf(o)>-1)&&this.store.hasLanguageSomeTranslations(o)){this.resolvedLanguage=o;break}}}},{key:"changeLanguage",value:function(i,a){var o=this;this.isLanguageChangingTo=i;var p=zl();this.emit("languageChanging",i);var u=function(g){o.language=g,o.languages=o.services.languageUtils.toResolveHierarchy(g),o.resolvedLanguage=void 0,o.setResolvedLanguage(g)},y=function(g,S){S?(u(S),o.translator.changeLanguage(S),o.isLanguageChangingTo=void 0,o.emit("languageChanged",S),o.logger.log("languageChanged",S)):o.isLanguageChangingTo=void 0,p.resolve(function(){return o.t.apply(o,arguments)}),a&&a(g,function(){return o.t.apply(o,arguments)})},s=function(g){!i&&!g&&o.services.languageDetector&&(g=[]);var S=typeof g=="string"?g:o.services.languageUtils.getBestMatchFromCodes(g);S&&(o.language||u(S),o.translator.language||o.translator.changeLanguage(S),o.services.languageDetector&&o.services.languageDetector.cacheUserLanguage&&o.services.languageDetector.cacheUserLanguage(S)),o.loadResources(S,function(v){y(v,S)})};return!i&&this.services.languageDetector&&!this.services.languageDetector.async?s(this.services.languageDetector.detect()):!i&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(s):this.services.languageDetector.detect(s):s(i),p}},{key:"getFixedT",value:function(i,a,o){var p=this,u=function y(s,m){var g;if(En(m)!=="object"){for(var S=arguments.length,v=new Array(S>2?S-2:0),h=2;h<S;h++)v[h-2]=arguments[h];g=p.options.overloadTranslationOptionHandler([s,m].concat(v))}else g=jn({},m);g.lng=g.lng||y.lng,g.lngs=g.lngs||y.lngs,g.ns=g.ns||y.ns,g.keyPrefix=g.keyPrefix||o||y.keyPrefix;var _=p.options.keySeparator||".",d=g.keyPrefix?"".concat(g.keyPrefix).concat(_).concat(s):s;return p.t(d,g)};return typeof i=="string"?u.lng=i:u.lngs=i,u.ns=a,u.keyPrefix=o,u}},{key:"t",value:function(){var i;return this.translator&&(i=this.translator).translate.apply(i,arguments)}},{key:"exists",value:function(){var i;return this.translator&&(i=this.translator).exists.apply(i,arguments)}},{key:"setDefaultNamespace",value:function(i){this.options.defaultNS=i}},{key:"hasLoadedNamespace",value:function(i){var a=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;var p=this.resolvedLanguage||this.languages[0],u=this.options?this.options.fallbackLng:!1,y=this.languages[this.languages.length-1];if(p.toLowerCase()==="cimode")return!0;var s=function(S,v){var h=a.services.backendConnector.state["".concat(S,"|").concat(v)];return h===-1||h===2};if(o.precheck){var m=o.precheck(this,s);if(m!==void 0)return m}return!!(this.hasResourceBundle(p,i)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||s(p,i)&&(!u||s(y,i)))}},{key:"loadNamespaces",value:function(i,a){var o=this,p=zl();return this.options.ns?(typeof i=="string"&&(i=[i]),i.forEach(function(u){o.options.ns.indexOf(u)<0&&o.options.ns.push(u)}),this.loadResources(function(u){p.resolve(),a&&a(u)}),p):(a&&a(),Promise.resolve())}},{key:"loadLanguages",value:function(i,a){var o=zl();typeof i=="string"&&(i=[i]);var p=this.options.preload||[],u=i.filter(function(y){return p.indexOf(y)<0});return u.length?(this.options.preload=p.concat(u),this.loadResources(function(y){o.resolve(),a&&a(y)}),o):(a&&a(),Promise.resolve())}},{key:"dir",value:function(i){if(i||(i=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!i)return"rtl";var a=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],o=this.services&&this.services.languageUtils||new z5(e8());return a.indexOf(o.getLanguagePartFromCode(i))>-1||i.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}},{key:"cloneInstance",value:function(){var i=this,a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:gc,p=jn(jn(jn({},this.options),a),{isClone:!0}),u=new r(p);(a.debug!==void 0||a.prefix!==void 0)&&(u.logger=u.logger.clone(a));var y=["store","services","language"];return y.forEach(function(s){u[s]=i[s]}),u.services=jn({},this.services),u.services.utils={hasLoadedNamespace:u.hasLoadedNamespace.bind(u)},u.translator=new G5(u.services,u.options),u.translator.on("*",function(s){for(var m=arguments.length,g=new Array(m>1?m-1:0),S=1;S<m;S++)g[S-1]=arguments[S];u.emit.apply(u,[s].concat(g))}),u.init(p,o),u.translator.options=u.options,u.translator.backendConnector.services.utils={hasLoadedNamespace:u.hasLoadedNamespace.bind(u)},u}},{key:"toJSON",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),r}(ya);In(kp,"createInstance",function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new kp(e,t)});var gr=kp.createInstance();gr.createInstance=kp.createInstance;gr.createInstance;gr.dir;gr.init;gr.loadResources;gr.reloadResources;gr.use;gr.changeLanguage;gr.getFixedT;gr.t;gr.exists;gr.setDefaultNamespace;gr.hasLoadedNamespace;gr.loadNamespaces;gr.loadLanguages;function Yv(e){return Yv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Yv(e)}var Ew=[],BK=Ew.forEach,jK=Ew.slice;function Qv(e){return BK.call(jK.call(arguments,1),function(t){if(t)for(var r in t)e[r]===void 0&&(e[r]=t[r])}),e}function ww(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":Yv(XMLHttpRequest))==="object"}function KK(e){return!!e&&typeof e.then=="function"}function VK(e){return KK(e)?e:Promise.resolve(e)}function qK(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Hd={},WK={get exports(){return Hd},set exports(e){Hd=e}},Ed={},HK={get exports(){return Ed},set exports(e){Ed=e}},Dn={},Jv={},GK={get exports(){return Jv},set exports(e){Jv=e}},Rt={},zK=Rt;function n8(e){return e<0?-1:1}function YK(e){return e%1===.5&&!(e&1)?Math.floor(e):Math.round(e)}function Ca(e,t){t.unsigned||--e;const r=t.unsigned?0:-Math.pow(2,e),n=Math.pow(2,e)-1,i=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e),a=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(o,p){p||(p={});let u=+o;if(p.enforceRange){if(!Number.isFinite(u))throw new TypeError("Argument is not a finite number");if(u=n8(u)*Math.floor(Math.abs(u)),u<r||u>n)throw new TypeError("Argument is not in byte range");return u}if(!isNaN(u)&&p.clamp)return u=YK(u),u<r&&(u=r),u>n&&(u=n),u;if(!Number.isFinite(u)||u===0)return 0;if(u=n8(u)*Math.floor(Math.abs(u)),u=u%i,!t.unsigned&&u>=a)return u-i;if(t.unsigned){if(u<0)u+=i;else if(u===-0)return 0}return u}}Rt.void=function(){};Rt.boolean=function(e){return!!e};Rt.byte=Ca(8,{unsigned:!1});Rt.octet=Ca(8,{unsigned:!0});Rt.short=Ca(16,{unsigned:!1});Rt["unsigned short"]=Ca(16,{unsigned:!0});Rt.long=Ca(32,{unsigned:!1});Rt["unsigned long"]=Ca(32,{unsigned:!0});Rt["long long"]=Ca(32,{unsigned:!1,moduloBitLength:64});Rt["unsigned long long"]=Ca(32,{unsigned:!0,moduloBitLength:64});Rt.double=function(e){const t=+e;if(!Number.isFinite(t))throw new TypeError("Argument is not a finite floating-point value");return t};Rt["unrestricted double"]=function(e){const t=+e;if(isNaN(t))throw new TypeError("Argument is NaN");return t};Rt.float=Rt.double;Rt["unrestricted float"]=Rt["unrestricted double"];Rt.DOMString=function(e,t){return t||(t={}),t.treatNullAsEmptyString&&e===null?"":String(e)};Rt.ByteString=function(e,t){const r=String(e);let n;for(let i=0;(n=r.codePointAt(i))!==void 0;++i)if(n>255)throw new TypeError("Argument is not a valid bytestring");return r};Rt.USVString=function(e){const t=String(e),r=t.length,n=[];for(let i=0;i<r;++i){const a=t.charCodeAt(i);if(a<55296||a>57343)n.push(String.fromCodePoint(a));else if(56320<=a&&a<=57343)n.push(String.fromCodePoint(65533));else if(i===r-1)n.push(String.fromCodePoint(65533));else{const o=t.charCodeAt(i+1);if(56320<=o&&o<=57343){const p=a&1023,u=o&1023;n.push(String.fromCodePoint((2<<15)+(2<<9)*p+u)),++i}else n.push(String.fromCodePoint(65533))}}return n.join("")};Rt.Date=function(e,t){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};Rt.RegExp=function(e,t){return e instanceof RegExp||(e=new RegExp(e)),e};var Xv={},QK={get exports(){return Xv},set exports(e){Xv=e}};(function(e){e.exports.mixin=function(r,n){const i=Object.getOwnPropertyNames(n);for(let a=0;a<i.length;++a)Object.defineProperty(r,i[a],Object.getOwnPropertyDescriptor(n,i[a]))},e.exports.wrapperSymbol=Symbol("wrapper"),e.exports.implSymbol=Symbol("impl"),e.exports.wrapperForImpl=function(t){return t[e.exports.wrapperSymbol]},e.exports.implForWrapper=function(t){return t[e.exports.implSymbol]}})(QK);var bw={},Rn={},JK={get exports(){return Rn},set exports(e){Rn=e}};const Es=2147483647,Wn=36,Z0=1,Gd=26,XK=38,ZK=700,Tw=72,Rw=128,Iw="-",eV=/^xn--/,tV=/[^\0-\x7E]/,rV=/[\x2E\u3002\uFF0E\uFF61]/g,nV={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Lh=Wn-Z0,Hn=Math.floor,xh=String.fromCharCode;function Ga(e){throw new RangeError(nV[e])}function iV(e,t){const r=[];let n=e.length;for(;n--;)r[n]=t(e[n]);return r}function Cw(e,t){const r=e.split("@");let n="";r.length>1&&(n=r[0]+"@",e=r[1]),e=e.replace(rV,".");const i=e.split("."),a=iV(i,t).join(".");return n+a}function e2(e){const t=[];let r=0;const n=e.length;for(;r<n;){const i=e.charCodeAt(r++);if(i>=55296&&i<=56319&&r<n){const a=e.charCodeAt(r++);(a&64512)==56320?t.push(((i&1023)<<10)+(a&1023)+65536):(t.push(i),r--)}else t.push(i)}return t}const Ow=e=>String.fromCodePoint(...e),aV=function(e){return e-48<10?e-22:e-65<26?e-65:e-97<26?e-97:Wn},i8=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},Pw=function(e,t,r){let n=0;for(e=r?Hn(e/ZK):e>>1,e+=Hn(e/t);e>Lh*Gd>>1;n+=Wn)e=Hn(e/Lh);return Hn(n+(Lh+1)*e/(e+XK))},t2=function(e){const t=[],r=e.length;let n=0,i=Rw,a=Tw,o=e.lastIndexOf(Iw);o<0&&(o=0);for(let p=0;p<o;++p)e.charCodeAt(p)>=128&&Ga("not-basic"),t.push(e.charCodeAt(p));for(let p=o>0?o+1:0;p<r;){let u=n;for(let s=1,m=Wn;;m+=Wn){p>=r&&Ga("invalid-input");const g=aV(e.charCodeAt(p++));(g>=Wn||g>Hn((Es-n)/s))&&Ga("overflow"),n+=g*s;const S=m<=a?Z0:m>=a+Gd?Gd:m-a;if(g<S)break;const v=Wn-S;s>Hn(Es/v)&&Ga("overflow"),s*=v}const y=t.length+1;a=Pw(n-u,y,u==0),Hn(n/y)>Es-i&&Ga("overflow"),i+=Hn(n/y),n%=y,t.splice(n++,0,i)}return String.fromCodePoint(...t)},r2=function(e){const t=[];e=e2(e);let r=e.length,n=Rw,i=0,a=Tw;for(const u of e)u<128&&t.push(xh(u));let o=t.length,p=o;for(o&&t.push(Iw);p<r;){let u=Es;for(const s of e)s>=n&&s<u&&(u=s);const y=p+1;u-n>Hn((Es-i)/y)&&Ga("overflow"),i+=(u-n)*y,n=u;for(const s of e)if(s<n&&++i>Es&&Ga("overflow"),s==n){let m=i;for(let g=Wn;;g+=Wn){const S=g<=a?Z0:g>=a+Gd?Gd:g-a;if(m<S)break;const v=m-S,h=Wn-S;t.push(xh(i8(S+v%h,0))),m=Hn(v/h)}t.push(xh(i8(m,0))),a=Pw(i,y,p==o),i=0,++p}++i,++n}return t.join("")},kw=function(e){return Cw(e,function(t){return eV.test(t)?t2(t.slice(4).toLowerCase()):t})},Dw=function(e){return Cw(e,function(t){return tV.test(t)?"xn--"+r2(t):t})},oV={version:"2.1.0",ucs2:{decode:e2,encode:Ow},decode:t2,encode:r2,toASCII:Dw,toUnicode:kw},sV=Object.freeze(Object.defineProperty({__proto__:null,decode:t2,default:oV,encode:r2,toASCII:Dw,toUnicode:kw,ucs2decode:e2,ucs2encode:Ow},Symbol.toStringTag,{value:"Module"})),Mw=Ns(sV);var T1={};const lV=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]];var Aw=Mw,a8=lV,ws={TRANSITIONAL:0,NONTRANSITIONAL:1};function Nw(e){return e.split("\0").map(function(t){return t.normalize("NFC")}).join("\0")}function Lw(e){for(var t=0,r=a8.length-1;t<=r;){var n=Math.floor((t+r)/2),i=a8[n];if(i[0][0]<=e&&i[0][1]>=e)return i;i[0][0]>e?r=n-1:t=n+1}return null}var dV=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function xw(e){return e.replace(dV,"_").length}function uV(e,t,r){for(var n=!1,i="",a=xw(e),o=0;o<a;++o){var p=e.codePointAt(o),u=Lw(p);switch(u[1]){case"disallowed":n=!0,i+=String.fromCodePoint(p);break;case"ignored":break;case"mapped":i+=String.fromCodePoint.apply(String,u[2]);break;case"deviation":r===ws.TRANSITIONAL?i+=String.fromCodePoint.apply(String,u[2]):i+=String.fromCodePoint(p);break;case"valid":i+=String.fromCodePoint(p);break;case"disallowed_STD3_mapped":t?(n=!0,i+=String.fromCodePoint(p)):i+=String.fromCodePoint.apply(String,u[2]);break;case"disallowed_STD3_valid":t&&(n=!0),i+=String.fromCodePoint(p);break}}return{string:i,error:n}}var cV=/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08E4-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u18A9\u1920-\u192B\u1930-\u193B\u19B0-\u19C0\u19C8\u19C9\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFC-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C4\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2D]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC7F-\uDC82\uDCB0-\uDCBA\uDD00-\uDD02\uDD27-\uDD34\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDE2C-\uDE37\uDEDF-\uDEEA\uDF01-\uDF03\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDCB0-\uDCC3\uDDAF-\uDDB5\uDDB8-\uDDC0\uDE30-\uDE40\uDEAB-\uDEB7]|\uD81A[\uDEF0-\uDEF4\uDF30-\uDF36]|\uD81B[\uDF51-\uDF7E\uDF8F-\uDF92]|\uD82F[\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD83A[\uDCD0-\uDCD6]|\uDB40[\uDD00-\uDDEF]/;function pV(e,t){e.substr(0,4)==="xn--"&&(e=Aw.toUnicode(e),ws.NONTRANSITIONAL);var r=!1;(Nw(e)!==e||e[3]==="-"&&e[4]==="-"||e[0]==="-"||e[e.length-1]==="-"||e.indexOf(".")!==-1||e.search(cV)===0)&&(r=!0);for(var n=xw(e),i=0;i<n;++i){var a=Lw(e.codePointAt(i));if(Dp===ws.TRANSITIONAL&&a[1]!=="valid"||Dp===ws.NONTRANSITIONAL&&a[1]!=="valid"&&a[1]!=="deviation"){r=!0;break}}return{label:e,error:r}}function Dp(e,t,r){var n=uV(e,t,r);n.string=Nw(n.string);for(var i=n.string.split("."),a=0;a<i.length;++a)try{var o=pV(i[a]);i[a]=o.label,n.error=n.error||o.error}catch{n.error=!0}return{string:i.join("."),error:n.error}}T1.toASCII=function(e,t,r,n){var i=Dp(e,t,r),a=i.string.split(".");if(a=a.map(function(u){try{return Aw.toASCII(u)}catch{return i.error=!0,u}}),n){var o=a.slice(0,a.length-1).join(".").length;(o.length>253||o.length===0)&&(i.error=!0);for(var p=0;p<a.length;++p)if(a.length>63||a.length===0){i.error=!0;break}}return i.error?null:a.join(".")};T1.toUnicode=function(e,t){var r=Dp(e,t,ws.NONTRANSITIONAL);return{domain:r.string,error:r.error}};T1.PROCESSING_OPTIONS=ws;(function(e){const t=Mw,r=T1,n={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},i=Symbol("failure");function a(M){return t.ucs2.decode(M).length}function o(M,O){const z=M[O];return isNaN(z)?void 0:String.fromCodePoint(z)}function p(M){return M>=48&&M<=57}function u(M){return M>=65&&M<=90||M>=97&&M<=122}function y(M){return u(M)||p(M)}function s(M){return p(M)||M>=65&&M<=70||M>=97&&M<=102}function m(M){return M==="."||M.toLowerCase()==="%2e"}function g(M){return M=M.toLowerCase(),M===".."||M==="%2e."||M===".%2e"||M==="%2e%2e"}function S(M,O){return u(M)&&(O===58||O===124)}function v(M){return M.length===2&&u(M.codePointAt(0))&&(M[1]===":"||M[1]==="|")}function h(M){return M.length===2&&u(M.codePointAt(0))&&M[1]===":"}function _(M){return M.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function d(M){return M.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function l(M){return n[M]!==void 0}function c(M){return l(M.scheme)}function f(M){return n[M]}function E(M){let O=M.toString(16).toUpperCase();return O.length===1&&(O="0"+O),"%"+O}function w(M){const O=new Buffer(M);let z="";for(let J=0;J<O.length;++J)z+=E(O[J]);return z}function I(M){const O=new Buffer(M),z=[];for(let J=0;J<O.length;++J)O[J]!==37?z.push(O[J]):O[J]===37&&s(O[J+1])&&s(O[J+2])?(z.push(parseInt(O.slice(J+1,J+3).toString(),16)),J+=2):z.push(O[J]);return new Buffer(z).toString()}function D(M){return M<=31||M>126}const A=new Set([32,34,35,60,62,63,96,123,125]);function L(M){return D(M)||A.has(M)}const F=new Set([47,58,59,61,64,91,92,93,94,124]);function x(M){return L(M)||F.has(M)}function H(M,O){const z=String.fromCodePoint(M);return O(M)?w(z):z}function K(M){let O=10;return M.length>=2&&M.charAt(0)==="0"&&M.charAt(1).toLowerCase()==="x"?(M=M.substring(2),O=16):M.length>=2&&M.charAt(0)==="0"&&(M=M.substring(1),O=8),M===""?0:(O===10?/[^0-9]/:O===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(M)?i:parseInt(M,O)}function W(M){const O=M.split(".");if(O[O.length-1]===""&&O.length>1&&O.pop(),O.length>4)return M;const z=[];for(const le of O){if(le==="")return M;const de=K(le);if(de===i)return M;z.push(de)}for(let le=0;le<z.length-1;++le)if(z[le]>255)return i;if(z[z.length-1]>=Math.pow(256,5-z.length))return i;let J=z.pop(),re=0;for(const le of z)J+=le*Math.pow(256,3-re),++re;return J}function X(M){let O="",z=M;for(let J=1;J<=4;++J)O=String(z%256)+O,J!==4&&(O="."+O),z=Math.floor(z/256);return O}function G(M){const O=[0,0,0,0,0,0,0,0];let z=0,J=null,re=0;if(M=t.ucs2.decode(M),M[re]===58){if(M[re+1]!==58)return i;re+=2,++z,J=z}for(;re<M.length;){if(z===8)return i;if(M[re]===58){if(J!==null)return i;++re,++z,J=z;continue}let le=0,de=0;for(;de<4&&s(M[re]);)le=le*16+parseInt(o(M,re),16),++re,++de;if(M[re]===46){if(de===0||(re-=de,z>6))return i;let ue=0;for(;M[re]!==void 0;){let pe=null;if(ue>0)if(M[re]===46&&ue<4)++re;else return i;if(!p(M[re]))return i;for(;p(M[re]);){const ve=parseInt(o(M,re));if(pe===null)pe=ve;else{if(pe===0)return i;pe=pe*10+ve}if(pe>255)return i;++re}O[z]=O[z]*256+pe,++ue,(ue===2||ue===4)&&++z}if(ue!==4)return i;break}else if(M[re]===58){if(++re,M[re]===void 0)return i}else if(M[re]!==void 0)return i;O[z]=le,++z}if(J!==null){let le=z-J;for(z=7;z!==0&&le>0;){const de=O[J+le-1];O[J+le-1]=O[z],O[z]=de,--z,--le}}else if(J===null&&z!==8)return i;return O}function j(M){let O="";const J=k(M).idx;let re=!1;for(let le=0;le<=7;++le)if(!(re&&M[le]===0)){if(re&&(re=!1),J===le){O+=le===0?"::":":",re=!0;continue}O+=M[le].toString(16),le!==7&&(O+=":")}return O}function Y(M,O){if(M[0]==="[")return M[M.length-1]!=="]"?i:G(M.substring(1,M.length-1));if(!O)return R(M);const z=I(M),J=r.toASCII(z,!1,r.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(J===null||_(J))return i;const re=W(J);return typeof re=="number"||re===i?re:J}function R(M){if(d(M))return i;let O="";const z=t.ucs2.decode(M);for(let J=0;J<z.length;++J)O+=H(z[J],D);return O}function k(M){let O=null,z=1,J=null,re=0;for(let le=0;le<M.length;++le)M[le]!==0?(re>z&&(O=J,z=re),J=null,re=0):(J===null&&(J=le),++re);return re>z&&(O=J,z=re),{idx:O,len:z}}function B(M){return typeof M=="number"?X(M):M instanceof Array?"["+j(M)+"]":M}function $(M){return M.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function C(M){return M.replace(/\u0009|\u000A|\u000D/g,"")}function N(M){const O=M.path;O.length!==0&&(M.scheme==="file"&&O.length===1&&ne(O[0])||O.pop())}function T(M){return M.username!==""||M.password!==""}function ee(M){return M.host===null||M.host===""||M.cannotBeABaseURL||M.scheme==="file"}function ne(M){return/^[A-Za-z]:$/.test(M)}function se(M,O,z,J,re){if(this.pointer=0,this.input=M,this.base=O||null,this.encodingOverride=z||"utf-8",this.stateOverride=re,this.url=J,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};const de=$(this.input);de!==this.input&&(this.parseError=!0),this.input=de}const le=C(this.input);for(le!==this.input&&(this.parseError=!0),this.input=le,this.state=re||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=t.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){const de=this.input[this.pointer],ue=isNaN(de)?void 0:String.fromCodePoint(de),pe=this["parse "+this.state](de,ue);if(pe){if(pe===i){this.failure=!0;break}}else break}}se.prototype["parse scheme start"]=function(O,z){if(u(O))this.buffer+=z.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,i;return!0},se.prototype["parse scheme"]=function(O,z){if(y(O)||O===43||O===45||O===46)this.buffer+=z.toLowerCase();else if(O===58){if(this.stateOverride&&(c(this.url)&&!l(this.buffer)||!c(this.url)&&l(this.buffer)||(T(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):c(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":c(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,i;return!0},se.prototype["parse no scheme"]=function(O){return this.base===null||this.base.cannotBeABaseURL&&O!==35?i:(this.base.cannotBeABaseURL&&O===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)},se.prototype["parse special relative or authority"]=function(O){return O===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0},se.prototype["parse path or authority"]=function(O){return O===47?this.state="authority":(this.state="path",--this.pointer),!0},se.prototype["parse relative"]=function(O){return this.url.scheme=this.base.scheme,isNaN(O)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):O===47?this.state="relative slash":O===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):O===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):c(this.url)&&O===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0},se.prototype["parse relative slash"]=function(O){return c(this.url)&&(O===47||O===92)?(O===92&&(this.parseError=!0),this.state="special authority ignore slashes"):O===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0},se.prototype["parse special authority slashes"]=function(O){return O===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0},se.prototype["parse special authority ignore slashes"]=function(O){return O!==47&&O!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0},se.prototype["parse authority"]=function(O,z){if(O===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;const J=a(this.buffer);for(let re=0;re<J;++re){const le=this.buffer.codePointAt(re);if(le===58&&!this.passwordTokenSeenFlag){this.passwordTokenSeenFlag=!0;continue}const de=H(le,x);this.passwordTokenSeenFlag?this.url.password+=de:this.url.username+=de}this.buffer=""}else if(isNaN(O)||O===47||O===63||O===35||c(this.url)&&O===92){if(this.atFlag&&this.buffer==="")return this.parseError=!0,i;this.pointer-=a(this.buffer)+1,this.buffer="",this.state="host"}else this.buffer+=z;return!0},se.prototype["parse hostname"]=se.prototype["parse host"]=function(O,z){if(this.stateOverride&&this.url.scheme==="file")--this.pointer,this.state="file host";else if(O===58&&!this.arrFlag){if(this.buffer==="")return this.parseError=!0,i;const J=Y(this.buffer,c(this.url));if(J===i)return i;if(this.url.host=J,this.buffer="",this.state="port",this.stateOverride==="hostname")return!1}else if(isNaN(O)||O===47||O===63||O===35||c(this.url)&&O===92){if(--this.pointer,c(this.url)&&this.buffer==="")return this.parseError=!0,i;if(this.stateOverride&&this.buffer===""&&(T(this.url)||this.url.port!==null))return this.parseError=!0,!1;const J=Y(this.buffer,c(this.url));if(J===i)return i;if(this.url.host=J,this.buffer="",this.state="path start",this.stateOverride)return!1}else O===91?this.arrFlag=!0:O===93&&(this.arrFlag=!1),this.buffer+=z;return!0},se.prototype["parse port"]=function(O,z){if(p(O))this.buffer+=z;else if(isNaN(O)||O===47||O===63||O===35||c(this.url)&&O===92||this.stateOverride){if(this.buffer!==""){const J=parseInt(this.buffer);if(J>Math.pow(2,16)-1)return this.parseError=!0,i;this.url.port=J===f(this.url.scheme)?null:J,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,i;return!0};const me=new Set([47,92,63,35]);se.prototype["parse file"]=function(O){return this.url.scheme="file",O===47||O===92?(O===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(O)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):O===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):O===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!S(O,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!me.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),N(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0},se.prototype["parse file slash"]=function(O){return O===47||O===92?(O===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(h(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0},se.prototype["parse file host"]=function(O,z){if(isNaN(O)||O===47||O===92||O===63||O===35)if(--this.pointer,!this.stateOverride&&v(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let J=Y(this.buffer,c(this.url));if(J===i)return i;if(J==="localhost"&&(J=""),this.url.host=J,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=z;return!0},se.prototype["parse path start"]=function(O){return c(this.url)?(O===92&&(this.parseError=!0),this.state="path",O!==47&&O!==92&&--this.pointer):!this.stateOverride&&O===63?(this.url.query="",this.state="query"):!this.stateOverride&&O===35?(this.url.fragment="",this.state="fragment"):O!==void 0&&(this.state="path",O!==47&&--this.pointer),!0},se.prototype["parse path"]=function(O){if(isNaN(O)||O===47||c(this.url)&&O===92||!this.stateOverride&&(O===63||O===35)){if(c(this.url)&&O===92&&(this.parseError=!0),g(this.buffer)?(N(this.url),O!==47&&!(c(this.url)&&O===92)&&this.url.path.push("")):m(this.buffer)&&O!==47&&!(c(this.url)&&O===92)?this.url.path.push(""):m(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&v(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(O===void 0||O===63||O===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();O===63&&(this.url.query="",this.state="query"),O===35&&(this.url.fragment="",this.state="fragment")}else O===37&&(!s(this.input[this.pointer+1])||!s(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=H(O,L);return!0},se.prototype["parse cannot-be-a-base-URL path"]=function(O){return O===63?(this.url.query="",this.state="query"):O===35?(this.url.fragment="",this.state="fragment"):(!isNaN(O)&&O!==37&&(this.parseError=!0),O===37&&(!s(this.input[this.pointer+1])||!s(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(O)||(this.url.path[0]=this.url.path[0]+H(O,D))),!0},se.prototype["parse query"]=function(O,z){if(isNaN(O)||!this.stateOverride&&O===35){(!c(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");const J=new Buffer(this.buffer);for(let re=0;re<J.length;++re)J[re]<33||J[re]>126||J[re]===34||J[re]===35||J[re]===60||J[re]===62?this.url.query+=E(J[re]):this.url.query+=String.fromCodePoint(J[re]);this.buffer="",O===35&&(this.url.fragment="",this.state="fragment")}else O===37&&(!s(this.input[this.pointer+1])||!s(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=z;return!0},se.prototype["parse fragment"]=function(O){return isNaN(O)||(O===0?this.parseError=!0:(O===37&&(!s(this.input[this.pointer+1])||!s(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=H(O,D))),!0};function q(M,O){let z=M.scheme+":";if(M.host!==null?(z+="//",(M.username!==""||M.password!=="")&&(z+=M.username,M.password!==""&&(z+=":"+M.password),z+="@"),z+=B(M.host),M.port!==null&&(z+=":"+M.port)):M.host===null&&M.scheme==="file"&&(z+="//"),M.cannotBeABaseURL)z+=M.path[0];else for(const J of M.path)z+="/"+J;return M.query!==null&&(z+="?"+M.query),!O&&M.fragment!==null&&(z+="#"+M.fragment),z}function oe(M){let O=M.scheme+"://";return O+=B(M.host),M.port!==null&&(O+=":"+M.port),O}e.exports.serializeURL=q,e.exports.serializeURLOrigin=function(M){switch(M.scheme){case"blob":try{return e.exports.serializeURLOrigin(e.exports.parseURL(M.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return oe({scheme:M.scheme,host:M.host,port:M.port});case"file":return"file://";default:return"null"}},e.exports.basicURLParse=function(M,O){O===void 0&&(O={});const z=new se(M,O.baseURL,O.encodingOverride,O.url,O.stateOverride);return z.failure?"failure":z.url},e.exports.setTheUsername=function(M,O){M.username="";const z=t.ucs2.decode(O);for(let J=0;J<z.length;++J)M.username+=H(z[J],x)},e.exports.setThePassword=function(M,O){M.password="";const z=t.ucs2.decode(O);for(let J=0;J<z.length;++J)M.password+=H(z[J],x)},e.exports.serializeHost=B,e.exports.cannotHaveAUsernamePasswordPort=ee,e.exports.serializeInteger=function(M){return String(M)},e.exports.parseURL=function(M,O){return O===void 0&&(O={}),e.exports.basicURLParse(M,{baseURL:O.baseURL,encodingOverride:O.encodingOverride})}})(JK);const bt=Rn;bw.implementation=class{constructor(t){const r=t[0],n=t[1];let i=null;if(n!==void 0&&(i=bt.basicURLParse(n),i==="failure"))throw new TypeError("Invalid base URL");const a=bt.basicURLParse(r,{baseURL:i});if(a==="failure")throw new TypeError("Invalid URL");this._url=a}get href(){return bt.serializeURL(this._url)}set href(t){const r=bt.basicURLParse(t);if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get origin(){return bt.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(t){bt.basicURLParse(t+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(t){bt.cannotHaveAUsernamePasswordPort(this._url)||bt.setTheUsername(this._url,t)}get password(){return this._url.password}set password(t){bt.cannotHaveAUsernamePasswordPort(this._url)||bt.setThePassword(this._url,t)}get host(){const t=this._url;return t.host===null?"":t.port===null?bt.serializeHost(t.host):bt.serializeHost(t.host)+":"+bt.serializeInteger(t.port)}set host(t){this._url.cannotBeABaseURL||bt.basicURLParse(t,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":bt.serializeHost(this._url.host)}set hostname(t){this._url.cannotBeABaseURL||bt.basicURLParse(t,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":bt.serializeInteger(this._url.port)}set port(t){bt.cannotHaveAUsernamePasswordPort(this._url)||(t===""?this._url.port=null:bt.basicURLParse(t,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(t){this._url.cannotBeABaseURL||(this._url.path=[],bt.basicURLParse(t,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(t){const r=this._url;if(t===""){r.query=null;return}const n=t[0]==="?"?t.substring(1):t;r.query="",bt.basicURLParse(n,{url:r,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(t){if(t===""){this._url.fragment=null;return}const r=t[0]==="#"?t.substring(1):t;this._url.fragment="",bt.basicURLParse(r,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}};(function(e){const t=zK,r=Xv,n=bw,i=r.implSymbol;function a(o){if(!this||this[i]||!(this instanceof a))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");const p=[];for(let u=0;u<arguments.length&&u<2;++u)p[u]=arguments[u];p[0]=t.USVString(p[0]),p[1]!==void 0&&(p[1]=t.USVString(p[1])),e.exports.setup(this,p)}a.prototype.toJSON=function(){if(!this||!e.exports.is(this))throw new TypeError("Illegal invocation");const p=[];for(let u=0;u<arguments.length&&u<0;++u)p[u]=arguments[u];return this[i].toJSON.apply(this[i],p)},Object.defineProperty(a.prototype,"href",{get(){return this[i].href},set(o){o=t.USVString(o),this[i].href=o},enumerable:!0,configurable:!0}),a.prototype.toString=function(){if(!this||!e.exports.is(this))throw new TypeError("Illegal invocation");return this.href},Object.defineProperty(a.prototype,"origin",{get(){return this[i].origin},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"protocol",{get(){return this[i].protocol},set(o){o=t.USVString(o),this[i].protocol=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"username",{get(){return this[i].username},set(o){o=t.USVString(o),this[i].username=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"password",{get(){return this[i].password},set(o){o=t.USVString(o),this[i].password=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"host",{get(){return this[i].host},set(o){o=t.USVString(o),this[i].host=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"hostname",{get(){return this[i].hostname},set(o){o=t.USVString(o),this[i].hostname=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"port",{get(){return this[i].port},set(o){o=t.USVString(o),this[i].port=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"pathname",{get(){return this[i].pathname},set(o){o=t.USVString(o),this[i].pathname=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"search",{get(){return this[i].search},set(o){o=t.USVString(o),this[i].search=o},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"hash",{get(){return this[i].hash},set(o){o=t.USVString(o),this[i].hash=o},enumerable:!0,configurable:!0}),e.exports={is(o){return!!o&&o[i]instanceof n.implementation},create(o,p){let u=Object.create(a.prototype);return this.setup(u,o,p),u},setup(o,p,u){u||(u={}),u.wrapper=o,o[i]=new n.implementation(p,u),o[i][r.wrapperSymbol]=o},interface:a,expose:{Window:{URL:a},Worker:{URL:a}}}})(GK);Dn.URL=Jv.interface;Dn.serializeURL=Rn.serializeURL;Dn.serializeURLOrigin=Rn.serializeURLOrigin;Dn.basicURLParse=Rn.basicURLParse;Dn.setTheUsername=Rn.setTheUsername;Dn.setThePassword=Rn.setThePassword;Dn.serializeHost=Rn.serializeHost;Dn.serializeInteger=Rn.serializeInteger;Dn.parseURL=Rn.parseURL;const fV=st.Readable,ii=Symbol("buffer"),Uh=Symbol("type");class As{constructor(){this[Uh]="";const t=arguments[0],r=arguments[1],n=[];let i=0;if(t){const o=t,p=Number(o.length);for(let u=0;u<p;u++){const y=o[u];let s;y instanceof Buffer?s=y:ArrayBuffer.isView(y)?s=Buffer.from(y.buffer,y.byteOffset,y.byteLength):y instanceof ArrayBuffer?s=Buffer.from(y):y instanceof As?s=y[ii]:s=Buffer.from(typeof y=="string"?y:String(y)),i+=s.length,n.push(s)}}this[ii]=Buffer.concat(n);let a=r&&r.type!==void 0&&String(r.type).toLowerCase();a&&!/[^\u0020-\u007E]/.test(a)&&(this[Uh]=a)}get size(){return this[ii].length}get type(){return this[Uh]}text(){return Promise.resolve(this[ii].toString())}arrayBuffer(){const t=this[ii],r=t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength);return Promise.resolve(r)}stream(){const t=new fV;return t._read=function(){},t.push(this[ii]),t.push(null),t}toString(){return"[object Blob]"}slice(){const t=this.size,r=arguments[0],n=arguments[1];let i,a;r===void 0?i=0:r<0?i=Math.max(t+r,0):i=Math.min(r,t),n===void 0?a=t:n<0?a=Math.max(t+n,0):a=Math.min(n,t);const o=Math.max(a-i,0),u=this[ii].slice(i,i+o),y=new As([],{type:arguments[2]});return y[ii]=u,y}}Object.defineProperties(As.prototype,{size:{enumerable:!0},type:{enumerable:!0},slice:{enumerable:!0}});Object.defineProperty(As.prototype,Symbol.toStringTag,{value:"Blob",writable:!1,enumerable:!1,configurable:!0});function Ht(e,t,r){Error.call(this,e),this.message=e,this.type=t,r&&(this.code=this.errno=r.code),Error.captureStackTrace(this,this.constructor)}Ht.prototype=Object.create(Error.prototype);Ht.prototype.constructor=Ht;Ht.prototype.name="FetchError";let Zv;try{Zv=require("encoding").convert}catch{}const pi=Symbol("Body internals"),o8=st.PassThrough;function Bt(e){var t=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=r.size;let i=n===void 0?0:n;var a=r.timeout;let o=a===void 0?0:a;e==null?e=null:Uw(e)?e=Buffer.from(e.toString()):Iu(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof st||(e=Buffer.from(String(e)))),this[pi]={body:e,disturbed:!1,error:null},this.size=i,this.timeout=o,e instanceof st&&e.on("error",function(p){const u=p.name==="AbortError"?p:new Ht(`Invalid response body while trying to fetch ${t.url}: ${p.message}`,"system",p);t[pi].error=u})}Bt.prototype={get body(){return this[pi].body},get bodyUsed(){return this[pi].disturbed},arrayBuffer(){return Ho.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return Ho.call(this).then(function(t){return Object.assign(new As([],{type:e.toLowerCase()}),{[ii]:t})})},json(){var e=this;return Ho.call(this).then(function(t){try{return JSON.parse(t.toString())}catch(r){return Bt.Promise.reject(new Ht(`invalid json response body at ${e.url} reason: ${r.message}`,"invalid-json"))}})},text(){return Ho.call(this).then(function(e){return e.toString()})},buffer(){return Ho.call(this)},textConverted(){var e=this;return Ho.call(this).then(function(t){return hV(t,e.headers)})}};Object.defineProperties(Bt.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});Bt.mixIn=function(e){for(const t of Object.getOwnPropertyNames(Bt.prototype))if(!(t in e)){const r=Object.getOwnPropertyDescriptor(Bt.prototype,t);Object.defineProperty(e,t,r)}};function Ho(){var e=this;if(this[pi].disturbed)return Bt.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[pi].disturbed=!0,this[pi].error)return Bt.Promise.reject(this[pi].error);let t=this.body;if(t===null)return Bt.Promise.resolve(Buffer.alloc(0));if(Iu(t)&&(t=t.stream()),Buffer.isBuffer(t))return Bt.Promise.resolve(t);if(!(t instanceof st))return Bt.Promise.resolve(Buffer.alloc(0));let r=[],n=0,i=!1;return new Bt.Promise(function(a,o){let p;e.timeout&&(p=setTimeout(function(){i=!0,o(new Ht(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),t.on("error",function(u){u.name==="AbortError"?(i=!0,o(u)):o(new Ht(`Invalid response body while trying to fetch ${e.url}: ${u.message}`,"system",u))}),t.on("data",function(u){if(!(i||u===null)){if(e.size&&n+u.length>e.size){i=!0,o(new Ht(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}n+=u.length,r.push(u)}}),t.on("end",function(){if(!i){clearTimeout(p);try{a(Buffer.concat(r,n))}catch(u){o(new Ht(`Could not create Buffer from response body for ${e.url}: ${u.message}`,"system",u))}}})})}function hV(e,t){if(typeof Zv!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");const r=t.get("content-type");let n="utf-8",i,a;return r&&(i=/charset=([^;]*)/i.exec(r)),a=e.slice(0,1024).toString(),!i&&a&&(i=/<meta.+?charset=(['"])(.+?)\1/i.exec(a)),!i&&a&&(i=/<meta[\s]+?http-equiv=(['"])content-type\1[\s]+?content=(['"])(.+?)\2/i.exec(a),i||(i=/<meta[\s]+?content=(['"])(.+?)\1[\s]+?http-equiv=(['"])content-type\3/i.exec(a),i&&i.pop()),i&&(i=/charset=(.*)/i.exec(i.pop()))),!i&&a&&(i=/<\?xml.+?encoding=(['"])(.+?)\1/i.exec(a)),i&&(n=i.pop(),(n==="gb2312"||n==="gbk")&&(n="gb18030")),Zv(e,"UTF-8",n).toString()}function Uw(e){return typeof e!="object"||typeof e.append!="function"||typeof e.delete!="function"||typeof e.get!="function"||typeof e.getAll!="function"||typeof e.has!="function"||typeof e.set!="function"?!1:e.constructor.name==="URLSearchParams"||Object.prototype.toString.call(e)==="[object URLSearchParams]"||typeof e.sort=="function"}function Iu(e){return typeof e=="object"&&typeof e.arrayBuffer=="function"&&typeof e.type=="string"&&typeof e.stream=="function"&&typeof e.constructor=="function"&&typeof e.constructor.name=="string"&&/^(Blob|File)$/.test(e.constructor.name)&&/^(Blob|File)$/.test(e[Symbol.toStringTag])}function $w(e){let t,r,n=e.body;if(e.bodyUsed)throw new Error("cannot clone body after it is used");return n instanceof st&&typeof n.getBoundary!="function"&&(t=new o8,r=new o8,n.pipe(t),n.pipe(r),e[pi].body=t,n=r),n}function Fw(e){return e===null?null:typeof e=="string"?"text/plain;charset=UTF-8":Uw(e)?"application/x-www-form-urlencoded;charset=UTF-8":Iu(e)?e.type||null:Buffer.isBuffer(e)||Object.prototype.toString.call(e)==="[object ArrayBuffer]"||ArrayBuffer.isView(e)?null:typeof e.getBoundary=="function"?`multipart/form-data;boundary=${e.getBoundary()}`:e instanceof st?null:"text/plain;charset=UTF-8"}function Bw(e){const t=e.body;return t===null?0:Iu(t)?t.size:Buffer.isBuffer(t)?t.length:t&&typeof t.getLengthSync=="function"&&(t._lengthRetrievers&&t._lengthRetrievers.length==0||t.hasKnownLength&&t.hasKnownLength())?t.getLengthSync():null}function mV(e,t){const r=t.body;r===null?e.end():Iu(r)?r.stream().pipe(e):Buffer.isBuffer(r)?(e.write(r),e.end()):r.pipe(e)}Bt.Promise=global.Promise;const jw=/[^\^_`a-zA-Z\-0-9!#$%&'*+.|~]/,eg=/[^\t\x20-\x7e\x80-\xff]/;function Yl(e){if(e=`${e}`,jw.test(e)||e==="")throw new TypeError(`${e} is not a legal HTTP header name`)}function s8(e){if(e=`${e}`,eg.test(e))throw new TypeError(`${e} is not a legal HTTP header value`)}function Qo(e,t){t=t.toLowerCase();for(const r in e)if(r.toLowerCase()===t)return r}const Ct=Symbol("map");class rn{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[Ct]=Object.create(null),t instanceof rn){const r=t.raw(),n=Object.keys(r);for(const i of n)for(const a of r[i])this.append(i,a);return}if(t!=null)if(typeof t=="object"){const r=t[Symbol.iterator];if(r!=null){if(typeof r!="function")throw new TypeError("Header pairs must be iterable");const n=[];for(const i of t){if(typeof i!="object"||typeof i[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");n.push(Array.from(i))}for(const i of n){if(i.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(i[0],i[1])}}else for(const n of Object.keys(t)){const i=t[n];this.append(n,i)}}else throw new TypeError("Provided initializer must be an object")}get(t){t=`${t}`,Yl(t);const r=Qo(this[Ct],t);return r===void 0?null:this[Ct][r].join(", ")}forEach(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,n=tg(this),i=0;for(;i<n.length;){var a=n[i];const o=a[0],p=a[1];t.call(r,p,o,this),n=tg(this),i++}}set(t,r){t=`${t}`,r=`${r}`,Yl(t),s8(r);const n=Qo(this[Ct],t);this[Ct][n!==void 0?n:t]=[r]}append(t,r){t=`${t}`,r=`${r}`,Yl(t),s8(r);const n=Qo(this[Ct],t);n!==void 0?this[Ct][n].push(r):this[Ct][t]=[r]}has(t){return t=`${t}`,Yl(t),Qo(this[Ct],t)!==void 0}delete(t){t=`${t}`,Yl(t);const r=Qo(this[Ct],t);r!==void 0&&delete this[Ct][r]}raw(){return this[Ct]}keys(){return $h(this,"key")}values(){return $h(this,"value")}[Symbol.iterator](){return $h(this,"key+value")}}rn.prototype.entries=rn.prototype[Symbol.iterator];Object.defineProperty(rn.prototype,Symbol.toStringTag,{value:"Headers",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(rn.prototype,{get:{enumerable:!0},forEach:{enumerable:!0},set:{enumerable:!0},append:{enumerable:!0},has:{enumerable:!0},delete:{enumerable:!0},keys:{enumerable:!0},values:{enumerable:!0},entries:{enumerable:!0}});function tg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[Ct]).sort().map(t==="key"?function(n){return n.toLowerCase()}:t==="value"?function(n){return e[Ct][n].join(", ")}:function(n){return[n.toLowerCase(),e[Ct][n].join(", ")]})}const rg=Symbol("internal");function $h(e,t){const r=Object.create(n2);return r[rg]={target:e,kind:t,index:0},r}const n2=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==n2)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[rg];const t=e.target,r=e.kind,n=e.index,i=tg(t,r),a=i.length;return n>=a?{value:void 0,done:!0}:(this[rg].index=n+1,{value:i[n],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(n2,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function vV(e){const t=Object.assign({__proto__:null},e[Ct]),r=Qo(e[Ct],"Host");return r!==void 0&&(t[r]=t[r][0]),t}function gV(e){const t=new rn;for(const r of Object.keys(e))if(!jw.test(r))if(Array.isArray(e[r]))for(const n of e[r])eg.test(n)||(t[Ct][r]===void 0?t[Ct][r]=[n]:t[Ct][r].push(n));else eg.test(e[r])||(t[Ct][r]=[e[r]]);return t}const Vi=Symbol("Response internals"),yV=st.STATUS_CODES;class yn{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Bt.call(this,t,r);const n=r.status||200,i=new rn(r.headers);if(t!=null&&!i.has("Content-Type")){const a=Fw(t);a&&i.append("Content-Type",a)}this[Vi]={url:r.url,status:n,statusText:r.statusText||yV[n],headers:i,counter:r.counter}}get url(){return this[Vi].url||""}get status(){return this[Vi].status}get ok(){return this[Vi].status>=200&&this[Vi].status<300}get redirected(){return this[Vi].counter>0}get statusText(){return this[Vi].statusText}get headers(){return this[Vi].headers}clone(){return new yn($w(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}}Bt.mixIn(yn.prototype);Object.defineProperties(yn.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(yn.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});const di=Symbol("Request internals"),_V=st.URL||Dn.URL,SV=st.parse,EV=st.format;function Fh(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new _V(e).toString()),SV(e)}const wV="destroy"in st.Readable.prototype;function yc(e){return typeof e=="object"&&typeof e[di]=="object"}function bV(e){const t=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(t&&t.constructor.name==="AbortSignal")}class _a{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n;yc(t)?n=Fh(t.url):(t&&t.href?n=Fh(t.href):n=Fh(`${t}`),t={});let i=r.method||t.method||"GET";if(i=i.toUpperCase(),(r.body!=null||yc(t)&&t.body!==null)&&(i==="GET"||i==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let a=r.body!=null?r.body:yc(t)&&t.body!==null?$w(t):null;Bt.call(this,a,{timeout:r.timeout||t.timeout||0,size:r.size||t.size||0});const o=new rn(r.headers||t.headers||{});if(a!=null&&!o.has("Content-Type")){const u=Fw(a);u&&o.append("Content-Type",u)}let p=yc(t)?t.signal:null;if("signal"in r&&(p=r.signal),p!=null&&!bV(p))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[di]={method:i,redirect:r.redirect||t.redirect||"follow",headers:o,parsedURL:n,signal:p},this.follow=r.follow!==void 0?r.follow:t.follow!==void 0?t.follow:20,this.compress=r.compress!==void 0?r.compress:t.compress!==void 0?t.compress:!0,this.counter=r.counter||t.counter||0,this.agent=r.agent||t.agent}get method(){return this[di].method}get url(){return EV(this[di].parsedURL)}get headers(){return this[di].headers}get redirect(){return this[di].redirect}get signal(){return this[di].signal}clone(){return new _a(this)}}Bt.mixIn(_a.prototype);Object.defineProperty(_a.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(_a.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function TV(e){const t=e[di].parsedURL,r=new rn(e[di].headers);if(r.has("Accept")||r.set("Accept","*/*"),!t.protocol||!t.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(t.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof st.Readable&&!wV)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let n=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(n="0"),e.body!=null){const a=Bw(e);typeof a=="number"&&(n=String(a))}n&&r.set("Content-Length",n),r.has("User-Agent")||r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip,deflate");let i=e.agent;return typeof i=="function"&&(i=i(t)),!r.has("Connection")&&!i&&r.set("Connection","close"),Object.assign({},t,{method:e.method,headers:vV(r),agent:i})}function zd(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}zd.prototype=Object.create(Error.prototype);zd.prototype.constructor=zd;zd.prototype.name="AbortError";const ng=st.URL||Dn.URL,l8=st.PassThrough,RV=function(t,r){const n=new ng(r).hostname,i=new ng(t).hostname;return n===i||n[n.length-i.length-1]==="."&&n.endsWith(i)};function Ji(e,t){if(!Ji.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return Bt.Promise=Ji.Promise,new Ji.Promise(function(r,n){const i=new _a(e,t),a=TV(i),o=(a.protocol==="https:",st).request,p=i.signal;let u=null;const y=function(){let h=new zd("The user aborted a request.");n(h),i.body&&i.body instanceof st.Readable&&i.body.destroy(h),!(!u||!u.body)&&u.body.emit("error",h)};if(p&&p.aborted){y();return}const s=function(){y(),S()},m=o(a);let g;p&&p.addEventListener("abort",s);function S(){m.abort(),p&&p.removeEventListener("abort",s),clearTimeout(g)}i.timeout&&m.once("socket",function(v){g=setTimeout(function(){n(new Ht(`network timeout at: ${i.url}`,"request-timeout")),S()},i.timeout)}),m.on("error",function(v){n(new Ht(`request to ${i.url} failed, reason: ${v.message}`,"system",v)),S()}),m.on("response",function(v){clearTimeout(g);const h=gV(v.headers);if(Ji.isRedirect(v.statusCode)){const f=h.get("Location");let E=null;try{E=f===null?null:new ng(f,i.url).toString()}catch{if(i.redirect!=="manual"){n(new Ht(`uri requested responds with an invalid redirect URL: ${f}`,"invalid-redirect")),S();return}}switch(i.redirect){case"error":n(new Ht(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),S();return;case"manual":if(E!==null)try{h.set("Location",E)}catch(I){n(I)}break;case"follow":if(E===null)break;if(i.counter>=i.follow){n(new Ht(`maximum redirect reached at: ${i.url}`,"max-redirect")),S();return}const w={headers:new rn(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:i.body,signal:i.signal,timeout:i.timeout,size:i.size};if(!RV(i.url,E))for(const I of["authorization","www-authenticate","cookie","cookie2"])w.headers.delete(I);if(v.statusCode!==303&&i.body&&Bw(i)===null){n(new Ht("Cannot follow redirect with body being a readable stream","unsupported-redirect")),S();return}(v.statusCode===303||(v.statusCode===301||v.statusCode===302)&&i.method==="POST")&&(w.method="GET",w.body=void 0,w.headers.delete("content-length")),r(Ji(new _a(E,w))),S();return}}v.once("end",function(){p&&p.removeEventListener("abort",s)});let _=v.pipe(new l8);const d={url:i.url,status:v.statusCode,statusText:v.statusMessage,headers:h,size:i.size,timeout:i.timeout,counter:i.counter},l=h.get("Content-Encoding");if(!i.compress||i.method==="HEAD"||l===null||v.statusCode===204||v.statusCode===304){u=new yn(_,d),r(u);return}const c={flush:st.Z_SYNC_FLUSH,finishFlush:st.Z_SYNC_FLUSH};if(l=="gzip"||l=="x-gzip"){_=_.pipe(st.createGunzip(c)),u=new yn(_,d),r(u);return}if(l=="deflate"||l=="x-deflate"){v.pipe(new l8).once("data",function(E){(E[0]&15)===8?_=_.pipe(st.createInflate()):_=_.pipe(st.createInflateRaw()),u=new yn(_,d),r(u)});return}if(l=="br"&&typeof st.createBrotliDecompress=="function"){_=_.pipe(st.createBrotliDecompress()),u=new yn(_,d),r(u);return}u=new yn(_,d),r(u)}),mV(m,i)})}Ji.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};Ji.Promise=global.Promise;const IV=Object.freeze(Object.defineProperty({__proto__:null,FetchError:Ht,Headers:rn,Request:_a,Response:yn,default:Ji},Symbol.toStringTag,{value:"Module"})),CV=Ns(IV);var d8;function OV(){return d8||(d8=1,function(e,t){const r=CV,n=r.default||r,i=function(a,o){return/^\/\//.test(a)&&(a="https:"+a),n.call(this,a,o)};i.ponyfill=!0,e.exports=t=i,t.fetch=i,t.Headers=r.Headers,t.Request=r.Request,t.Response=r.Response,t.default=i}(HK,Ed)),Ed}(function(e,t){var r;if(typeof fetch=="function"&&(typeof $e<"u"&&$e.fetch?r=$e.fetch:typeof window<"u"&&window.fetch?r=window.fetch:r=fetch),typeof qK<"u"&&(typeof window>"u"||typeof window.document>"u")){var n=r||OV();n.default&&(n=n.default),t.default=n,e.exports=t.default}})(WK,Hd);const Kw=Hd,u8=y8({__proto__:null,default:Kw},[Hd]);function Mp(e){return Mp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mp(e)}var hi;typeof fetch=="function"&&(typeof global<"u"&&global.fetch?hi=global.fetch:typeof window<"u"&&window.fetch?hi=window.fetch:hi=fetch);var Yd;ww()&&(typeof global<"u"&&global.XMLHttpRequest?Yd=global.XMLHttpRequest:typeof window<"u"&&window.XMLHttpRequest&&(Yd=window.XMLHttpRequest));var Ap;typeof ActiveXObject=="function"&&(typeof global<"u"&&global.ActiveXObject?Ap=global.ActiveXObject:typeof window<"u"&&window.ActiveXObject&&(Ap=window.ActiveXObject));!hi&&u8&&!Yd&&!Ap&&(hi=Kw||u8);typeof hi!="function"&&(hi=void 0);var ig=function(t,r){if(r&&Mp(r)==="object"){var n="";for(var i in r)n+="&"+encodeURIComponent(i)+"="+encodeURIComponent(r[i]);if(!n)return t;t=t+(t.indexOf("?")!==-1?"&":"?")+n.slice(1)}return t},c8=function(t,r,n){hi(t,r).then(function(i){if(!i.ok)return n(i.statusText||"Error",{status:i.status});i.text().then(function(a){n(null,{status:i.status,data:a})}).catch(n)}).catch(n)},p8=!1,PV=function(t,r,n,i){t.queryStringParams&&(r=ig(r,t.queryStringParams));var a=Qv({},typeof t.customHeaders=="function"?t.customHeaders():t.customHeaders);n&&(a["Content-Type"]="application/json");var o=typeof t.requestOptions=="function"?t.requestOptions(n):t.requestOptions,p=Qv({method:n?"POST":"GET",body:n?t.stringify(n):void 0,headers:a},p8?{}:o);try{c8(r,p,i)}catch(u){if(!o||Object.keys(o).length===0||!u.message||u.message.indexOf("not implemented")<0)return i(u);try{Object.keys(o).forEach(function(y){delete p[y]}),c8(r,p,i),p8=!0}catch(y){i(y)}}},kV=function(t,r,n,i){n&&Mp(n)==="object"&&(n=ig("",n).slice(1)),t.queryStringParams&&(r=ig(r,t.queryStringParams));try{var a;Yd?a=new Yd:a=new Ap("MSXML2.XMLHTTP.3.0"),a.open(n?"POST":"GET",r,1),t.crossDomain||a.setRequestHeader("X-Requested-With","XMLHttpRequest"),a.withCredentials=!!t.withCredentials,n&&a.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),a.overrideMimeType&&a.overrideMimeType("application/json");var o=t.customHeaders;if(o=typeof o=="function"?o():o,o)for(var p in o)a.setRequestHeader(p,o[p]);a.onreadystatechange=function(){a.readyState>3&&i(a.status>=400?a.statusText:null,{status:a.status,data:a.responseText})},a.send(n)}catch(u){console&&console.log(u)}},DV=function(t,r,n,i){if(typeof n=="function"&&(i=n,n=void 0),i=i||function(){},hi&&r.indexOf("file:")!==0)return PV(t,r,n,i);if(ww()||typeof ActiveXObject=="function")return kV(t,r,n,i);i(new Error("No fetch and no xhr implementation found!"))};function Qd(e){return Qd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qd(e)}function MV(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function f8(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,Vw(n.key),n)}}function AV(e,t,r){return t&&f8(e.prototype,t),r&&f8(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function NV(e,t,r){return t=Vw(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Vw(e){var t=LV(e,"string");return Qd(t)==="symbol"?t:String(t)}function LV(e,t){if(Qd(e)!=="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(Qd(n)!=="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var xV=function(){return{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:function(r){return JSON.parse(r)},stringify:JSON.stringify,parsePayload:function(r,n,i){return NV({},n,i||"")},request:DV,reloadInterval:typeof window<"u"?!1:60*60*1e3,customHeaders:{},queryStringParams:{},crossDomain:!1,withCredentials:!1,overrideMimeType:!1,requestOptions:{mode:"cors",credentials:"same-origin",cache:"default"}}},UV=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};MV(this,e),this.services=t,this.options=r,this.allOptions=n,this.type="backend",this.init(t,r,n)}return AV(e,[{key:"init",value:function(r){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=r,this.options=Qv(i,this.options||{},xV()),this.allOptions=a,this.services&&this.options.reloadInterval&&setInterval(function(){return n.reload()},this.options.reloadInterval)}},{key:"readMulti",value:function(r,n,i){this._readAny(r,r,n,n,i)}},{key:"read",value:function(r,n,i){this._readAny([r],r,[n],n,i)}},{key:"_readAny",value:function(r,n,i,a,o){var p=this,u=this.options.loadPath;typeof this.options.loadPath=="function"&&(u=this.options.loadPath(r,i)),u=VK(u),u.then(function(y){if(!y)return o(null,{});var s=p.services.interpolator.interpolate(y,{lng:r.join("+"),ns:i.join("+")});p.loadUrl(s,o,n,a)})}},{key:"loadUrl",value:function(r,n,i,a){var o=this;this.options.request(this.options,r,void 0,function(p,u){if(u&&(u.status>=500&&u.status<600||!u.status))return n("failed loading "+r+"; status code: "+u.status,!0);if(u&&u.status>=400&&u.status<500)return n("failed loading "+r+"; status code: "+u.status,!1);if(!u&&p&&p.message&&p.message.indexOf("Failed to fetch")>-1)return n("failed loading "+r+": "+p.message,!0);if(p)return n(p,!1);var y,s;try{typeof u.data=="string"?y=o.options.parse(u.data,i,a):y=u.data}catch{s="failed parsing "+r+" to json"}if(s)return n(s,!1);n(null,y)})}},{key:"create",value:function(r,n,i,a,o){var p=this;if(this.options.addPath){typeof r=="string"&&(r=[r]);var u=this.options.parsePayload(n,i,a),y=0,s=[],m=[];r.forEach(function(g){var S=p.options.addPath;typeof p.options.addPath=="function"&&(S=p.options.addPath(g,n));var v=p.services.interpolator.interpolate(S,{lng:g,ns:n});p.options.request(p.options,v,u,function(h,_){y+=1,s.push(h),m.push(_),y===r.length&&typeof o=="function"&&o(s,m)})})}}},{key:"reload",value:function(){var r=this,n=this.services,i=n.backendConnector,a=n.languageUtils,o=n.logger,p=i.language;if(!(p&&p.toLowerCase()==="cimode")){var u=[],y=function(m){var g=a.toResolveHierarchy(m);g.forEach(function(S){u.indexOf(S)<0&&u.push(S)})};y(p),this.allOptions.preload&&this.allOptions.preload.forEach(function(s){return y(s)}),u.forEach(function(s){r.allOptions.ns.forEach(function(m){i.read(s,m,"read",null,null,function(g,S){g&&o.warn("loading namespace ".concat(m," for language ").concat(s," failed"),g),!g&&S&&o.log("loaded namespace ".concat(m," for language ").concat(s),S),i.loaded("".concat(s,"|").concat(m),g,S)})})})}}}]),e}();UV.type="backend";var qw=[],$V=qw.forEach,FV=qw.slice;function BV(e){return $V.call(FV.call(arguments,1),function(t){if(t)for(var r in t)e[r]===void 0&&(e[r]=t[r])}),e}var h8=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,jV=function(t,r,n){var i=n||{};i.path=i.path||"/";var a=encodeURIComponent(r),o="".concat(t,"=").concat(a);if(i.maxAge>0){var p=i.maxAge-0;if(Number.isNaN(p))throw new Error("maxAge should be a Number");o+="; Max-Age=".concat(Math.floor(p))}if(i.domain){if(!h8.test(i.domain))throw new TypeError("option domain is invalid");o+="; Domain=".concat(i.domain)}if(i.path){if(!h8.test(i.path))throw new TypeError("option path is invalid");o+="; Path=".concat(i.path)}if(i.expires){if(typeof i.expires.toUTCString!="function")throw new TypeError("option expires is invalid");o+="; Expires=".concat(i.expires.toUTCString())}if(i.httpOnly&&(o+="; HttpOnly"),i.secure&&(o+="; Secure"),i.sameSite){var u=typeof i.sameSite=="string"?i.sameSite.toLowerCase():i.sameSite;switch(u){case!0:o+="; SameSite=Strict";break;case"lax":o+="; SameSite=Lax";break;case"strict":o+="; SameSite=Strict";break;case"none":o+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return o},m8={create:function(t,r,n,i){var a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(a.expires=new Date,a.expires.setTime(a.expires.getTime()+n*60*1e3)),i&&(a.domain=i),document.cookie=jV(t,encodeURIComponent(r),a)},read:function(t){for(var r="".concat(t,"="),n=document.cookie.split(";"),i=0;i<n.length;i++){for(var a=n[i];a.charAt(0)===" ";)a=a.substring(1,a.length);if(a.indexOf(r)===0)return a.substring(r.length,a.length)}return null},remove:function(t){this.create(t,"",-1)}},KV={name:"cookie",lookup:function(t){var r;if(t.lookupCookie&&typeof document<"u"){var n=m8.read(t.lookupCookie);n&&(r=n)}return r},cacheUserLanguage:function(t,r){r.lookupCookie&&typeof document<"u"&&m8.create(r.lookupCookie,t,r.cookieMinutes,r.cookieDomain,r.cookieOptions)}},VV={name:"querystring",lookup:function(t){var r;if(typeof window<"u"){var n=window.location.search;!window.location.search&&window.location.hash&&window.location.hash.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));for(var i=n.substring(1),a=i.split("&"),o=0;o<a.length;o++){var p=a[o].indexOf("=");if(p>0){var u=a[o].substring(0,p);u===t.lookupQuerystring&&(r=a[o].substring(p+1))}}}return r}},Ql=null,v8=function(){if(Ql!==null)return Ql;try{Ql=window!=="undefined"&&window.localStorage!==null;var t="i18next.translate.boo";window.localStorage.setItem(t,"foo"),window.localStorage.removeItem(t)}catch{Ql=!1}return Ql},qV={name:"localStorage",lookup:function(t){var r;if(t.lookupLocalStorage&&v8()){var n=window.localStorage.getItem(t.lookupLocalStorage);n&&(r=n)}return r},cacheUserLanguage:function(t,r){r.lookupLocalStorage&&v8()&&window.localStorage.setItem(r.lookupLocalStorage,t)}},Jl=null,g8=function(){if(Jl!==null)return Jl;try{Jl=window!=="undefined"&&window.sessionStorage!==null;var t="i18next.translate.boo";window.sessionStorage.setItem(t,"foo"),window.sessionStorage.removeItem(t)}catch{Jl=!1}return Jl},WV={name:"sessionStorage",lookup:function(t){var r;if(t.lookupSessionStorage&&g8()){var n=window.sessionStorage.getItem(t.lookupSessionStorage);n&&(r=n)}return r},cacheUserLanguage:function(t,r){r.lookupSessionStorage&&g8()&&window.sessionStorage.setItem(r.lookupSessionStorage,t)}},HV={name:"navigator",lookup:function(t){var r=[];if(typeof navigator<"u"){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)r.push(navigator.languages[n]);navigator.userLanguage&&r.push(navigator.userLanguage),navigator.language&&r.push(navigator.language)}return r.length>0?r:void 0}},GV={name:"htmlTag",lookup:function(t){var r,n=t.htmlTag||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(r=n.getAttribute("lang")),r}},zV={name:"path",lookup:function(t){var r;if(typeof window<"u"){var n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);if(n instanceof Array)if(typeof t.lookupFromPathIndex=="number"){if(typeof n[t.lookupFromPathIndex]!="string")return;r=n[t.lookupFromPathIndex].replace("/","")}else r=n[0].replace("/","")}return r}},YV={name:"subdomain",lookup:function(t){var r=typeof t.lookupFromSubdomainIndex=="number"?t.lookupFromSubdomainIndex+1:1,n=typeof window<"u"&&window.location&&window.location.hostname&&window.location.hostname.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[r]}};function QV(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"]}}var JV=function(){function e(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};nn(this,e),this.type="languageDetector",this.detectors={},this.init(t,r)}return an(e,[{key:"init",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=r,this.options=BV(n,this.options||{},QV()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=i,this.addDetector(KV),this.addDetector(VV),this.addDetector(qV),this.addDetector(WV),this.addDetector(HV),this.addDetector(GV),this.addDetector(zV),this.addDetector(YV)}},{key:"addDetector",value:function(r){this.detectors[r.name]=r}},{key:"detect",value:function(r){var n=this;r||(r=this.options.order);var i=[];return r.forEach(function(a){if(n.detectors[a]){var o=n.detectors[a].lookup(n.options);o&&typeof o=="string"&&(o=[o]),o&&(i=i.concat(o))}}),this.services.languageUtils.getBestMatchFromCodes?i:i.length>0?i[0]:null}},{key:"cacheUserLanguage",value:function(r,n){var i=this;n||(n=this.options.caches),n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(r)>-1||n.forEach(function(a){i.detectors[a]&&i.detectors[a].cacheUserLanguage(r,i.options)}))}}]),e}();JV.type="languageDetector";export{iq as B,tq as L,wq as M,Rq as O,aq as P,ZV as R,QL as a,fB as b,gI as c,Tq as d,UV as e,JV as f,rq as g,s2 as h,gr as i,bs as j,db as k,uu as l,eq as m,sI as n,bq as o,XV as p,Oe as r,nq as u}; diff --git a/pr-281/fonts/Inter-Black.woff2 b/pr-281/fonts/Inter-Black.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-Bold.woff2 b/pr-281/fonts/Inter-Bold.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-ExtraBold.woff2 b/pr-281/fonts/Inter-ExtraBold.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-ExtraLight.woff2 b/pr-281/fonts/Inter-ExtraLight.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-Light.woff2 b/pr-281/fonts/Inter-Light.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-Medium.woff2 b/pr-281/fonts/Inter-Medium.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-Regular.woff2 b/pr-281/fonts/Inter-Regular.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-SemiBold.woff2 b/pr-281/fonts/Inter-SemiBold.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-Thin.woff2 b/pr-281/fonts/Inter-Thin.woff2 Binary files differ. diff --git a/pr-281/fonts/Inter-VariableFont_slnt,wght.woff2 b/pr-281/fonts/Inter-VariableFont_slnt,wght.woff2 Binary files differ. diff --git a/pr-281/index.html b/pr-281/index.html @@ -0,0 +1,26 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset="UTF-8" /> + <link rel="icon" type="image/svg+xml" href="/Logo_colored.svg" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="description" content="Matrix-Art is an image gallery for Matrix."> + <title>Matrix Art</title> + <script> + global = globalThis // fix for "global not defined" error + globalThis.OLM_OPTIONS = undefined; // Fix missing var for olm + </script> + <link rel="preconnect" href="https://matrix.art.midnightthoughts.space"> + <script type="module" crossorigin src="/pr-281/assets/index-36005f12.js"></script> + <link rel="modulepreload" crossorigin href="/pr-281/assets/vendor-10daaadc.js"> + <link rel="stylesheet" href="/pr-281/assets/index-609d90bd.css"> +</head> + +<body> + <noscript>You need to enable JavaScript to run this app.</noscript> + <div id="app"></div> + +</body> + +</html> +\ No newline at end of file diff --git a/pr-281/locales/de/translation.json b/pr-281/locales/de/translation.json @@ -0,0 +1 @@ +{} diff --git a/pr-281/locales/en/translation.json b/pr-281/locales/en/translation.json @@ -0,0 +1,13 @@ +{ + "Loading...": "Loading...", + "Login": "Login", + "Register": "Register", + "Search": "Search", + "Join": "Join", + "Post": "Post", + "Homeserver": "Homeserver", + "Username": "Username", + "Password": "Password", + "Create account": "Create account", + "Explore": "Explore" +} +\ No newline at end of file diff --git a/pr-281/tick.svg b/pr-281/tick.svg @@ -0,0 +1,4 @@ +<svg viewBox="0 0 16 16" fill="white" xmlns="http://www.w3.org/2000/svg"> + <path + d="M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z" /> +</svg> +\ No newline at end of file