From 019ebfa79294ef4392a9666f8506529136d6db2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tadas=20Tamo=C5=A1auskas?= <218239+tadast@users.noreply.github.com> Date: Mon, 21 Oct 2024 18:01:50 +0100 Subject: [PATCH] Fix modal edge cases (#813) the HTML dialog element allows closing the modal by hitting ESC key on the keyboard. Doing that was not removing the 'overflow-hidden' class from document body, keeping the entire page "stuck" and not scrolling. Also fix sequence viewer modal with a lot of conent by adding scroll and max height --- public/css/app.css | 8 +- public/css/app.min.css | 2 +- public/js/cloud_share_modal.js | 2 - public/js/error_modal.js | 10 +- public/js/options.js | 1 - public/js/search.js | 5 +- public/js/sequence.js | 11 +- public/js/sequence_modal.js | 4 +- public/sequenceserver-report.min.js | 102362 ++++++++++++++++++++- public/sequenceserver-report.min.js.map | 2 +- public/sequenceserver-search.min.js | 100049 +++++++++++++++++++- public/sequenceserver-search.min.js.map | 2 +- 12 files changed, 202426 insertions(+), 32 deletions(-) diff --git a/public/css/app.css b/public/css/app.css index 7686d999..b855f401 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -2,6 +2,10 @@ @tailwind components; @tailwind utilities; +/* Stop the body scrolling while a modal is open */ +body:has(dialog[open]) { + overflow: hidden; +} @layer base { html { @@ -52,7 +56,7 @@ sup { /* Pre tag */ pre.indL, pre.seqF { - @apply flex bg-[#f5f5f5] p-2.5 my-2.5 break-all break-words border border-[#ccc] text-[11px] text-[#333] md:text-[13px]; + @apply bg-[#f5f5f5] p-2.5 my-2.5 break-all break-words border border-[#ccc] text-[11px] text-[#333] md:text-[13px]; } pre.seqF { @@ -71,7 +75,7 @@ pre.indL { @apply cursor-not-allowed pointer-events-none text-gray-400; } -li:hover .download-fasta-of-selected:not(.disabled), +li:hover .download-fasta-of-selected:not(.disabled), li:hover .download-alignment-of-selected:not(.disabled) { @apply bg-gray-200 text-seqorange; } diff --git a/public/css/app.min.css b/public/css/app.min.css index ca01bfa0..12386953 100644 --- a/public/css/app.min.css +++ b/public/css/app.min.css @@ -1 +1 @@ -/*! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;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-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}html{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif}*,:after,:before{--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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:rgba(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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:rgba(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.bottom-11{bottom:2.75rem}.bottom-12{bottom:3rem}.bottom-20{bottom:5rem}.bottom-3{bottom:.75rem}.end-1{inset-inline-end:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-full{left:100%}.right-2{right:.5rem}.start-1{inset-inline-start:.25rem}.top-0{top:0}.top-2{top:.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-start-1{grid-column-start:1}.col-end-7{grid-column-end:7}.float-right{float:right}.m-0{margin:0}.m-1{margin:.25rem}.m-auto{margin:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-1{margin-left:-.25rem}.-ml-8{margin-left:-2rem}.-mr-px{margin-right:-1px}.-mt-1{margin-top:-.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-8{max-height:2rem}.max-h-96{max-height:24rem}.min-h-52{min-height:13rem}.w-0{width:0}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3{width:.75rem}.w-4{width:1rem}.w-48{width:12rem}.w-6{width:1.5rem}.w-auto{width:auto}.w-full{width:100%}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-screen-xl{max-width:1280px}.flex-none{flex:none}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-keep{word-break:keep-all}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-y-8{border-top-width:8px;border-bottom-width:8px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r-8{border-right-width:8px}.border-t{border-top-width:1px}.border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}.border-seqblue{--tw-border-opacity:1;border-color:rgb(27 85 122/var(--tw-border-opacity))}.border-seqorange{--tw-border-opacity:1;border-color:rgb(199 79 19/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-b-transparent{border-bottom-color:transparent}.border-r-black{--tw-border-opacity:1;border-right-color:rgb(0 0 0/var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-seqblue{--tw-bg-opacity:1;background-color:rgb(27 85 122/var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-white\/90{--tw-gradient-from:hsla(0,0%,100%,.9) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-gray-100\/90{--tw-gradient-to:rgba(243,244,246,.9) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-px{padding-bottom:1px}.pe-1{padding-inline-end:.25rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-px{padding-left:1px}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pr-px{padding-right:1px}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.pt-px{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-4{line-height:1rem}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-seqblue{--tw-text-opacity:1;color:rgb(27 85 122/var(--tw-text-opacity))}.text-seqorange{--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 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}.outline{outline-style:solid}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--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)}.ring-inset{--tw-ring-inset:inset}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-seqorange{--tw-ring-opacity:1;--tw-ring-color:rgb(199 79 19/var(--tw-ring-opacity))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!invert{--tw-invert:invert(100%)!important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.grapher{margin:0}svg text{font-size:10px}.axis line,svg .axis path{fill:none;stroke:#000;shape-rendering:crispEdges}.grapher.circos .caption{padding:0;font-size:1rem;line-height:1.5rem}.alignment-overview.svg-container{text-align:center}.kablammo.svg-container,.length-distribution.svg-container{height:150px}svg .bar:hover{fill:#ff4500}.polygon:hover{font-weight:700}sup{position:static;vertical-align:super}pre.indL,pre.seqF{margin-top:.625rem;margin-bottom:.625rem;display:flex;overflow-wrap:break-word;word-break:break-all;border-width:1px;--tw-border-opacity:1;border-color:rgb(204 204 204/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity));padding:.625rem;font-size:11px;--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity))}@media (min-width:768px){pre.indL,pre.seqF{font-size:13px}}pre.seqF{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-left-width:0}pre.indL{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;padding-right:0}.side-nav.active{font-weight:700;--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.disabled{pointer-events:none;cursor:not-allowed;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}li:hover .download-alignment-of-selected:not(.disabled),li:hover .download-fasta-of-selected:not(.disabled){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.hit-text,.pre-text,.search-button-text,.side-tooltip-text{font-size:.7rem}.pre-item{font-size:11px;color:#333}.ui-tooltip{background-color:#000!important;border-radius:8px!important;padding:10px!important;box-shadow:none!important;border:1px solid #000!important}.ui-tooltip-content{font-size:11px;text-align:center;color:#fff}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:50%;margin-left:-32px;bottom:-16px}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;box-shadow:6px 5px 9px -9px #000;transform:rotate(45deg);background-color:#000;border:1px #000}.arrow.top:after{bottom:-20px;top:auto}.tooltip-wrap{width:300px}.tooltip-arrow-rotate{transform:rotate(270deg)}::backdrop{position:fixed;inset:0;background-color:rgb(107 114 128/var(--tw-bg-opacity));--tw-bg-opacity:0.75;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:local("Source Sans Pro"),local("SourceSansPro-Regular"),url(../fonts/Source_Sans_Pro_400.woff2) format("woff2"),url(../fonts/Source_Sans_Pro_400.woff) format("woff"),url(../fonts/Source_Sans_Pro_400.ttf) format("truetype"),url(../fonts/Source_Sans_Pro_400.svg) format("svg"),url(../fonts/Source_Sans_Pro_400.eot) format("embedded-opentype")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;src:local("Source Sans Pro Bold"),local("SourceSansPro-Bold"),url(../fonts/Source_Sans_Pro_700.woff2) format("woff2"),url(../fonts/Source_Sans_Pro_700.woff) format("woff"),url(../fonts/Source_Sans_Pro_700.ttf) format("truetype"),url(../fonts/Source_Sans_Pro_700.svg) format("svg"),url(../fonts/Source_Sans_Pro_700.eot) format("embedded-opentype")}svg .RdYlBu .q0-2{fill:#fc8d59}svg .RdYlBu .q1-2{fill:#ffffbf}svg .RdYlBu .q0-3{fill:#fc8d59}svg .RdYlBu .q1-3{fill:#ffffbf}svg .RdYlBu .q2-3{fill:#91bfdb}svg .RdYlBu .q0-4{fill:#d7191c}svg .RdYlBu .q1-4{fill:#fdae61}svg .RdYlBu .q2-4{fill:#abd9e9}svg .RdYlBu .q3-4{fill:#2c7bb6}svg .RdYlBu .q0-5{fill:#d7191c}svg .RdYlBu .q1-5{fill:#fdae61}svg .RdYlBu .q2-5{fill:#ffffbf}svg .RdYlBu .q3-5{fill:#abd9e9}svg .RdYlBu .q4-5{fill:#2c7bb6}svg .RdYlBu .q0-6{fill:#d73027}svg .RdYlBu .q1-6{fill:#fc8d59}svg .RdYlBu .q2-6{fill:#fee090}svg .RdYlBu .q3-6{fill:#e0f3f8}svg .RdYlBu .q4-6{fill:#91bfdb}svg .RdYlBu .q5-6{fill:#4575b4}svg .RdYlBu .q0-7{fill:#d73027}svg .RdYlBu .q1-7{fill:#fc8d59}svg .RdYlBu .q2-7{fill:#fee090}svg .RdYlBu .q3-7{fill:#ffffbf}svg .RdYlBu .q4-7{fill:#e0f3f8}svg .RdYlBu .q5-7{fill:#91bfdb}svg .RdYlBu .q6-7{fill:#4575b4}svg .RdYlBu .q0-8{fill:#d73027}svg .RdYlBu .q1-8{fill:#f46d43}svg .RdYlBu .q2-8{fill:#fdae61}svg .RdYlBu .q3-8{fill:#fee090}svg .RdYlBu .q4-8{fill:#e0f3f8}svg .RdYlBu .q5-8{fill:#abd9e9}svg .RdYlBu .q6-8{fill:#74add1}svg .RdYlBu .q7-8{fill:#4575b4}svg .RdYlBu .q0-9{fill:#d73027}svg .RdYlBu .q1-9{fill:#f46d43}svg .RdYlBu .q2-9{fill:#fdae61}svg .RdYlBu .q3-9{fill:#fee090}svg .RdYlBu .q4-9{fill:#ffffbf}svg .RdYlBu .q5-9{fill:#e0f3f8}svg .RdYlBu .q6-9{fill:#abd9e9}svg .RdYlBu .q7-9{fill:#74add1}svg .RdYlBu .q8-9{fill:#4575b4}svg .RdYlBu .q0-10{fill:#a50026}svg .RdYlBu .q1-10{fill:#d73027}svg .RdYlBu .q2-10{fill:#f46d43}svg .RdYlBu .q3-10{fill:#fdae61}svg .RdYlBu .q4-10{fill:#fee090}svg .RdYlBu .q5-10{fill:#e0f3f8}svg .RdYlBu .q6-10{fill:#abd9e9}svg .RdYlBu .q7-10{fill:#74add1}svg .RdYlBu .q8-10{fill:#4575b4}svg .RdYlBu .q9-10{fill:#313695}svg .RdYlBu .q0-11{fill:#a50026}svg .RdYlBu .q1-11{fill:#d73027}svg .RdYlBu .q2-11{fill:#f46d43}svg .RdYlBu .q3-11{fill:#fdae61}svg .RdYlBu .q4-11{fill:#fee090}svg .RdYlBu .q5-11{fill:#ffffbf}svg .RdYlBu .q6-11{fill:#e0f3f8}svg .RdYlBu .q7-11{fill:#abd9e9}svg .RdYlBu .q8-11{fill:#74add1}svg .RdYlBu .q9-11{fill:#4575b4}svg .RdYlBu .q10-11{fill:#313695}svg{--a:#d50000;--b:#b71c1c;--c:#c62828;--d:#d32f2f;--e:#e53935;--f:#f44336;--g:#ff1744;--h:#ef5350;--i:#ff5252;--j:#e65100;--k:#ef6c00;--l:#ffc107;--m:#fbc02d;--n:#ffd600;--o:#fdd835;--p:#ff0;--q:#ffeb3b;--r:#ffea00;--s:#ffee58;--t:#fff178;--u:#fff59d;--v:#fff9c4;--w:#81d4fa;--x:#4fc3f7;--y:#64b5f6;--z:#42a5f5;--aa:#2196f3;--ab:#3949ab;--ac:#3040af;--ad:#303f9f;--ae:#0d47a1;--af:#1a237e}svg .RdYlBu .q0-12{fill:var(--a)}svg .RdYlBu .q1-12{fill:var(--b)}svg .RdYlBu .q2-12{fill:var(--e)}svg .RdYlBu .q3-12{fill:var(--j)}svg .RdYlBu .q4-12{fill:var(--l)}svg .RdYlBu .q5-12{fill:var(--p)}svg .RdYlBu .q6-12{fill:var(--r)}svg .RdYlBu .q7-12{fill:var(--v)}svg .RdYlBu .q8-12{fill:var(--w)}svg .RdYlBu .q9-12{fill:var(--aa)}svg .RdYlBu .q10-12{fill:var(--ae)}svg .RdYlBu .q11-12{fill:var(--af)}svg .RdYlBu .q0-13{fill:var(--a)}svg .RdYlBu .q1-13{fill:var(--b)}svg .RdYlBu .q2-13{fill:var(--e)}svg .RdYlBu .q3-13{fill:var(--j)}svg .RdYlBu .q4-13{fill:var(--l)}svg .RdYlBu .q5-13{fill:var(--n)}svg .RdYlBu .q6-13{fill:var(--r)}svg .RdYlBu .q7-13{fill:var(--s)}svg .RdYlBu .q8-13{fill:var(--v)}svg .RdYlBu .q9-13{fill:var(--w)}svg .RdYlBu .q10-13{fill:var(--aa)}svg .RdYlBu .q11-13{fill:var(--ae)}svg .RdYlBu .q12-13{fill:var(--af)}svg .RdYlBu .q0-14{fill:var(--a)}svg .RdYlBu .q1-14{fill:var(--b)}svg .RdYlBu .q2-14{fill:var(--e)}svg .RdYlBu .q3-14{fill:var(--j)}svg .RdYlBu .q4-14{fill:var(--l)}svg .RdYlBu .q5-14{fill:var(--n)}svg .RdYlBu .q6-14{fill:var(--p)}svg .RdYlBu .q7-14{fill:var(--r)}svg .RdYlBu .q8-14{fill:var(--s)}svg .RdYlBu .q9-14{fill:var(--v)}svg .RdYlBu .q10-14{fill:var(--w)}svg .RdYlBu .q11-14{fill:var(--aa)}svg .RdYlBu .q12-14{fill:var(--ae)}svg .RdYlBu .q13-14{fill:var(--af)}svg .RdYlBu .q0-15{fill:var(--a)}svg .RdYlBu .q1-15{fill:var(--b)}svg .RdYlBu .q2-15{fill:var(--c)}svg .RdYlBu .q3-15{fill:var(--e)}svg .RdYlBu .q4-15{fill:var(--j)}svg .RdYlBu .q5-15{fill:var(--l)}svg .RdYlBu .q6-15{fill:var(--n)}svg .RdYlBu .q7-15{fill:var(--r)}svg .RdYlBu .q8-15{fill:var(--s)}svg .RdYlBu .q9-15{fill:var(--v)}svg .RdYlBu .q10-15{fill:var(--w)}svg .RdYlBu .q11-15{fill:var(--x)}svg .RdYlBu .q12-15{fill:var(--aa)}svg .RdYlBu .q13-15{fill:var(--ae)}svg .RdYlBu .q14-15{fill:var(--af)}svg .RdYlBu .q0-16{fill:var(--a)}svg .RdYlBu .q1-16{fill:var(--b)}svg .RdYlBu .q2-16{fill:var(--c)}svg .RdYlBu .q3-16{fill:var(--e)}svg .RdYlBu .q4-16{fill:var(--j)}svg .RdYlBu .q5-16{fill:var(--l)}svg .RdYlBu .q6-16{fill:var(--n)}svg .RdYlBu .q7-16{fill:var(--p)}svg .RdYlBu .q8-16{fill:var(--r)}svg .RdYlBu .q9-16{fill:var(--s)}svg .RdYlBu .q10-16{fill:var(--v)}svg .RdYlBu .q11-16{fill:var(--w)}svg .RdYlBu .q12-16{fill:var(--x)}svg .RdYlBu .q13-16{fill:var(--aa)}svg .RdYlBu .q14-16{fill:var(--ae)}svg .RdYlBu .q15-16{fill:var(--af)}svg .RdYlBu .q0-17{fill:var(--a)}svg .RdYlBu .q1-17{fill:var(--b)}svg .RdYlBu .q2-17{fill:var(--c)}svg .RdYlBu .q3-17{fill:var(--e)}svg .RdYlBu .q4-17{fill:var(--i)}svg .RdYlBu .q5-17{fill:var(--j)}svg .RdYlBu .q6-17{fill:var(--l)}svg .RdYlBu .q7-17{fill:var(--n)}svg .RdYlBu .q8-17{fill:var(--r)}svg .RdYlBu .q9-17{fill:var(--s)}svg .RdYlBu .q10-17{fill:var(--v)}svg .RdYlBu .q11-17{fill:var(--w)}svg .RdYlBu .q12-17{fill:var(--x)}svg .RdYlBu .q13-17{fill:var(--y)}svg .RdYlBu .q14-17{fill:var(--aa)}svg .RdYlBu .q15-17{fill:var(--ae)}svg .RdYlBu .q16-17{fill:var(--af)}svg .RdYlBu .q0-18{fill:var(--a)}svg .RdYlBu .q1-18{fill:var(--b)}svg .RdYlBu .q2-18{fill:var(--c)}svg .RdYlBu .q3-18{fill:var(--e)}svg .RdYlBu .q4-18{fill:var(--i)}svg .RdYlBu .q5-18{fill:var(--j)}svg .RdYlBu .q6-18{fill:var(--l)}svg .RdYlBu .q7-18{fill:var(--n)}svg .RdYlBu .q8-18{fill:var(--p)}svg .RdYlBu .q9-18{fill:var(--r)}svg .RdYlBu .q10-18{fill:var(--s)}svg .RdYlBu .q11-18{fill:var(--v)}svg .RdYlBu .q12-18{fill:var(--w)}svg .RdYlBu .q13-18{fill:var(--x)}svg .RdYlBu .q14-18{fill:var(--y)}svg .RdYlBu .q15-18{fill:var(--aa)}svg .RdYlBu .q16-18{fill:var(--ae)}svg .RdYlBu .q17-18{fill:var(--af)}svg .RdYlBu .q0-19{fill:var(--a)}svg .RdYlBu .q1-19{fill:var(--b)}svg .RdYlBu .q2-19{fill:var(--c)}svg .RdYlBu .q3-19{fill:var(--e)}svg .RdYlBu .q4-19{fill:var(--i)}svg .RdYlBu .q5-19{fill:var(--j)}svg .RdYlBu .q6-19{fill:var(--k)}svg .RdYlBu .q7-19{fill:var(--l)}svg .RdYlBu .q8-19{fill:var(--n)}svg .RdYlBu .q9-19{fill:var(--r)}svg .RdYlBu .q10-19{fill:var(--s)}svg .RdYlBu .q11-19{fill:var(--u)}svg .RdYlBu .q12-19{fill:var(--v)}svg .RdYlBu .q13-19{fill:var(--w)}svg .RdYlBu .q14-19{fill:var(--x)}svg .RdYlBu .q15-19{fill:var(--y)}svg .RdYlBu .q16-19{fill:var(--aa)}svg .RdYlBu .q17-19{fill:var(--ae)}svg .RdYlBu .q18-19{fill:var(--af)}svg .RdYlBu .q0-20{fill:var(--a)}svg .RdYlBu .q1-20{fill:var(--b)}svg .RdYlBu .q2-20{fill:var(--c)}svg .RdYlBu .q3-20{fill:var(--e)}svg .RdYlBu .q4-20{fill:var(--i)}svg .RdYlBu .q5-20{fill:var(--j)}svg .RdYlBu .q6-20{fill:var(--k)}svg .RdYlBu .q7-20{fill:var(--l)}svg .RdYlBu .q8-20{fill:var(--n)}svg .RdYlBu .q9-20{fill:var(--p)}svg .RdYlBu .q10-20{fill:var(--r)}svg .RdYlBu .q11-20{fill:var(--s)}svg .RdYlBu .q12-20{fill:var(--u)}svg .RdYlBu .q13-20{fill:var(--v)}svg .RdYlBu .q14-20{fill:var(--w)}svg .RdYlBu .q15-20{fill:var(--x)}svg .RdYlBu .q16-20{fill:var(--y)}svg .RdYlBu .q17-20{fill:var(--aa)}svg .RdYlBu .q18-20{fill:var(--ae)}svg .RdYlBu .q19-20{fill:var(--af)}svg .RdYlBu .q0-21{fill:var(--a)}svg .RdYlBu .q1-21{fill:var(--b)}svg .RdYlBu .q2-21{fill:var(--c)}svg .RdYlBu .q3-21{fill:var(--e)}svg .RdYlBu .q4-21{fill:var(--i)}svg .RdYlBu .q5-21{fill:var(--j)}svg .RdYlBu .q6-21{fill:var(--k)}svg .RdYlBu .q7-21{fill:var(--l)}svg .RdYlBu .q8-21{fill:var(--n)}svg .RdYlBu .q9-21{fill:var(--o)}svg .RdYlBu .q10-21{fill:var(--q)}svg .RdYlBu .q11-21{fill:var(--r)}svg .RdYlBu .q12-21{fill:var(--s)}svg .RdYlBu .q13-21{fill:var(--u)}svg .RdYlBu .q14-21{fill:var(--v)}svg .RdYlBu .q15-21{fill:var(--w)}svg .RdYlBu .q16-21{fill:var(--x)}svg .RdYlBu .q17-21{fill:var(--y)}svg .RdYlBu .q18-21{fill:var(--aa)}svg .RdYlBu .q19-21{fill:var(--ae)}svg .RdYlBu .q20-21{fill:var(--af)}svg .RdYlBu .q0-22{fill:var(--a)}svg .RdYlBu .q1-22{fill:var(--b)}svg .RdYlBu .q2-22{fill:var(--c)}svg .RdYlBu .q3-22{fill:var(--e)}svg .RdYlBu .q4-22{fill:var(--i)}svg .RdYlBu .q5-22{fill:var(--j)}svg .RdYlBu .q6-22{fill:var(--k)}svg .RdYlBu .q7-22{fill:var(--l)}svg .RdYlBu .q8-22{fill:var(--n)}svg .RdYlBu .q9-22{fill:var(--o)}svg .RdYlBu .q10-22{fill:var(--p)}svg .RdYlBu .q11-22{fill:var(--q)}svg .RdYlBu .q12-22{fill:var(--r)}svg .RdYlBu .q13-22{fill:var(--s)}svg .RdYlBu .q14-22{fill:var(--u)}svg .RdYlBu .q15-22{fill:var(--v)}svg .RdYlBu .q16-22{fill:var(--w)}svg .RdYlBu .q17-22{fill:var(--x)}svg .RdYlBu .q18-22{fill:var(--y)}svg .RdYlBu .q19-22{fill:var(--aa)}svg .RdYlBu .q20-22{fill:var(--ae)}svg .RdYlBu .q21-22{fill:var(--af)}svg .RdYlBu .q0-23{fill:var(--a)}svg .RdYlBu .q1-23{fill:var(--b)}svg .RdYlBu .q2-23{fill:var(--c)}svg .RdYlBu .q3-23{fill:var(--e)}svg .RdYlBu .q4-23{fill:var(--i)}svg .RdYlBu .q5-23{fill:var(--j)}svg .RdYlBu .q6-23{fill:var(--k)}svg .RdYlBu .q7-23{fill:var(--l)}svg .RdYlBu .q8-23{fill:var(--m)}svg .RdYlBu .q9-23{fill:var(--n)}svg .RdYlBu .q10-23{fill:var(--o)}svg .RdYlBu .q11-23{fill:var(--q)}svg .RdYlBu .q12-23{fill:var(--r)}svg .RdYlBu .q13-23{fill:var(--s)}svg .RdYlBu .q14-23{fill:var(--t)}svg .RdYlBu .q15-23{fill:var(--u)}svg .RdYlBu .q16-23{fill:var(--v)}svg .RdYlBu .q17-23{fill:var(--w)}svg .RdYlBu .q18-23{fill:var(--x)}svg .RdYlBu .q19-23{fill:var(--y)}svg .RdYlBu .q20-23{fill:var(--aa)}svg .RdYlBu .q21-23{fill:var(--ae)}svg .RdYlBu .q22-23{fill:var(--af)}svg .RdYlBu .q0-24{fill:var(--a)}svg .RdYlBu .q1-24{fill:var(--b)}svg .RdYlBu .q2-24{fill:var(--c)}svg .RdYlBu .q3-24{fill:var(--e)}svg .RdYlBu .q4-24{fill:var(--i)}svg .RdYlBu .q5-24{fill:var(--j)}svg .RdYlBu .q6-24{fill:var(--k)}svg .RdYlBu .q7-24{fill:var(--l)}svg .RdYlBu .q8-24{fill:var(--m)}svg .RdYlBu .q9-24{fill:var(--n)}svg .RdYlBu .q10-24{fill:var(--o)}svg .RdYlBu .q11-24{fill:var(--p)}svg .RdYlBu .q12-24{fill:var(--q)}svg .RdYlBu .q13-24{fill:var(--r)}svg .RdYlBu .q14-24{fill:var(--s)}svg .RdYlBu .q15-24{fill:var(--t)}svg .RdYlBu .q16-24{fill:var(--u)}svg .RdYlBu .q17-24{fill:var(--v)}svg .RdYlBu .q18-24{fill:var(--w)}svg .RdYlBu .q19-24{fill:var(--x)}svg .RdYlBu .q20-24{fill:var(--y)}svg .RdYlBu .q21-24{fill:var(--aa)}svg .RdYlBu .q22-24{fill:var(--ae)}svg .RdYlBu .q23-24{fill:var(--af)}svg .RdYlBu .q0-25{fill:var(--a)}svg .RdYlBu .q1-25{fill:var(--b)}svg .RdYlBu .q2-25{fill:var(--c)}svg .RdYlBu .q3-25{fill:var(--e)}svg .RdYlBu .q4-25{fill:var(--h)}svg .RdYlBu .q5-25{fill:var(--i)}svg .RdYlBu .q6-25{fill:var(--j)}svg .RdYlBu .q7-25{fill:var(--k)}svg .RdYlBu .q8-25{fill:var(--l)}svg .RdYlBu .q9-25{fill:var(--m)}svg .RdYlBu .q10-25{fill:var(--n)}svg .RdYlBu .q11-25{fill:var(--o)}svg .RdYlBu .q12-25{fill:var(--q)}svg .RdYlBu .q13-25{fill:var(--r)}svg .RdYlBu .q14-25{fill:var(--s)}svg .RdYlBu .q15-25{fill:var(--t)}svg .RdYlBu .q16-25{fill:var(--u)}svg .RdYlBu .q17-25{fill:var(--v)}svg .RdYlBu .q18-25{fill:var(--w)}svg .RdYlBu .q19-25{fill:var(--x)}svg .RdYlBu .q20-25{fill:var(--y)}svg .RdYlBu .q21-25{fill:var(--z)}svg .RdYlBu .q22-25{fill:var(--aa)}svg .RdYlBu .q23-25{fill:var(--ae)}svg .RdYlBu .q24-25{fill:var(--af)}svg .RdYlBu .q0-26{fill:var(--a)}svg .RdYlBu .q1-26{fill:var(--b)}svg .RdYlBu .q2-26{fill:var(--c)}svg .RdYlBu .q4-26{fill:var(--e)}svg .RdYlBu .q5-26{fill:var(--h)}svg .RdYlBu .q6-26{fill:var(--i)}svg .RdYlBu .q7-26{fill:var(--j)}svg .RdYlBu .q8-26{fill:var(--k)}svg .RdYlBu .q9-26{fill:var(--l)}svg .RdYlBu .q10-26{fill:var(--m)}svg .RdYlBu .q11-26{fill:var(--n)}svg .RdYlBu .q12-26{fill:var(--o)}svg .RdYlBu .q13-26{fill:var(--p)}svg .RdYlBu .q14-26{fill:var(--q)}svg .RdYlBu .q15-26{fill:var(--r)}svg .RdYlBu .q16-26{fill:var(--s)}svg .RdYlBu .q17-26{fill:var(--t)}svg .RdYlBu .q18-26{fill:var(--u)}svg .RdYlBu .q19-26{fill:var(--v)}svg .RdYlBu .q20-26{fill:var(--w)}svg .RdYlBu .q21-26{fill:var(--x)}svg .RdYlBu .q22-26{fill:var(--y)}svg .RdYlBu .q23-26{fill:var(--z)}svg .RdYlBu .q24-26{fill:var(--aa)}svg .RdYlBu .q26-26{fill:var(--ae)}svg .RdYlBu .q27-26{fill:var(--af)}svg .RdYlBu .q0-27{fill:var(--a)}svg .RdYlBu .q1-27{fill:var(--b)}svg .RdYlBu .q2-27{fill:var(--c)}svg .RdYlBu .q3-27{fill:var(--d)}svg .RdYlBu .q4-27{fill:var(--e)}svg .RdYlBu .q5-27{fill:var(--h)}svg .RdYlBu .q6-27{fill:var(--i)}svg .RdYlBu .q7-27{fill:var(--j)}svg .RdYlBu .q8-27{fill:var(--k)}svg .RdYlBu .q9-27{fill:var(--l)}svg .RdYlBu .q10-27{fill:var(--m)}svg .RdYlBu .q11-27{fill:var(--n)}svg .RdYlBu .q12-27{fill:var(--o)}svg .RdYlBu .q14-27{fill:var(--q)}svg .RdYlBu .q15-27{fill:var(--r)}svg .RdYlBu .q16-27{fill:var(--s)}svg .RdYlBu .q17-27{fill:var(--t)}svg .RdYlBu .q18-27{fill:var(--u)}svg .RdYlBu .q19-27{fill:var(--v)}svg .RdYlBu .q20-27{fill:var(--w)}svg .RdYlBu .q21-27{fill:var(--x)}svg .RdYlBu .q22-27{fill:var(--y)}svg .RdYlBu .q23-27{fill:var(--z)}svg .RdYlBu .q24-27{fill:var(--aa)}svg .RdYlBu .q25-27{fill:var(--ab)}svg .RdYlBu .q26-27{fill:var(--ae)}svg .RdYlBu .q27-27{fill:var(--af)}svg .RdYlBu .q0-28{fill:var(--a)}svg .RdYlBu .q1-28{fill:var(--b)}svg .RdYlBu .q2-28{fill:var(--c)}svg .RdYlBu .q3-28{fill:var(--d)}svg .RdYlBu .q4-28{fill:var(--e)}svg .RdYlBu .q5-28{fill:var(--h)}svg .RdYlBu .q6-28{fill:var(--i)}svg .RdYlBu .q7-28{fill:var(--j)}svg .RdYlBu .q8-28{fill:var(--k)}svg .RdYlBu .q9-28{fill:var(--l)}svg .RdYlBu .q10-28{fill:var(--m)}svg .RdYlBu .q11-28{fill:var(--n)}svg .RdYlBu .q12-28{fill:var(--o)}svg .RdYlBu .q13-28{fill:var(--p)}svg .RdYlBu .q14-28{fill:var(--q)}svg .RdYlBu .q15-28{fill:var(--r)}svg .RdYlBu .q16-28{fill:var(--s)}svg .RdYlBu .q17-28{fill:var(--t)}svg .RdYlBu .q18-28{fill:var(--u)}svg .RdYlBu .q19-28{fill:var(--v)}svg .RdYlBu .q20-28{fill:var(--w)}svg .RdYlBu .q21-28{fill:var(--x)}svg .RdYlBu .q22-28{fill:var(--y)}svg .RdYlBu .q23-28{fill:var(--z)}svg .RdYlBu .q24-28{fill:var(--aa)}svg .RdYlBu .q25-28{fill:var(--ab)}svg .RdYlBu .q26-28{fill:var(--ae)}svg .RdYlBu .q27-28{fill:var(--af)}svg .RdYlBu .q0-29{fill:var(--a)}svg .RdYlBu .q1-29{fill:var(--b)}svg .RdYlBu .q2-29{fill:var(--c)}svg .RdYlBu .q3-29{fill:var(--d)}svg .RdYlBu .q4-29{fill:var(--e)}svg .RdYlBu .q5-29{fill:var(--f)}svg .RdYlBu .q6-29{fill:var(--h)}svg .RdYlBu .q7-29{fill:var(--i)}svg .RdYlBu .q8-29{fill:var(--j)}svg .RdYlBu .q9-29{fill:var(--k)}svg .RdYlBu .q10-29{fill:var(--l)}svg .RdYlBu .q11-29{fill:var(--m)}svg .RdYlBu .q12-29{fill:var(--n)}svg .RdYlBu .q13-29{fill:var(--o)}svg .RdYlBu .q14-29{fill:var(--q)}svg .RdYlBu .q15-29{fill:var(--r)}svg .RdYlBu .q16-29{fill:var(--s)}svg .RdYlBu .q17-29{fill:var(--t)}svg .RdYlBu .q18-29{fill:var(--u)}svg .RdYlBu .q19-29{fill:var(--v)}svg .RdYlBu .q20-29{fill:var(--w)}svg .RdYlBu .q21-29{fill:var(--x)}svg .RdYlBu .q22-29{fill:var(--y)}svg .RdYlBu .q23-29{fill:var(--z)}svg .RdYlBu .q24-29{fill:var(--aa)}svg .RdYlBu .q25-29{fill:var(--ab)}svg .RdYlBu .q26-29{fill:var(--ad)}svg .RdYlBu .q27-29{fill:var(--ae)}svg .RdYlBu .q28-29{fill:var(--af)}svg .RdYlBu .q0-30{fill:var(--a)}svg .RdYlBu .q1-30{fill:var(--b)}svg .RdYlBu .q2-30{fill:var(--c)}svg .RdYlBu .q3-30{fill:var(--d)}svg .RdYlBu .q4-30{fill:var(--e)}svg .RdYlBu .q5-30{fill:var(--f)}svg .RdYlBu .q6-30{fill:var(--h)}svg .RdYlBu .q7-30{fill:var(--i)}svg .RdYlBu .q8-30{fill:var(--j)}svg .RdYlBu .q9-30{fill:var(--k)}svg .RdYlBu .q10-30{fill:var(--l)}svg .RdYlBu .q11-30{fill:var(--m)}svg .RdYlBu .q12-30{fill:var(--n)}svg .RdYlBu .q13-30{fill:var(--o)}svg .RdYlBu .q14-30{fill:var(--p)}svg .RdYlBu .q15-30{fill:var(--q)}svg .RdYlBu .q16-30{fill:var(--r)}svg .RdYlBu .q17-30{fill:var(--s)}svg .RdYlBu .q18-30{fill:var(--t)}svg .RdYlBu .q19-30{fill:var(--u)}svg .RdYlBu .q20-30{fill:var(--v)}svg .RdYlBu .q21-30{fill:var(--w)}svg .RdYlBu .q22-30{fill:var(--x)}svg .RdYlBu .q23-30{fill:var(--y)}svg .RdYlBu .q24-30{fill:var(--z)}svg .RdYlBu .q25-30{fill:var(--aa)}svg .RdYlBu .q26-30{fill:var(--ab)}svg .RdYlBu .q27-30{fill:var(--ad)}svg .RdYlBu .q28-30{fill:var(--ae)}svg .RdYlBu .q29-30{fill:var(--af)}svg .RdYlBu .q0-31{fill:var(--a)}svg .RdYlBu .q1-31{fill:var(--b)}svg .RdYlBu .q2-31{fill:var(--c)}svg .RdYlBu .q3-31{fill:var(--d)}svg .RdYlBu .q4-31{fill:var(--e)}svg .RdYlBu .q5-31{fill:var(--f)}svg .RdYlBu .q6-31{fill:var(--g)}svg .RdYlBu .q7-31{fill:var(--h)}svg .RdYlBu .q8-31{fill:var(--i)}svg .RdYlBu .q9-31{fill:var(--j)}svg .RdYlBu .q10-31{fill:var(--k)}svg .RdYlBu .q11-31{fill:var(--l)}svg .RdYlBu .q12-31{fill:var(--m)}svg .RdYlBu .q13-31{fill:var(--n)}svg .RdYlBu .q14-31{fill:var(--o)}svg .RdYlBu .q15-31{fill:var(--q)}svg .RdYlBu .q16-31{fill:var(--r)}svg .RdYlBu .q17-31{fill:var(--s)}svg .RdYlBu .q18-31{fill:var(--t)}svg .RdYlBu .q19-31{fill:var(--u)}svg .RdYlBu .q20-31{fill:var(--v)}svg .RdYlBu .q21-31{fill:var(--w)}svg .RdYlBu .q22-31{fill:var(--x)}svg .RdYlBu .q23-31{fill:var(--y)}svg .RdYlBu .q24-31{fill:var(--z)}svg .RdYlBu .q25-31{fill:var(--aa)}svg .RdYlBu .q26-31{fill:var(--ab)}svg .RdYlBu .q27-31{fill:var(--ac)}svg .RdYlBu .q28-31{fill:var(--ad)}svg .RdYlBu .q29-31{fill:var(--ae)}svg .RdYlBu .q30-31{fill:var(--af)}svg .RdYlBu .q0-32{fill:var(--a)}svg .RdYlBu .q1-32{fill:var(--b)}svg .RdYlBu .q2-32{fill:var(--c)}svg .RdYlBu .q3-32{fill:var(--d)}svg .RdYlBu .q4-32{fill:var(--e)}svg .RdYlBu .q5-32{fill:var(--f)}svg .RdYlBu .q6-32{fill:var(--g)}svg .RdYlBu .q7-32{fill:var(--h)}svg .RdYlBu .q8-32{fill:var(--i)}svg .RdYlBu .q9-32{fill:var(--j)}svg .RdYlBu .q10-32{fill:var(--k)}svg .RdYlBu .q11-32{fill:var(--l)}svg .RdYlBu .q12-32{fill:var(--m)}svg .RdYlBu .q13-32{fill:var(--n)}svg .RdYlBu .q14-32{fill:var(--o)}svg .RdYlBu .q15-32{fill:var(--p)}svg .RdYlBu .q16-32{fill:var(--q)}svg .RdYlBu .q17-32{fill:var(--r)}svg .RdYlBu .q18-32{fill:var(--s)}svg .RdYlBu .q19-32{fill:var(--t)}svg .RdYlBu .q20-32{fill:var(--u)}svg .RdYlBu .q21-32{fill:var(--v)}svg .RdYlBu .q22-32{fill:var(--w)}svg .RdYlBu .q23-32{fill:var(--x)}svg .RdYlBu .q24-32{fill:var(--y)}svg .RdYlBu .q25-32{fill:var(--z)}svg .RdYlBu .q26-32{fill:var(--aa)}svg .RdYlBu .q27-32{fill:var(--ab)}svg .RdYlBu .q28-32{fill:var(--ac)}svg .RdYlBu .q29-32{fill:var(--ad)}svg .RdYlBu .q30-32{fill:var(--ae)}svg .RdYlBu .q31-32{fill:var(--af)}.first-letter\:capitalize:first-letter{text-transform:capitalize}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-seqorange:hover{--tw-bg-opacity:1;background-color:rgb(199 79 19/var(--tw-bg-opacity))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.focus\:text-seqorange:focus,.hover\:text-seqorange:hover{--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--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)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-seqblue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(27 85 122/var(--tw-ring-opacity))}.focus\:ring-seqorange:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 79 19/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:text-seqorange:active{--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.group:hover .group-hover\:flex{display:flex}@media (min-width:640px){.sm\:ml-3{margin-left:.75rem}.sm\:flex{display:flex}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-3{grid-column:span 3/span 3}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-6\/12{width:50%}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.md\:overflow-hidden{overflow:hidden}.md\:pr-0{padding-right:0}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}} \ No newline at end of file +/*! tailwindcss v3.4.9 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}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,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;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-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}html{font-family:Source Sans Pro,Helvetica Neue,Helvetica,Arial,sans-serif}*,:after,:before{--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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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:rgba(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::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-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--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:rgba(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: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.\!container{width:100%!important}.container{width:100%}@media (min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media (min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media (min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media (min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media (min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.bottom-0{bottom:0}.bottom-11{bottom:2.75rem}.bottom-12{bottom:3rem}.bottom-20{bottom:5rem}.bottom-3{bottom:.75rem}.end-1{inset-inline-end:.25rem}.left-0{left:0}.left-1{left:.25rem}.left-full{left:100%}.right-2{right:.5rem}.start-1{inset-inline-start:.25rem}.top-0{top:0}.top-2{top:.5rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-start-1{grid-column-start:1}.col-end-7{grid-column-end:7}.float-right{float:right}.m-0{margin:0}.m-auto{margin:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.-ml-1{margin-left:-.25rem}.-ml-8{margin-left:-2rem}.-mr-px{margin-right:-1px}.-mt-1{margin-top:-.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-9{margin-bottom:2.25rem}.ml-0{margin-left:0}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.grid{display:grid}.contents{display:contents}.list-item{display:list-item}.\!hidden{display:none!important}.hidden{display:none}.h-0{height:0}.h-2{height:.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.max-h-56{max-height:14rem}.max-h-8{max-height:2rem}.max-h-96{max-height:24rem}.max-h-\[80vh\]{max-height:80vh}.min-h-52{min-height:13rem}.w-0{width:0}.w-1\/12{width:8.333333%}.w-2\/12{width:16.666667%}.w-3{width:.75rem}.w-4{width:1rem}.w-48{width:12rem}.w-6{width:1.5rem}.w-auto{width:auto}.w-full{width:100%}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-7xl{max-width:80rem}.max-w-screen-xl{max-width:1280px}.flex-none{flex:none}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-keep{word-break:keep-all}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-r-md{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-tr-lg{border-top-right-radius:.5rem}.border{border-width:1px}.border-0{border-width:0}.border-y-8{border-top-width:8px;border-bottom-width:8px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l-2{border-left-width:2px}.border-r-8{border-right-width:8px}.border-t{border-top-width:1px}.border-blue-800{--tw-border-opacity:1;border-color:rgb(30 64 175/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-red-400{--tw-border-opacity:1;border-color:rgb(248 113 113/var(--tw-border-opacity))}.border-seqblue{--tw-border-opacity:1;border-color:rgb(27 85 122/var(--tw-border-opacity))}.border-seqorange{--tw-border-opacity:1;border-color:rgb(199 79 19/var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-b-transparent{border-bottom-color:transparent}.border-r-black{--tw-border-opacity:1;border-right-color:rgb(0 0 0/var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-300{--tw-bg-opacity:1;background-color:rgb(147 197 253/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-inherit{background-color:inherit}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity))}.bg-seqblue{--tw-bg-opacity:1;background-color:rgb(27 85 122/var(--tw-bg-opacity))}.bg-slate-200{--tw-bg-opacity:1;background-color:rgb(226 232 240/var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-white\/90{--tw-gradient-from:hsla(0,0%,100%,.9) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-gray-100\/90{--tw-gradient-to:rgba(243,244,246,.9) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-16{padding-left:4rem;padding-right:4rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-px{padding-bottom:1px}.pe-1{padding-inline-end:.25rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-px{padding-left:1px}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-8{padding-right:2rem}.pr-px{padding-right:1px}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.pt-px{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity:1;color:rgb(147 197 253/var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-inherit{color:inherit}.text-neutral-500{--tw-text-opacity:1;color:rgb(115 115 115/var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity))}.text-seqblue{--tw-text-opacity:1;color:rgb(27 85 122/var(--tw-text-opacity))}.text-seqorange{--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.\!shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 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}.outline{outline-style:solid}.ring{--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(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--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)}.ring-inset{--tw-ring-inset:inset}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!invert{--tw-invert:invert(100%)!important;filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\!transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}body:has(dialog[open]){overflow:hidden}.grapher{margin:0}svg text{font-size:10px}.axis line,svg .axis path{fill:none;stroke:#000;shape-rendering:crispEdges}.grapher.circos .caption{padding:0;font-size:1rem;line-height:1.5rem}.alignment-overview.svg-container{text-align:center}.kablammo.svg-container,.length-distribution.svg-container{height:150px}svg .bar:hover{fill:#ff4500}.polygon:hover{font-weight:700}sup{position:static;vertical-align:super}pre.indL,pre.seqF{margin-top:.625rem;margin-bottom:.625rem;overflow-wrap:break-word;word-break:break-all;border-width:1px;--tw-border-opacity:1;border-color:rgb(204 204 204/var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgb(245 245 245/var(--tw-bg-opacity));padding:.625rem;font-size:11px;--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity))}@media (min-width:768px){pre.indL,pre.seqF{font-size:13px}}pre.seqF{border-top-right-radius:.375rem;border-bottom-right-radius:.375rem;border-left-width:0}pre.indL{border-top-left-radius:.375rem;border-bottom-left-radius:.375rem;padding-right:0}.side-nav.active{font-weight:700;--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.disabled{pointer-events:none;cursor:not-allowed;--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}li:hover .download-alignment-of-selected:not(.disabled),li:hover .download-fasta-of-selected:not(.disabled){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.hit-text,.pre-text,.search-button-text,.side-tooltip-text{font-size:.7rem}.pre-item{font-size:11px;color:#333}.ui-tooltip{background-color:#000!important;border-radius:8px!important;padding:10px!important;box-shadow:none!important;border:1px solid #000!important}.ui-tooltip-content{font-size:11px;text-align:center;color:#fff}.arrow{width:70px;height:16px;overflow:hidden;position:absolute;left:50%;margin-left:-32px;bottom:-16px}.arrow.top{top:-16px;bottom:auto}.arrow.left{left:20%}.arrow:after{content:"";position:absolute;left:20px;top:-20px;width:25px;height:25px;box-shadow:6px 5px 9px -9px #000;transform:rotate(45deg);background-color:#000;border:1px #000}.arrow.top:after{bottom:-20px;top:auto}.tooltip-wrap{width:300px}.tooltip-arrow-rotate{transform:rotate(270deg)}::backdrop{position:fixed;inset:0;background-color:rgb(107 114 128/var(--tw-bg-opacity));--tw-bg-opacity:0.75;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:400;src:local("Source Sans Pro"),local("SourceSansPro-Regular"),url(../fonts/Source_Sans_Pro_400.woff2) format("woff2"),url(../fonts/Source_Sans_Pro_400.woff) format("woff"),url(../fonts/Source_Sans_Pro_400.ttf) format("truetype"),url(../fonts/Source_Sans_Pro_400.svg) format("svg"),url(../fonts/Source_Sans_Pro_400.eot) format("embedded-opentype")}@font-face{font-family:Source Sans Pro;font-style:normal;font-weight:700;src:local("Source Sans Pro Bold"),local("SourceSansPro-Bold"),url(../fonts/Source_Sans_Pro_700.woff2) format("woff2"),url(../fonts/Source_Sans_Pro_700.woff) format("woff"),url(../fonts/Source_Sans_Pro_700.ttf) format("truetype"),url(../fonts/Source_Sans_Pro_700.svg) format("svg"),url(../fonts/Source_Sans_Pro_700.eot) format("embedded-opentype")}svg .RdYlBu .q0-2{fill:#fc8d59}svg .RdYlBu .q1-2{fill:#ffffbf}svg .RdYlBu .q0-3{fill:#fc8d59}svg .RdYlBu .q1-3{fill:#ffffbf}svg .RdYlBu .q2-3{fill:#91bfdb}svg .RdYlBu .q0-4{fill:#d7191c}svg .RdYlBu .q1-4{fill:#fdae61}svg .RdYlBu .q2-4{fill:#abd9e9}svg .RdYlBu .q3-4{fill:#2c7bb6}svg .RdYlBu .q0-5{fill:#d7191c}svg .RdYlBu .q1-5{fill:#fdae61}svg .RdYlBu .q2-5{fill:#ffffbf}svg .RdYlBu .q3-5{fill:#abd9e9}svg .RdYlBu .q4-5{fill:#2c7bb6}svg .RdYlBu .q0-6{fill:#d73027}svg .RdYlBu .q1-6{fill:#fc8d59}svg .RdYlBu .q2-6{fill:#fee090}svg .RdYlBu .q3-6{fill:#e0f3f8}svg .RdYlBu .q4-6{fill:#91bfdb}svg .RdYlBu .q5-6{fill:#4575b4}svg .RdYlBu .q0-7{fill:#d73027}svg .RdYlBu .q1-7{fill:#fc8d59}svg .RdYlBu .q2-7{fill:#fee090}svg .RdYlBu .q3-7{fill:#ffffbf}svg .RdYlBu .q4-7{fill:#e0f3f8}svg .RdYlBu .q5-7{fill:#91bfdb}svg .RdYlBu .q6-7{fill:#4575b4}svg .RdYlBu .q0-8{fill:#d73027}svg .RdYlBu .q1-8{fill:#f46d43}svg .RdYlBu .q2-8{fill:#fdae61}svg .RdYlBu .q3-8{fill:#fee090}svg .RdYlBu .q4-8{fill:#e0f3f8}svg .RdYlBu .q5-8{fill:#abd9e9}svg .RdYlBu .q6-8{fill:#74add1}svg .RdYlBu .q7-8{fill:#4575b4}svg .RdYlBu .q0-9{fill:#d73027}svg .RdYlBu .q1-9{fill:#f46d43}svg .RdYlBu .q2-9{fill:#fdae61}svg .RdYlBu .q3-9{fill:#fee090}svg .RdYlBu .q4-9{fill:#ffffbf}svg .RdYlBu .q5-9{fill:#e0f3f8}svg .RdYlBu .q6-9{fill:#abd9e9}svg .RdYlBu .q7-9{fill:#74add1}svg .RdYlBu .q8-9{fill:#4575b4}svg .RdYlBu .q0-10{fill:#a50026}svg .RdYlBu .q1-10{fill:#d73027}svg .RdYlBu .q2-10{fill:#f46d43}svg .RdYlBu .q3-10{fill:#fdae61}svg .RdYlBu .q4-10{fill:#fee090}svg .RdYlBu .q5-10{fill:#e0f3f8}svg .RdYlBu .q6-10{fill:#abd9e9}svg .RdYlBu .q7-10{fill:#74add1}svg .RdYlBu .q8-10{fill:#4575b4}svg .RdYlBu .q9-10{fill:#313695}svg .RdYlBu .q0-11{fill:#a50026}svg .RdYlBu .q1-11{fill:#d73027}svg .RdYlBu .q2-11{fill:#f46d43}svg .RdYlBu .q3-11{fill:#fdae61}svg .RdYlBu .q4-11{fill:#fee090}svg .RdYlBu .q5-11{fill:#ffffbf}svg .RdYlBu .q6-11{fill:#e0f3f8}svg .RdYlBu .q7-11{fill:#abd9e9}svg .RdYlBu .q8-11{fill:#74add1}svg .RdYlBu .q9-11{fill:#4575b4}svg .RdYlBu .q10-11{fill:#313695}svg{--a:#d50000;--b:#b71c1c;--c:#c62828;--d:#d32f2f;--e:#e53935;--f:#f44336;--g:#ff1744;--h:#ef5350;--i:#ff5252;--j:#e65100;--k:#ef6c00;--l:#ffc107;--m:#fbc02d;--n:#ffd600;--o:#fdd835;--p:#ff0;--q:#ffeb3b;--r:#ffea00;--s:#ffee58;--t:#fff178;--u:#fff59d;--v:#fff9c4;--w:#81d4fa;--x:#4fc3f7;--y:#64b5f6;--z:#42a5f5;--aa:#2196f3;--ab:#3949ab;--ac:#3040af;--ad:#303f9f;--ae:#0d47a1;--af:#1a237e}svg .RdYlBu .q0-12{fill:var(--a)}svg .RdYlBu .q1-12{fill:var(--b)}svg .RdYlBu .q2-12{fill:var(--e)}svg .RdYlBu .q3-12{fill:var(--j)}svg .RdYlBu .q4-12{fill:var(--l)}svg .RdYlBu .q5-12{fill:var(--p)}svg .RdYlBu .q6-12{fill:var(--r)}svg .RdYlBu .q7-12{fill:var(--v)}svg .RdYlBu .q8-12{fill:var(--w)}svg .RdYlBu .q9-12{fill:var(--aa)}svg .RdYlBu .q10-12{fill:var(--ae)}svg .RdYlBu .q11-12{fill:var(--af)}svg .RdYlBu .q0-13{fill:var(--a)}svg .RdYlBu .q1-13{fill:var(--b)}svg .RdYlBu .q2-13{fill:var(--e)}svg .RdYlBu .q3-13{fill:var(--j)}svg .RdYlBu .q4-13{fill:var(--l)}svg .RdYlBu .q5-13{fill:var(--n)}svg .RdYlBu .q6-13{fill:var(--r)}svg .RdYlBu .q7-13{fill:var(--s)}svg .RdYlBu .q8-13{fill:var(--v)}svg .RdYlBu .q9-13{fill:var(--w)}svg .RdYlBu .q10-13{fill:var(--aa)}svg .RdYlBu .q11-13{fill:var(--ae)}svg .RdYlBu .q12-13{fill:var(--af)}svg .RdYlBu .q0-14{fill:var(--a)}svg .RdYlBu .q1-14{fill:var(--b)}svg .RdYlBu .q2-14{fill:var(--e)}svg .RdYlBu .q3-14{fill:var(--j)}svg .RdYlBu .q4-14{fill:var(--l)}svg .RdYlBu .q5-14{fill:var(--n)}svg .RdYlBu .q6-14{fill:var(--p)}svg .RdYlBu .q7-14{fill:var(--r)}svg .RdYlBu .q8-14{fill:var(--s)}svg .RdYlBu .q9-14{fill:var(--v)}svg .RdYlBu .q10-14{fill:var(--w)}svg .RdYlBu .q11-14{fill:var(--aa)}svg .RdYlBu .q12-14{fill:var(--ae)}svg .RdYlBu .q13-14{fill:var(--af)}svg .RdYlBu .q0-15{fill:var(--a)}svg .RdYlBu .q1-15{fill:var(--b)}svg .RdYlBu .q2-15{fill:var(--c)}svg .RdYlBu .q3-15{fill:var(--e)}svg .RdYlBu .q4-15{fill:var(--j)}svg .RdYlBu .q5-15{fill:var(--l)}svg .RdYlBu .q6-15{fill:var(--n)}svg .RdYlBu .q7-15{fill:var(--r)}svg .RdYlBu .q8-15{fill:var(--s)}svg .RdYlBu .q9-15{fill:var(--v)}svg .RdYlBu .q10-15{fill:var(--w)}svg .RdYlBu .q11-15{fill:var(--x)}svg .RdYlBu .q12-15{fill:var(--aa)}svg .RdYlBu .q13-15{fill:var(--ae)}svg .RdYlBu .q14-15{fill:var(--af)}svg .RdYlBu .q0-16{fill:var(--a)}svg .RdYlBu .q1-16{fill:var(--b)}svg .RdYlBu .q2-16{fill:var(--c)}svg .RdYlBu .q3-16{fill:var(--e)}svg .RdYlBu .q4-16{fill:var(--j)}svg .RdYlBu .q5-16{fill:var(--l)}svg .RdYlBu .q6-16{fill:var(--n)}svg .RdYlBu .q7-16{fill:var(--p)}svg .RdYlBu .q8-16{fill:var(--r)}svg .RdYlBu .q9-16{fill:var(--s)}svg .RdYlBu .q10-16{fill:var(--v)}svg .RdYlBu .q11-16{fill:var(--w)}svg .RdYlBu .q12-16{fill:var(--x)}svg .RdYlBu .q13-16{fill:var(--aa)}svg .RdYlBu .q14-16{fill:var(--ae)}svg .RdYlBu .q15-16{fill:var(--af)}svg .RdYlBu .q0-17{fill:var(--a)}svg .RdYlBu .q1-17{fill:var(--b)}svg .RdYlBu .q2-17{fill:var(--c)}svg .RdYlBu .q3-17{fill:var(--e)}svg .RdYlBu .q4-17{fill:var(--i)}svg .RdYlBu .q5-17{fill:var(--j)}svg .RdYlBu .q6-17{fill:var(--l)}svg .RdYlBu .q7-17{fill:var(--n)}svg .RdYlBu .q8-17{fill:var(--r)}svg .RdYlBu .q9-17{fill:var(--s)}svg .RdYlBu .q10-17{fill:var(--v)}svg .RdYlBu .q11-17{fill:var(--w)}svg .RdYlBu .q12-17{fill:var(--x)}svg .RdYlBu .q13-17{fill:var(--y)}svg .RdYlBu .q14-17{fill:var(--aa)}svg .RdYlBu .q15-17{fill:var(--ae)}svg .RdYlBu .q16-17{fill:var(--af)}svg .RdYlBu .q0-18{fill:var(--a)}svg .RdYlBu .q1-18{fill:var(--b)}svg .RdYlBu .q2-18{fill:var(--c)}svg .RdYlBu .q3-18{fill:var(--e)}svg .RdYlBu .q4-18{fill:var(--i)}svg .RdYlBu .q5-18{fill:var(--j)}svg .RdYlBu .q6-18{fill:var(--l)}svg .RdYlBu .q7-18{fill:var(--n)}svg .RdYlBu .q8-18{fill:var(--p)}svg .RdYlBu .q9-18{fill:var(--r)}svg .RdYlBu .q10-18{fill:var(--s)}svg .RdYlBu .q11-18{fill:var(--v)}svg .RdYlBu .q12-18{fill:var(--w)}svg .RdYlBu .q13-18{fill:var(--x)}svg .RdYlBu .q14-18{fill:var(--y)}svg .RdYlBu .q15-18{fill:var(--aa)}svg .RdYlBu .q16-18{fill:var(--ae)}svg .RdYlBu .q17-18{fill:var(--af)}svg .RdYlBu .q0-19{fill:var(--a)}svg .RdYlBu .q1-19{fill:var(--b)}svg .RdYlBu .q2-19{fill:var(--c)}svg .RdYlBu .q3-19{fill:var(--e)}svg .RdYlBu .q4-19{fill:var(--i)}svg .RdYlBu .q5-19{fill:var(--j)}svg .RdYlBu .q6-19{fill:var(--k)}svg .RdYlBu .q7-19{fill:var(--l)}svg .RdYlBu .q8-19{fill:var(--n)}svg .RdYlBu .q9-19{fill:var(--r)}svg .RdYlBu .q10-19{fill:var(--s)}svg .RdYlBu .q11-19{fill:var(--u)}svg .RdYlBu .q12-19{fill:var(--v)}svg .RdYlBu .q13-19{fill:var(--w)}svg .RdYlBu .q14-19{fill:var(--x)}svg .RdYlBu .q15-19{fill:var(--y)}svg .RdYlBu .q16-19{fill:var(--aa)}svg .RdYlBu .q17-19{fill:var(--ae)}svg .RdYlBu .q18-19{fill:var(--af)}svg .RdYlBu .q0-20{fill:var(--a)}svg .RdYlBu .q1-20{fill:var(--b)}svg .RdYlBu .q2-20{fill:var(--c)}svg .RdYlBu .q3-20{fill:var(--e)}svg .RdYlBu .q4-20{fill:var(--i)}svg .RdYlBu .q5-20{fill:var(--j)}svg .RdYlBu .q6-20{fill:var(--k)}svg .RdYlBu .q7-20{fill:var(--l)}svg .RdYlBu .q8-20{fill:var(--n)}svg .RdYlBu .q9-20{fill:var(--p)}svg .RdYlBu .q10-20{fill:var(--r)}svg .RdYlBu .q11-20{fill:var(--s)}svg .RdYlBu .q12-20{fill:var(--u)}svg .RdYlBu .q13-20{fill:var(--v)}svg .RdYlBu .q14-20{fill:var(--w)}svg .RdYlBu .q15-20{fill:var(--x)}svg .RdYlBu .q16-20{fill:var(--y)}svg .RdYlBu .q17-20{fill:var(--aa)}svg .RdYlBu .q18-20{fill:var(--ae)}svg .RdYlBu .q19-20{fill:var(--af)}svg .RdYlBu .q0-21{fill:var(--a)}svg .RdYlBu .q1-21{fill:var(--b)}svg .RdYlBu .q2-21{fill:var(--c)}svg .RdYlBu .q3-21{fill:var(--e)}svg .RdYlBu .q4-21{fill:var(--i)}svg .RdYlBu .q5-21{fill:var(--j)}svg .RdYlBu .q6-21{fill:var(--k)}svg .RdYlBu .q7-21{fill:var(--l)}svg .RdYlBu .q8-21{fill:var(--n)}svg .RdYlBu .q9-21{fill:var(--o)}svg .RdYlBu .q10-21{fill:var(--q)}svg .RdYlBu .q11-21{fill:var(--r)}svg .RdYlBu .q12-21{fill:var(--s)}svg .RdYlBu .q13-21{fill:var(--u)}svg .RdYlBu .q14-21{fill:var(--v)}svg .RdYlBu .q15-21{fill:var(--w)}svg .RdYlBu .q16-21{fill:var(--x)}svg .RdYlBu .q17-21{fill:var(--y)}svg .RdYlBu .q18-21{fill:var(--aa)}svg .RdYlBu .q19-21{fill:var(--ae)}svg .RdYlBu .q20-21{fill:var(--af)}svg .RdYlBu .q0-22{fill:var(--a)}svg .RdYlBu .q1-22{fill:var(--b)}svg .RdYlBu .q2-22{fill:var(--c)}svg .RdYlBu .q3-22{fill:var(--e)}svg .RdYlBu .q4-22{fill:var(--i)}svg .RdYlBu .q5-22{fill:var(--j)}svg .RdYlBu .q6-22{fill:var(--k)}svg .RdYlBu .q7-22{fill:var(--l)}svg .RdYlBu .q8-22{fill:var(--n)}svg .RdYlBu .q9-22{fill:var(--o)}svg .RdYlBu .q10-22{fill:var(--p)}svg .RdYlBu .q11-22{fill:var(--q)}svg .RdYlBu .q12-22{fill:var(--r)}svg .RdYlBu .q13-22{fill:var(--s)}svg .RdYlBu .q14-22{fill:var(--u)}svg .RdYlBu .q15-22{fill:var(--v)}svg .RdYlBu .q16-22{fill:var(--w)}svg .RdYlBu .q17-22{fill:var(--x)}svg .RdYlBu .q18-22{fill:var(--y)}svg .RdYlBu .q19-22{fill:var(--aa)}svg .RdYlBu .q20-22{fill:var(--ae)}svg .RdYlBu .q21-22{fill:var(--af)}svg .RdYlBu .q0-23{fill:var(--a)}svg .RdYlBu .q1-23{fill:var(--b)}svg .RdYlBu .q2-23{fill:var(--c)}svg .RdYlBu .q3-23{fill:var(--e)}svg .RdYlBu .q4-23{fill:var(--i)}svg .RdYlBu .q5-23{fill:var(--j)}svg .RdYlBu .q6-23{fill:var(--k)}svg .RdYlBu .q7-23{fill:var(--l)}svg .RdYlBu .q8-23{fill:var(--m)}svg .RdYlBu .q9-23{fill:var(--n)}svg .RdYlBu .q10-23{fill:var(--o)}svg .RdYlBu .q11-23{fill:var(--q)}svg .RdYlBu .q12-23{fill:var(--r)}svg .RdYlBu .q13-23{fill:var(--s)}svg .RdYlBu .q14-23{fill:var(--t)}svg .RdYlBu .q15-23{fill:var(--u)}svg .RdYlBu .q16-23{fill:var(--v)}svg .RdYlBu .q17-23{fill:var(--w)}svg .RdYlBu .q18-23{fill:var(--x)}svg .RdYlBu .q19-23{fill:var(--y)}svg .RdYlBu .q20-23{fill:var(--aa)}svg .RdYlBu .q21-23{fill:var(--ae)}svg .RdYlBu .q22-23{fill:var(--af)}svg .RdYlBu .q0-24{fill:var(--a)}svg .RdYlBu .q1-24{fill:var(--b)}svg .RdYlBu .q2-24{fill:var(--c)}svg .RdYlBu .q3-24{fill:var(--e)}svg .RdYlBu .q4-24{fill:var(--i)}svg .RdYlBu .q5-24{fill:var(--j)}svg .RdYlBu .q6-24{fill:var(--k)}svg .RdYlBu .q7-24{fill:var(--l)}svg .RdYlBu .q8-24{fill:var(--m)}svg .RdYlBu .q9-24{fill:var(--n)}svg .RdYlBu .q10-24{fill:var(--o)}svg .RdYlBu .q11-24{fill:var(--p)}svg .RdYlBu .q12-24{fill:var(--q)}svg .RdYlBu .q13-24{fill:var(--r)}svg .RdYlBu .q14-24{fill:var(--s)}svg .RdYlBu .q15-24{fill:var(--t)}svg .RdYlBu .q16-24{fill:var(--u)}svg .RdYlBu .q17-24{fill:var(--v)}svg .RdYlBu .q18-24{fill:var(--w)}svg .RdYlBu .q19-24{fill:var(--x)}svg .RdYlBu .q20-24{fill:var(--y)}svg .RdYlBu .q21-24{fill:var(--aa)}svg .RdYlBu .q22-24{fill:var(--ae)}svg .RdYlBu .q23-24{fill:var(--af)}svg .RdYlBu .q0-25{fill:var(--a)}svg .RdYlBu .q1-25{fill:var(--b)}svg .RdYlBu .q2-25{fill:var(--c)}svg .RdYlBu .q3-25{fill:var(--e)}svg .RdYlBu .q4-25{fill:var(--h)}svg .RdYlBu .q5-25{fill:var(--i)}svg .RdYlBu .q6-25{fill:var(--j)}svg .RdYlBu .q7-25{fill:var(--k)}svg .RdYlBu .q8-25{fill:var(--l)}svg .RdYlBu .q9-25{fill:var(--m)}svg .RdYlBu .q10-25{fill:var(--n)}svg .RdYlBu .q11-25{fill:var(--o)}svg .RdYlBu .q12-25{fill:var(--q)}svg .RdYlBu .q13-25{fill:var(--r)}svg .RdYlBu .q14-25{fill:var(--s)}svg .RdYlBu .q15-25{fill:var(--t)}svg .RdYlBu .q16-25{fill:var(--u)}svg .RdYlBu .q17-25{fill:var(--v)}svg .RdYlBu .q18-25{fill:var(--w)}svg .RdYlBu .q19-25{fill:var(--x)}svg .RdYlBu .q20-25{fill:var(--y)}svg .RdYlBu .q21-25{fill:var(--z)}svg .RdYlBu .q22-25{fill:var(--aa)}svg .RdYlBu .q23-25{fill:var(--ae)}svg .RdYlBu .q24-25{fill:var(--af)}svg .RdYlBu .q0-26{fill:var(--a)}svg .RdYlBu .q1-26{fill:var(--b)}svg .RdYlBu .q2-26{fill:var(--c)}svg .RdYlBu .q4-26{fill:var(--e)}svg .RdYlBu .q5-26{fill:var(--h)}svg .RdYlBu .q6-26{fill:var(--i)}svg .RdYlBu .q7-26{fill:var(--j)}svg .RdYlBu .q8-26{fill:var(--k)}svg .RdYlBu .q9-26{fill:var(--l)}svg .RdYlBu .q10-26{fill:var(--m)}svg .RdYlBu .q11-26{fill:var(--n)}svg .RdYlBu .q12-26{fill:var(--o)}svg .RdYlBu .q13-26{fill:var(--p)}svg .RdYlBu .q14-26{fill:var(--q)}svg .RdYlBu .q15-26{fill:var(--r)}svg .RdYlBu .q16-26{fill:var(--s)}svg .RdYlBu .q17-26{fill:var(--t)}svg .RdYlBu .q18-26{fill:var(--u)}svg .RdYlBu .q19-26{fill:var(--v)}svg .RdYlBu .q20-26{fill:var(--w)}svg .RdYlBu .q21-26{fill:var(--x)}svg .RdYlBu .q22-26{fill:var(--y)}svg .RdYlBu .q23-26{fill:var(--z)}svg .RdYlBu .q24-26{fill:var(--aa)}svg .RdYlBu .q26-26{fill:var(--ae)}svg .RdYlBu .q27-26{fill:var(--af)}svg .RdYlBu .q0-27{fill:var(--a)}svg .RdYlBu .q1-27{fill:var(--b)}svg .RdYlBu .q2-27{fill:var(--c)}svg .RdYlBu .q3-27{fill:var(--d)}svg .RdYlBu .q4-27{fill:var(--e)}svg .RdYlBu .q5-27{fill:var(--h)}svg .RdYlBu .q6-27{fill:var(--i)}svg .RdYlBu .q7-27{fill:var(--j)}svg .RdYlBu .q8-27{fill:var(--k)}svg .RdYlBu .q9-27{fill:var(--l)}svg .RdYlBu .q10-27{fill:var(--m)}svg .RdYlBu .q11-27{fill:var(--n)}svg .RdYlBu .q12-27{fill:var(--o)}svg .RdYlBu .q14-27{fill:var(--q)}svg .RdYlBu .q15-27{fill:var(--r)}svg .RdYlBu .q16-27{fill:var(--s)}svg .RdYlBu .q17-27{fill:var(--t)}svg .RdYlBu .q18-27{fill:var(--u)}svg .RdYlBu .q19-27{fill:var(--v)}svg .RdYlBu .q20-27{fill:var(--w)}svg .RdYlBu .q21-27{fill:var(--x)}svg .RdYlBu .q22-27{fill:var(--y)}svg .RdYlBu .q23-27{fill:var(--z)}svg .RdYlBu .q24-27{fill:var(--aa)}svg .RdYlBu .q25-27{fill:var(--ab)}svg .RdYlBu .q26-27{fill:var(--ae)}svg .RdYlBu .q27-27{fill:var(--af)}svg .RdYlBu .q0-28{fill:var(--a)}svg .RdYlBu .q1-28{fill:var(--b)}svg .RdYlBu .q2-28{fill:var(--c)}svg .RdYlBu .q3-28{fill:var(--d)}svg .RdYlBu .q4-28{fill:var(--e)}svg .RdYlBu .q5-28{fill:var(--h)}svg .RdYlBu .q6-28{fill:var(--i)}svg .RdYlBu .q7-28{fill:var(--j)}svg .RdYlBu .q8-28{fill:var(--k)}svg .RdYlBu .q9-28{fill:var(--l)}svg .RdYlBu .q10-28{fill:var(--m)}svg .RdYlBu .q11-28{fill:var(--n)}svg .RdYlBu .q12-28{fill:var(--o)}svg .RdYlBu .q13-28{fill:var(--p)}svg .RdYlBu .q14-28{fill:var(--q)}svg .RdYlBu .q15-28{fill:var(--r)}svg .RdYlBu .q16-28{fill:var(--s)}svg .RdYlBu .q17-28{fill:var(--t)}svg .RdYlBu .q18-28{fill:var(--u)}svg .RdYlBu .q19-28{fill:var(--v)}svg .RdYlBu .q20-28{fill:var(--w)}svg .RdYlBu .q21-28{fill:var(--x)}svg .RdYlBu .q22-28{fill:var(--y)}svg .RdYlBu .q23-28{fill:var(--z)}svg .RdYlBu .q24-28{fill:var(--aa)}svg .RdYlBu .q25-28{fill:var(--ab)}svg .RdYlBu .q26-28{fill:var(--ae)}svg .RdYlBu .q27-28{fill:var(--af)}svg .RdYlBu .q0-29{fill:var(--a)}svg .RdYlBu .q1-29{fill:var(--b)}svg .RdYlBu .q2-29{fill:var(--c)}svg .RdYlBu .q3-29{fill:var(--d)}svg .RdYlBu .q4-29{fill:var(--e)}svg .RdYlBu .q5-29{fill:var(--f)}svg .RdYlBu .q6-29{fill:var(--h)}svg .RdYlBu .q7-29{fill:var(--i)}svg .RdYlBu .q8-29{fill:var(--j)}svg .RdYlBu .q9-29{fill:var(--k)}svg .RdYlBu .q10-29{fill:var(--l)}svg .RdYlBu .q11-29{fill:var(--m)}svg .RdYlBu .q12-29{fill:var(--n)}svg .RdYlBu .q13-29{fill:var(--o)}svg .RdYlBu .q14-29{fill:var(--q)}svg .RdYlBu .q15-29{fill:var(--r)}svg .RdYlBu .q16-29{fill:var(--s)}svg .RdYlBu .q17-29{fill:var(--t)}svg .RdYlBu .q18-29{fill:var(--u)}svg .RdYlBu .q19-29{fill:var(--v)}svg .RdYlBu .q20-29{fill:var(--w)}svg .RdYlBu .q21-29{fill:var(--x)}svg .RdYlBu .q22-29{fill:var(--y)}svg .RdYlBu .q23-29{fill:var(--z)}svg .RdYlBu .q24-29{fill:var(--aa)}svg .RdYlBu .q25-29{fill:var(--ab)}svg .RdYlBu .q26-29{fill:var(--ad)}svg .RdYlBu .q27-29{fill:var(--ae)}svg .RdYlBu .q28-29{fill:var(--af)}svg .RdYlBu .q0-30{fill:var(--a)}svg .RdYlBu .q1-30{fill:var(--b)}svg .RdYlBu .q2-30{fill:var(--c)}svg .RdYlBu .q3-30{fill:var(--d)}svg .RdYlBu .q4-30{fill:var(--e)}svg .RdYlBu .q5-30{fill:var(--f)}svg .RdYlBu .q6-30{fill:var(--h)}svg .RdYlBu .q7-30{fill:var(--i)}svg .RdYlBu .q8-30{fill:var(--j)}svg .RdYlBu .q9-30{fill:var(--k)}svg .RdYlBu .q10-30{fill:var(--l)}svg .RdYlBu .q11-30{fill:var(--m)}svg .RdYlBu .q12-30{fill:var(--n)}svg .RdYlBu .q13-30{fill:var(--o)}svg .RdYlBu .q14-30{fill:var(--p)}svg .RdYlBu .q15-30{fill:var(--q)}svg .RdYlBu .q16-30{fill:var(--r)}svg .RdYlBu .q17-30{fill:var(--s)}svg .RdYlBu .q18-30{fill:var(--t)}svg .RdYlBu .q19-30{fill:var(--u)}svg .RdYlBu .q20-30{fill:var(--v)}svg .RdYlBu .q21-30{fill:var(--w)}svg .RdYlBu .q22-30{fill:var(--x)}svg .RdYlBu .q23-30{fill:var(--y)}svg .RdYlBu .q24-30{fill:var(--z)}svg .RdYlBu .q25-30{fill:var(--aa)}svg .RdYlBu .q26-30{fill:var(--ab)}svg .RdYlBu .q27-30{fill:var(--ad)}svg .RdYlBu .q28-30{fill:var(--ae)}svg .RdYlBu .q29-30{fill:var(--af)}svg .RdYlBu .q0-31{fill:var(--a)}svg .RdYlBu .q1-31{fill:var(--b)}svg .RdYlBu .q2-31{fill:var(--c)}svg .RdYlBu .q3-31{fill:var(--d)}svg .RdYlBu .q4-31{fill:var(--e)}svg .RdYlBu .q5-31{fill:var(--f)}svg .RdYlBu .q6-31{fill:var(--g)}svg .RdYlBu .q7-31{fill:var(--h)}svg .RdYlBu .q8-31{fill:var(--i)}svg .RdYlBu .q9-31{fill:var(--j)}svg .RdYlBu .q10-31{fill:var(--k)}svg .RdYlBu .q11-31{fill:var(--l)}svg .RdYlBu .q12-31{fill:var(--m)}svg .RdYlBu .q13-31{fill:var(--n)}svg .RdYlBu .q14-31{fill:var(--o)}svg .RdYlBu .q15-31{fill:var(--q)}svg .RdYlBu .q16-31{fill:var(--r)}svg .RdYlBu .q17-31{fill:var(--s)}svg .RdYlBu .q18-31{fill:var(--t)}svg .RdYlBu .q19-31{fill:var(--u)}svg .RdYlBu .q20-31{fill:var(--v)}svg .RdYlBu .q21-31{fill:var(--w)}svg .RdYlBu .q22-31{fill:var(--x)}svg .RdYlBu .q23-31{fill:var(--y)}svg .RdYlBu .q24-31{fill:var(--z)}svg .RdYlBu .q25-31{fill:var(--aa)}svg .RdYlBu .q26-31{fill:var(--ab)}svg .RdYlBu .q27-31{fill:var(--ac)}svg .RdYlBu .q28-31{fill:var(--ad)}svg .RdYlBu .q29-31{fill:var(--ae)}svg .RdYlBu .q30-31{fill:var(--af)}svg .RdYlBu .q0-32{fill:var(--a)}svg .RdYlBu .q1-32{fill:var(--b)}svg .RdYlBu .q2-32{fill:var(--c)}svg .RdYlBu .q3-32{fill:var(--d)}svg .RdYlBu .q4-32{fill:var(--e)}svg .RdYlBu .q5-32{fill:var(--f)}svg .RdYlBu .q6-32{fill:var(--g)}svg .RdYlBu .q7-32{fill:var(--h)}svg .RdYlBu .q8-32{fill:var(--i)}svg .RdYlBu .q9-32{fill:var(--j)}svg .RdYlBu .q10-32{fill:var(--k)}svg .RdYlBu .q11-32{fill:var(--l)}svg .RdYlBu .q12-32{fill:var(--m)}svg .RdYlBu .q13-32{fill:var(--n)}svg .RdYlBu .q14-32{fill:var(--o)}svg .RdYlBu .q15-32{fill:var(--p)}svg .RdYlBu .q16-32{fill:var(--q)}svg .RdYlBu .q17-32{fill:var(--r)}svg .RdYlBu .q18-32{fill:var(--s)}svg .RdYlBu .q19-32{fill:var(--t)}svg .RdYlBu .q20-32{fill:var(--u)}svg .RdYlBu .q21-32{fill:var(--v)}svg .RdYlBu .q22-32{fill:var(--w)}svg .RdYlBu .q23-32{fill:var(--x)}svg .RdYlBu .q24-32{fill:var(--y)}svg .RdYlBu .q25-32{fill:var(--z)}svg .RdYlBu .q26-32{fill:var(--aa)}svg .RdYlBu .q27-32{fill:var(--ab)}svg .RdYlBu .q28-32{fill:var(--ac)}svg .RdYlBu .q29-32{fill:var(--ad)}svg .RdYlBu .q30-32{fill:var(--ae)}svg .RdYlBu .q31-32{fill:var(--af)}.first-letter\:capitalize:first-letter{text-transform:capitalize}.placeholder\:text-gray-400::-moz-placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.placeholder\:text-gray-400::placeholder{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity))}.hover\:bg-blue-400:hover{--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity))}.hover\:bg-seqorange:hover{--tw-bg-opacity:1;background-color:rgb(199 79 19/var(--tw-bg-opacity))}.hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.focus\:text-seqorange:focus,.hover\:text-seqorange:hover{--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--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)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--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(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-inset:focus{--tw-ring-inset:inset}.focus\:ring-seqblue:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(27 85 122/var(--tw-ring-opacity))}.focus\:ring-seqorange:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(199 79 19/var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.active\:text-seqorange:active{--tw-text-opacity:1;color:rgb(199 79 19/var(--tw-text-opacity))}.group:hover .group-hover\:flex{display:flex}@media (min-width:640px){.sm\:ml-3{margin-left:.75rem}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:w-auto{width:auto}.sm\:flex-row{flex-direction:row}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:pb-4{padding-bottom:1rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-3{grid-column:span 3/span 3}.md\:my-2{margin-top:.5rem;margin-bottom:.5rem}.md\:block{display:block}.md\:flex{display:flex}.md\:w-6\/12{width:50%}.md\:w-auto{width:auto}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1rem*var(--tw-space-x-reverse));margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)))}.md\:overflow-hidden{overflow:hidden}.md\:pr-0{padding-right:0}.md\:text-base{font-size:1rem;line-height:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media (min-width:1024px){.lg\:px-8{padding-left:2rem;padding-right:2rem}} \ No newline at end of file diff --git a/public/js/cloud_share_modal.js b/public/js/cloud_share_modal.js index 0b639bda..5d0ad265 100644 --- a/public/js/cloud_share_modal.js +++ b/public/js/cloud_share_modal.js @@ -80,12 +80,10 @@ export default class CloudShareModal extends React.Component { show = () => { this.modalRef.current?.showModal(); - document.body.classList.add("overflow-hidden"); } hide = () => { this.modalRef.current?.close(); - document.body.classList.remove("overflow-hidden"); } renderLoading() { diff --git a/public/js/error_modal.js b/public/js/error_modal.js index 56388351..b759541d 100644 --- a/public/js/error_modal.js +++ b/public/js/error_modal.js @@ -17,7 +17,7 @@ export default class ErrorModal extends React.Component { errorData: {}, isModalVisible: false }; - this.modal = createRef(); + this.modalRef = createRef(); } render() { @@ -25,7 +25,7 @@ export default class ErrorModal extends React.Component { return (
- +

@@ -58,8 +58,7 @@ export default class ErrorModal extends React.Component { // modal. This is helpful if the caller wants to finish some work // before showing error modal. setTimeout(() => { - this.modal.current?.showModal(); - document.body.classList.add("overflow-hidden"); + this.modalRef.current?.showModal(); }, beforeShow || 0); } @@ -67,7 +66,6 @@ export default class ErrorModal extends React.Component { * Hide dialogue. */ hide = () => { - this.modal.current?.close(); - document.body.classList.remove("overflow-hidden"); + this.modalRef.current?.close(); } } diff --git a/public/js/options.js b/public/js/options.js index 3883be20..cc812d02 100644 --- a/public/js/options.js +++ b/public/js/options.js @@ -165,7 +165,6 @@ export class Options extends Component { } modal.showModal(); - document.body.classList.add("overflow-hidden"); } render() { diff --git a/public/js/search.js b/public/js/search.js index a2727605..efe84191 100644 --- a/public/js/search.js +++ b/public/js/search.js @@ -41,11 +41,12 @@ root.render(); document.addEventListener('DOMContentLoaded', () => { const closeButton = document.querySelector('button.advanced-modal-close'); - const modal = document.querySelector('dialog.advanced-modal') + const modal = document.querySelector('dialog.advanced-modal'); + modal.addEventListener('close', () => { document.body.classList.remove("overflow-hidden") }); + if (closeButton) { closeButton.addEventListener('click', function() { modal.close(); - document.body.classList.add("overflow-hidden"); }); } }); diff --git a/public/js/sequence.js b/public/js/sequence.js index fa081c18..6cb7c71e 100644 --- a/public/js/sequence.js +++ b/public/js/sequence.js @@ -1180,20 +1180,13 @@ require = (function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { va if (opt.numLeft) { $('
')
                             .html(indL)
-                            .addClass('indL')
-                            .css({
-                                color: '#aaa',
-                                display: 'inline-block'
-                            })
+                            .addClass('indL hidden sm:inline-block')
                             .appendTo(this._contentDiv);
                     }
 
                     $('
')
                         .html(str)
-                        .addClass('seqF')
-                        .css({
-                            display: 'inline-block'
-                        })
+                        .addClass('seqF inline-block')
                         .appendTo(this._contentDiv);
 
                     if (opt.numRight) {
diff --git a/public/js/sequence_modal.js b/public/js/sequence_modal.js
index 1cc39a12..9eb58e5b 100644
--- a/public/js/sequence_modal.js
+++ b/public/js/sequence_modal.js
@@ -35,7 +35,7 @@ export default class SequenceModal extends React.Component {
                 
               
             

-
+
{(requestCompleted && this.resultsJSX()) || this.loadingJSX()}
@@ -51,7 +51,6 @@ export default class SequenceModal extends React.Component { this.modalRef.current?.showModal(); this.setState({ requestCompleted: false }); this.loadJSON(url); - document.body.classList.add("overflow-hidden"); } /** @@ -59,7 +58,6 @@ export default class SequenceModal extends React.Component { */ hide = () => { this.modalRef.current?.close(); - document.body.classList.remove("overflow-hidden"); } /** diff --git a/public/sequenceserver-report.min.js b/public/sequenceserver-report.min.js index 256bb9fc..218dd966 100644 --- a/public/sequenceserver-report.min.js +++ b/public/sequenceserver-report.min.js @@ -1,3 +1,102361 @@ -/*! For license information please see sequenceserver-report.min.js.LICENSE.txt */ -(()=>{var e={606:(e,t,n)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}e=n.nmd(e);var i=n(365),o=Math.PI,a=o/2;function s(e){return"function"==typeof e?e:function(){return e}}function l(e){return e.source}function u(e){return e.target}function c(e){return e.radius}function f(e){return e.startAngle}function h(e){return e.endAngle}var d,p=[].indexOf||function(e){for(var t=0,n=this.length;tf?{in:n.in-f,out:n.in}:{in:t[0].out,out:t[0].out+f}},null!==e&&(e.exports=d),d.checkParent=function(e,t,n,r){return e in n||(d.log(1,"datum","unknown parent id",{line:t+1,value:e,header:r,layoutSummary:n}),!1)},d.checkNumber=function(e,t){var n,r;for(n in e)if(r=e[n],isNaN(r))return d.log(1,"datum","not a number",{line:t+1,value:r,header:n}),!1;return!0},d.parseChordData=function(e,t){var n;return"source_id"in(n=e[0])&&"source_start"in n&&"target_id"in n&&"target_start"in n&&"target_end"in n&&(e=e.map((function(e){var t;return t=[e.source_id,e.source_start,e.source_end,e.target_id,e.target_start,e.target_end],null!=e.value&&t.push(e.value),t}))),{data:e=e.filter((function(e,n){return d.checkParent(e[0],n,t,"source_id")})).filter((function(e,n){return d.checkParent(e[3],n,t,"target_id")})).filter((function(e,t){return d.checkNumber({source_start:e[1],source_end:e[2],target_start:e[4],target_end:e[5],value:e[6]||1},t)})).map((function(e){return{source:{id:e[0],start:Math.max(0,parseFloat(e[1])),end:Math.min(t[e[0]],parseFloat(e[2]))},target:{id:e[3],start:Math.max(0,parseFloat(e[4])),end:Math.min(t[e[3]],parseFloat(e[5]))},value:parseFloat(e[6]),hsp:e[7]}})),meta:{min:i.min(e,(function(e){return e.value})),max:i.max(e,(function(e){return e.value}))}}},d.Layout=function(e,t){var n,r,i,o,a,s,l,u;for(i in null==t&&d.log(2,"no layout data",""),this.conf=d.mixConf(e,JSON.parse(JSON.stringify(this.defaultConf))),this.data=t,this.blocks={},this.size=0,o=0,a=this.data)u=a[i],this.blocks[u.id]={label:u.label,len:u.len,color:u.color,offset:o},u.offset=o,o+=u.len;for(i in this.size=o,r=this.conf.gap,l=this.size,n=this.data.length,s=this.data)u=s[i],this.blocks[u.id].start=u.offset/l*(2*Math.PI-n*r)+i*r,this.blocks[u.id].end=(u.offset+u.len)/l*(2*Math.PI-n*r)+i*r,u.start=u.offset/l*(2*Math.PI-n*r)+i*r,u.end=(u.offset+u.len)/l*(2*Math.PI-n*r)+i*r;return this.getAngle=function(e,t){var n;return n=this.blocks[e].start/this._size,"deg"===t?360*n:"rad"===t?2*n*Math.PI:null},this.summary=function(){var e,t,n,r,i;for(n={},t=0,r=(i=this._data).length;to)+",1 "+t}function g(e){return"Q 0,0 "+e}return d.radius=function(e){return arguments.length?(n=s(e),d):n},d.source=function(t){return arguments.length?(e=s(t),d):e},d.target=function(e){return arguments.length?(t=s(e),d):t},d.startAngle=function(e){return arguments.length?(r=s(e),d):r},d.endAngle=function(e){return arguments.length?(i=s(e),d):i},d}().source((function(e){return p(e,i)})).target((function(e){return m(e,i)}))).attr("opacity",(function(e){return n.opacity})).attr("id",(function(e){return e.source.id+"_"+e.target.id})).on("mouseover",(y=this,function(e,t){return y.dimChords(v,t,n),y.dispatch.call("mouseover",e,t)})).on("mouseout",function(e){return function(t,r){return e.resetChords(v,n),e.dispatch.call("mouseout",t,r)}}(this)),n.usePalette?g.attr("class",(function(e){return"q"+d(e.value,n.cmin,n.cmax,n.colorPaletteSize,n.colorPaletteReverse,n.logScale)+"-"+n.colorPaletteSize})):g.attr("fill",(function(e){return e.color||n.color})),g},this.render=(e=this,function(t,n,r){var i,o;if(n.select("."+r).remove(),o=n.append("g").attr("class",r).attr("z-index",e.conf.zIndex),i=e.renderChords(o,r,e.conf,e.data,t._layout,e.ratio,e.getSource,e.getTarget),null!=e.conf.tooltipContent)return d.registerTooltip(t,e,i,e.conf)}),this},d.Track=function(){var e;return this.build=function(e,t,n){return this.dispatch=i.dispatch("mouseover","mouseout"),this.loadData(n,e),this.conf=this.processConf(t,this.defaultConf,this.meta,e,this),this.applyRules(t.rules,this.data)},this.loadData=function(e,t){var n,r,i,o,a,s;for(i={},r=0,o=(a=t._layout.data).length;r0?e<=n:e>=n;s=e+=r)i.push(s);return i}()),a=i.arc().innerRadius((function(e){return e})).outerRadius((function(e){return e})).startAngle(0).endAngle((function(e,t,i){var o;return(o=n.blocks[r[i].key]).end-o.start})),console.log("axis",a),e.selectAll(".axis").data(o).enter().append("path").attr("opacity",t.opacity).attr("class","axis").attr("d",a).attr("stroke-width",(function(e,n){return n%t.axes.major.spacing==0?t.axes.major.thickness:t.axes.minor.thickness})).attr("stroke",(function(e,n){return n%t.axes.major.spacing==0?t.axes.major.color:t.axes.minor.color}))},this.theta=function(e,t){return e/t.len*(t.end-t.start)},this.x=function(e){return function(t,n,r){var i,o,a;return o=e.ratio(t.value,r.cmin,r.cmax,r.outerRadius-r.innerRadius,!1,r.logscale),a="in"===r.direction?r.outerRadius-o:r.innerRadius+o,i=e.theta(t.position,n.blocks[t.block_id])-Math.PI/2,a*Math.cos(i)}}(this),this.y=function(e){return function(t,n,r){var i,o,a;return o=e.ratio(t.value,r.cmin,r.cmax,r.outerRadius-r.innerRadius,!1,r.logscale),a="in"===r.direction?r.outerRadius-o:r.innerRadius+o,i=e.theta(t.position,n.blocks[t.block_id])-Math.PI/2,a*Math.sin(i)}}(this),this.ratio=function(e,t,n,r,i,o){var a,s,l;return s=o?2.3:1,t===n||e===t&&!i||e===n&&i?0:e===n||e===t&&i?r-1:(a=(e-t)/(n-t),l=Math.exp(1/s*Math.log(a)),i&&(l=1-l),Math.floor(r*l))},this},d.renderLayout=function(e,t,n){var r,i,o,a;if(i=n._layout.conf,t.select(".cs-layout").remove(),r=(a=t.append("g").attr("class","cs-layout").attr("z-index",i.zIndex).on("click",i.onClick)).selectAll("g").data(n._layout.data).enter().append("g").attr("class",(function(e){return e.id})).attr("opacity",i.opacity),o=e.arc().innerRadius(i.innerRadius).outerRadius(i.outerRadius).cornerRadius(i.cornerRadius).startAngle((function(e){return e.start})).endAngle((function(e){return e.end})),r.append("path").attr("d",o).attr("fill",(function(e){return e.color})).attr("id",(function(e){return e.id})),i.labels.display&&d.renderLayoutLabels(i,e,r),i.ticks.display)return d.renderLayoutTicks(i,a,e,n)},d.renderLayoutLabels=function(e,t,n){var r,i;return i=e.innerRadius+e.labels.radialOffset,r=t.arc().innerRadius(i).outerRadius(i).startAngle((function(e,t){return e.start})).endAngle((function(e,t){return e.end})),n.append("path").attr("fill","none").attr("stroke","none").attr("d",r).attr("id",(function(e){return"arc-label"+e.id})),n.append("text").attr("font-size",e.labels.size).attr("text-anchor","middle").append("textPath").attr("startOffset","25%").attr("xlink:href",(function(e){return"#arc-label"+e.id})).style("fill",e.labels.color).text((function(e){var t=e.end-e.start;return e.label.slice(0,Math.floor(21*t))+".."}))},d.renderLayoutTicks=function(e,t,n,r){var i,o;return i=function(t){var r,i;r=(t.end-t.start)/t.len,t.end-t.start>1.57?i=8:t.end-t.start>.785?i=4:t.end-t.start>.3925?i=2:t.end-t.start>0&&(i=0);var o=[],a={angle:0*r+t.start,label:0};o.push(a);var s=n.scaleLinear().domain([1,t.len]).range([t.start,t.end]),l=s.ticks(i).length;return s.ticks(i).map((function(n,i){t.start,t.len,t.start;var a={angle:n*r+t.start,label:n/e.ticks.labelDenominator+e.ticks.labelSuffix};o.push(a)})),o.splice(l,1),a={angle:t.len*r+t.start-.006,label:t.len/e.ticks.labelDenominator+e.ticks.labelSuffix},o.push(a),o},(o=t.append("g").selectAll("g").data(r._layout.data).enter().append("g").selectAll("g").data(i).enter().append("g").attr("transform",(function(t){return"rotate("+(180*t.angle/Math.PI-90)+")translate("+e.outerRadius+",0)"}))).append("line").attr("x1",0).attr("y1",1).attr("x2",(function(t,n){return e.ticks.size.major})).attr("y2",1).style("stroke",e.ticks.color),o.append("text").attr("x",8).attr("dy",".35em").attr("transform",(function(e){return e.angle>Math.PI?"rotate(180)translate(-16)":null})).attr("text-anchor",(function(e){return e.angle>Math.PI?"end":null})).attr("font-size",e.ticks.labelSize).style("fill",e.ticks.labelColor).text((function(e){return e.label}))},d.Core.prototype.render=function(e,t){var n,r,o,a,s,l,u,c,f;if(void 0===e&&(a=!0,e=[]),t)for(c in r=this.tracks)for(n in u=r[c])l=u[n],s.select("."+n).remove();for(c in(f=(s=i.select(this.conf.container)).select(".all")).empty()&&(f=(f=s.append("svg").attr("width",this.conf.width).attr("height",this.conf.height)).append("g").attr("class","all").attr("transform","translate("+parseInt(this.conf.width/2)+","+parseInt(this.conf.height/2)+")")),o=this.tracks)for(n in u=o[c])l=u[n],(a||p.call(e,n)>=0)&&l.render(this,f,n);(a||p.call(e,"layout")>=0)&&d.renderLayout(i,f,this)},d.Core.prototype.defaultConf={width:700,height:700,container:"circos",defaultTrackWidth:10},d.Layout.prototype.defaultConf={innerRadius:250,outerRadius:300,cornerRadius:5,gap:.04,opacity:1,labels:{position:"center",display:!0,size:14,color:"#000",radialOffset:20},ticks:{display:!0,color:"grey",spacing:1e7,labels:!0,labelSpacing:10,labelSuffix:"Mb",labelDenominator:1e6,labelDisplay0:!0,labelSize:10,labelColor:"#000",labelFont:"default",majorSpacing:5,size:{minor:2,major:5}},onClick:null,onMouseOver:null,zIndex:100},d.axes={display:!1,minor:{spacing:5,spacingType:"pixel",color:"#d3d3d3",thickness:2},major:{spacing:5,color:"#000000",thickness:2}},d.Chord.prototype.defaultConf={colorPaletteSize:9,colorPalette:"PuBuGn",usePalette:!0,colorPaletteReverse:!1,color:"#fd6a62",opacity:.7,min:"smart",max:"smart",logScale:!1,rules:[],backgrounds:[],zIndex:1,tooltipContent:null},d.registerTooltip=function(e,t,n,r){return t.tip=i.tip().direction("s").offset([20,0]).html(r.tooltipContent),n.call(t.tip),t.dispatch.on("mouseover",(function(e,n,r){return t.tip.attr("class","d3-tip appear").show(e)})),t.dispatch.on("mouseout",(function(e,n,r){return t.tip.attr("class","d3-tip").show(e),t.tip.hide()}))}},311:(e,t,n)=>{var r,i,o;function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}!function(){"use strict";i=[n(692)],r=function(e){e.ui=e.ui||{},e.ui.version="1.13.3";var t,n=0,r=Array.prototype.hasOwnProperty,i=Array.prototype.slice;e.cleanData=(t=e.cleanData,function(n){var r,i,o;for(o=0;null!=(i=n[o]);o++)(r=e._data(i,"events"))&&r.remove&&e(i).triggerHandler("remove");t(n)}),e.widget=function(t,n,r){var i,o,a,s={},l=t.split(".")[0],u=l+"-"+(t=t.split(".")[1]);return r||(r=n,n=e.Widget),Array.isArray(r)&&(r=e.extend.apply(null,[{}].concat(r))),e.expr.pseudos[u.toLowerCase()]=function(t){return!!e.data(t,u)},e[l]=e[l]||{},i=e[l][t],o=e[l][t]=function(e,t){if(!this||!this._createWidget)return new o(e,t);arguments.length&&this._createWidget(e,t)},e.extend(o,i,{version:r.version,_proto:e.extend({},r),_childConstructors:[]}),(a=new n).options=e.widget.extend({},a.options),e.each(r,(function(e,t){s[e]="function"==typeof t?function(){function r(){return n.prototype[e].apply(this,arguments)}function i(t){return n.prototype[e].apply(this,t)}return function(){var e,n=this._super,o=this._superApply;return this._super=r,this._superApply=i,e=t.apply(this,arguments),this._super=n,this._superApply=o,e}}():t})),o.prototype=e.widget.extend(a,{widgetEventPrefix:i&&a.widgetEventPrefix||t},s,{constructor:o,namespace:l,widgetName:t,widgetFullName:u}),i?(e.each(i._childConstructors,(function(t,n){var r=n.prototype;e.widget(r.namespace+"."+r.widgetName,o,n._proto)})),delete i._childConstructors):n._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var n,o,a=i.call(arguments,1),s=0,l=a.length;s",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,r){r=e(r||this.defaultElement||this)[0],this.element=e(r),this.uuid=n++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),this.classesElementLookup={},r!==this&&(e.data(r,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===r&&this.destroy()}}),this.document=e(r.style?r.ownerDocument:r.document||r),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){var t=this;this._destroy(),e.each(this.classesElementLookup,(function(e,n){t._removeClass(n,e)})),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:e.noop,widget:function(){return this.element},option:function(t,n){var r,i,o,a=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(a={},r=t.split("."),t=r.shift(),r.length){for(i=a[t]=e.widget.extend({},this.options[t]),o=0;o
"),o=i.children()[0];return e("body").append(i),n=o.offsetWidth,i.css("overflow","scroll"),n===(r=o.offsetWidth)&&(r=i[0].clientWidth),i.remove(),t=n-r},getScrollInfo:function(t){var n=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),r=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),i="scroll"===n||"auto"===n&&t.width0?"right":"center",vertical:c<0?"top":l>0?"bottom":"middle"};dn(r(l),r(c))?f.important="horizontal":f.important="vertical",t.using.call(this,e,f)}),a.offset(e.extend(C,{using:o}))}))},e.ui.position={fit:{left:function(e,t){var r,i=t.within,o=i.isWindow?i.scrollLeft:i.offset.left,a=i.width,s=e.left-t.collisionPosition.marginLeft,l=o-s,u=s+t.collisionWidth-a-o;t.collisionWidth>a?l>0&&u<=0?(r=e.left+l+t.collisionWidth-a-o,e.left+=l-r):e.left=u>0&&l<=0?o:l>u?o+a-t.collisionWidth:o:l>0?e.left+=l:u>0?e.left-=u:e.left=n(e.left-s,e.left)},top:function(e,t){var r,i=t.within,o=i.isWindow?i.scrollTop:i.offset.top,a=t.within.height,s=e.top-t.collisionPosition.marginTop,l=o-s,u=s+t.collisionHeight-a-o;t.collisionHeight>a?l>0&&u<=0?(r=e.top+l+t.collisionHeight-a-o,e.top+=l-r):e.top=u>0&&l<=0?o:l>u?o+a-t.collisionHeight:o:l>0?e.top+=l:u>0?e.top-=u:e.top=n(e.top-s,e.top)}},flip:{left:function(e,t){var n,i,o=t.within,a=o.offset.left+o.scrollLeft,s=o.width,l=o.isWindow?o.scrollLeft:o.offset.left,u=e.left-t.collisionPosition.marginLeft,c=u-l,f=u+t.collisionWidth-s-l,h="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,d="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,p=-2*t.offset[0];c<0?((n=e.left+h+d+p+t.collisionWidth-s-a)<0||n0&&((i=e.left-t.collisionPosition.marginLeft+h+d+p-l)>0||r(i)0&&((n=e.top-t.collisionPosition.marginTop+h+d+p-l)>0||r(n)")[0],y=l.each;function b(e){return null==e?e+"":"object"===a(e)?u[c.call(e)]||"object":a(e)}function _(e,t,n){var r=m[t.type]||{};return null==e?n||!t.def?null:t.def:(e=r.floor?~~e:parseFloat(e),isNaN(e)?t.def:r.mod?(e+r.mod)%r.mod:Math.min(r.max,Math.max(0,e)))}function w(e){var t=d(),n=t._rgba=[];return e=e.toLowerCase(),y(h,(function(r,i){var o,a=i.re.exec(e),s=a&&i.parse(a),l=i.space||"rgba";if(s)return o=t[l](s),t[p[l].cache]=o[p[l].cache],n=t._rgba=o._rgba,!1})),n.length?("0,0,0,0"===n.join()&&l.extend(n,o.transparent),t):o[e]}function x(e,t,n){return 6*(n=(n+1)%1)<1?e+(t-e)*n*6:2*n<1?t:3*n<2?e+(t-e)*(2/3-n)*6:e}v.style.cssText="background-color:rgba(1,1,1,.5)",g.rgba=v.style.backgroundColor.indexOf("rgba")>-1,y(p,(function(e,t){t.cache="_"+e,t.props.alpha={idx:3,type:"percent",def:1}})),l.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){u["[object "+t+"]"]=t.toLowerCase()})),d.fn=l.extend(d.prototype,{parse:function(e,t,n,r){if(void 0===e)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=l(e).css(t),t=void 0);var i=this,a=b(e),s=this._rgba=[];return void 0!==t&&(e=[e,t,n,r],a="array"),"string"===a?this.parse(w(e)||o._default):"array"===a?(y(p.rgba.props,(function(t,n){s[n.idx]=_(e[n.idx],n)})),this):"object"===a?(y(p,e instanceof d?function(t,n){e[n.cache]&&(i[n.cache]=e[n.cache].slice())}:function(t,n){var r=n.cache;y(n.props,(function(t,o){if(!i[r]&&n.to){if("alpha"===t||null==e[t])return;i[r]=n.to(i._rgba)}i[r][o.idx]=_(e[t],o,!0)})),i[r]&&l.inArray(null,i[r].slice(0,3))<0&&(null==i[r][3]&&(i[r][3]=1),n.from&&(i._rgba=n.from(i[r])))}),this):void 0},is:function(e){var t=d(e),n=!0,r=this;return y(p,(function(e,i){var o,a=t[i.cache];return a&&(o=r[i.cache]||i.to&&i.to(r._rgba)||[],y(i.props,(function(e,t){if(null!=a[t.idx])return n=a[t.idx]===o[t.idx]}))),n})),n},_space:function(){var e=[],t=this;return y(p,(function(n,r){t[r.cache]&&e.push(n)})),e.pop()},transition:function(e,t){var n=d(e),r=n._space(),i=p[r],o=0===this.alpha()?d("transparent"):this,a=o[i.cache]||i.to(o._rgba),s=a.slice();return n=n[i.cache],y(i.props,(function(e,r){var i=r.idx,o=a[i],l=n[i],u=m[r.type]||{};null!==l&&(null===o?s[i]=l:(u.mod&&(l-o>u.mod/2?o+=u.mod:o-l>u.mod/2&&(o-=u.mod)),s[i]=_((l-o)*t+o,r)))})),this[r](s)},blend:function(e){if(1===this._rgba[3])return this;var t=this._rgba.slice(),n=t.pop(),r=d(e)._rgba;return d(l.map(t,(function(e,t){return(1-n)*r[t]+n*e})))},toRgbaString:function(){var e="rgba(",t=l.map(this._rgba,(function(e,t){return null!=e?e:t>2?1:0}));return 1===t[3]&&(t.pop(),e="rgb("),e+t.join()+")"},toHslaString:function(){var e="hsla(",t=l.map(this.hsla(),(function(e,t){return null==e&&(e=t>2?1:0),t&&t<3&&(e=Math.round(100*e)+"%"),e}));return 1===t[3]&&(t.pop(),e="hsl("),e+t.join()+")"},toHexString:function(e){var t=this._rgba.slice(),n=t.pop();return e&&t.push(~~(255*n)),"#"+l.map(t,(function(e){return 1===(e=(e||0).toString(16)).length?"0"+e:e})).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),d.fn.parse.prototype=d.fn,p.hsla.to=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t,n,r=e[0]/255,i=e[1]/255,o=e[2]/255,a=e[3],s=Math.max(r,i,o),l=Math.min(r,i,o),u=s-l,c=s+l,f=.5*c;return t=l===s?0:r===s?60*(i-o)/u+360:i===s?60*(o-r)/u+120:60*(r-i)/u+240,n=0===u?0:f<=.5?u/c:u/(2-c),[Math.round(t)%360,n,f,null==a?1:a]},p.hsla.from=function(e){if(null==e[0]||null==e[1]||null==e[2])return[null,null,null,e[3]];var t=e[0]/360,n=e[1],r=e[2],i=e[3],o=r<=.5?r*(1+n):r+n-r*n,a=2*r-o;return[Math.round(255*x(a,o,t+1/3)),Math.round(255*x(a,o,t)),Math.round(255*x(a,o,t-1/3)),i]},y(p,(function(e,t){var n=t.props,r=t.cache,i=t.to,o=t.from;d.fn[e]=function(e){if(i&&!this[r]&&(this[r]=i(this._rgba)),void 0===e)return this[r].slice();var t,a=b(e),s="array"===a||"object"===a?e:arguments,l=this[r].slice();return y(n,(function(e,t){var n=s["object"===a?e:t.idx];null==n&&(n=l[t.idx]),l[t.idx]=_(n,t)})),o?((t=d(o(l)))[r]=l,t):d(l)},y(n,(function(t,n){d.fn[t]||(d.fn[t]=function(r){var i,o,a,s,l=b(r);return o=(i=this[s="alpha"===t?this._hsla?"hsla":"rgba":e]())[n.idx],"undefined"===l?o:("function"===l&&(l=b(r=r.call(this,o))),null==r&&n.empty?this:("string"===l&&(a=f.exec(r))&&(r=o+parseFloat(a[2])*("+"===a[1]?1:-1)),i[n.idx]=r,this[s](i)))})}))})),d.hook=function(e){var t=e.split(" ");y(t,(function(e,t){l.cssHooks[t]={set:function(e,n){var r,i,o="";if("transparent"!==n&&("string"!==b(n)||(r=w(n)))){if(n=d(r||n),!g.rgba&&1!==n._rgba[3]){for(i="backgroundColor"===t?e.parentNode:e;(""===o||"transparent"===o)&&i&&i.style;)try{o=l.css(i,"backgroundColor"),i=i.parentNode}catch(e){}n=n.blend(o&&"transparent"!==o?o:"_default")}n=n.toRgbaString()}try{e.style[t]=n}catch(e){}}},l.fx.step[t]=function(e){e.colorInit||(e.start=d(e.elem,t),e.end=d(e.end),e.colorInit=!0),l.cssHooks[t].set(e.elem,e.start.transition(e.end,e.pos))}}))},d.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),l.cssHooks.borderColor={expand:function(e){var t={};return y(["Top","Right","Bottom","Left"],(function(n,r){t["border"+r+"Color"]=e})),t}},o=l.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"};var k,S,C="ui-effects-",T="ui-effects-style",E="ui-effects-animated";if(e.effects={effect:{}},function(){var t=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};function r(e){var t,n,r,i=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(i&&i.length&&i[0]&&i[i[0]])for(n=i.length;n--;)"string"==typeof i[t=i[n]]&&(o[(r=t,r.replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()})))]=i[t]);else for(t in i)"string"==typeof i[t]&&(o[t]=i[t]);return o}e.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],(function(t,n){e.fx.step[n]=function(e){("none"!==e.end&&!e.setAttr||1===e.pos&&!e.setAttr)&&(l.style(e.elem,n,e.end),e.setAttr=!0)}})),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e.effects.animateClass=function(i,o,a,s){var l=e.speed(o,a,s);return this.queue((function(){var o,a=e(this),s=a.attr("class")||"",u=l.children?a.find("*").addBack():a;u=u.map((function(){return{el:e(this),start:r(this)}})),(o=function(){e.each(t,(function(e,t){i[t]&&a[t+"Class"](i[t])}))})(),u=u.map((function(){return this.end=r(this.el[0]),this.diff=function(t,r){var i,o,a={};for(i in r)o=r[i],t[i]!==o&&(n[i]||!e.fx.step[i]&&isNaN(parseFloat(o))||(a[i]=o));return a}(this.start,this.end),this})),a.attr("class",s),u=u.map((function(){var t=this,n=e.Deferred(),r=e.extend({},l,{queue:!1,complete:function(){n.resolve(t)}});return this.el.animate(this.diff,r),n.promise()})),e.when.apply(e,u.get()).done((function(){o(),e.each(arguments,(function(){var t=this.el;e.each(this.diff,(function(e){t.css(e,"")}))})),l.complete.call(a[0])}))}))},e.fn.extend({addClass:function(t){return function(n,r,i,o){return r?e.effects.animateClass.call(this,{add:n},r,i,o):t.apply(this,arguments)}}(e.fn.addClass),removeClass:function(t){return function(n,r,i,o){return arguments.length>1?e.effects.animateClass.call(this,{remove:n},r,i,o):t.apply(this,arguments)}}(e.fn.removeClass),toggleClass:function(t){return function(n,r,i,o,a){return"boolean"==typeof r||void 0===r?i?e.effects.animateClass.call(this,r?{add:n}:{remove:n},i,o,a):t.apply(this,arguments):e.effects.animateClass.call(this,{toggle:n},r,i,o)}}(e.fn.toggleClass),switchClass:function(t,n,r,i,o){return e.effects.animateClass.call(this,{add:n,remove:t},r,i,o)}})}(),function(){function t(t,n,r,i){return e.isPlainObject(t)&&(n=t,t=t.effect),t={effect:t},null==n&&(n={}),"function"==typeof n&&(i=n,r=null,n={}),("number"==typeof n||e.fx.speeds[n])&&(i=r,r=n,n={}),"function"==typeof r&&(i=r,r=null),n&&e.extend(t,n),r=r||n.duration,t.duration=e.fx.off?0:"number"==typeof r?r:r in e.fx.speeds?e.fx.speeds[r]:e.fx.speeds._default,t.complete=i||n.complete,t}function n(t){return!(t&&"number"!=typeof t&&!e.fx.speeds[t])||"string"==typeof t&&!e.effects.effect[t]||"function"==typeof t||"object"===a(t)&&!t.effect}function r(e,t){var n=t.outerWidth(),r=t.outerHeight(),i=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(e)||["",0,n,r,0];return{top:parseFloat(i[1])||0,right:"auto"===i[2]?n:parseFloat(i[2]),bottom:"auto"===i[3]?r:parseFloat(i[3]),left:parseFloat(i[4])||0}}e.expr&&e.expr.pseudos&&e.expr.pseudos.animated&&(e.expr.pseudos.animated=function(t){return function(n){return!!e(n).data(E)||t(n)}}(e.expr.pseudos.animated)),!1!==e.uiBackCompat&&e.extend(e.effects,{save:function(e,t){for(var n=0,r=t.length;n
").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),i={width:t.width(),height:t.height()},o=document.activeElement;try{o.id}catch(e){o=document.body}return t.wrap(r),(t[0]===o||e.contains(t[0],o))&&e(o).trigger("focus"),r=t.parent(),"static"===t.css("position")?(r.css({position:"relative"}),t.css({position:"relative"})):(e.extend(n,{position:t.css("position"),zIndex:t.css("z-index")}),e.each(["top","left","bottom","right"],(function(e,r){n[r]=t.css(r),isNaN(parseInt(n[r],10))&&(n[r]="auto")})),t.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),t.css(i),r.css(n).show()},removeWrapper:function(t){var n=document.activeElement;return t.parent().is(".ui-effects-wrapper")&&(t.parent().replaceWith(t),(t[0]===n||e.contains(t[0],n))&&e(n).trigger("focus")),t}}),e.extend(e.effects,{version:"1.13.3",define:function(t,n,r){return r||(r=n,n="effect"),e.effects.effect[t]=r,e.effects.effect[t].mode=n,r},scaledDimensions:function(e,t,n){if(0===t)return{height:0,width:0,outerHeight:0,outerWidth:0};var r="horizontal"!==n?(t||100)/100:1,i="vertical"!==n?(t||100)/100:1;return{height:e.height()*i,width:e.width()*r,outerHeight:e.outerHeight()*i,outerWidth:e.outerWidth()*r}},clipToBox:function(e){return{width:e.clip.right-e.clip.left,height:e.clip.bottom-e.clip.top,left:e.clip.left,top:e.clip.top}},unshift:function(e,t,n){var r=e.queue();t>1&&r.splice.apply(r,[1,0].concat(r.splice(t,n))),e.dequeue()},saveStyle:function(e){e.data(T,e[0].style.cssText)},restoreStyle:function(e){e[0].style.cssText=e.data(T)||"",e.removeData(T)},mode:function(e,t){var n=e.is(":hidden");return"toggle"===t&&(t=n?"show":"hide"),(n?"hide"===t:"show"===t)&&(t="none"),t},getBaseline:function(e,t){var n,r;switch(e[0]){case"top":n=0;break;case"middle":n=.5;break;case"bottom":n=1;break;default:n=e[0]/t.height}switch(e[1]){case"left":r=0;break;case"center":r=.5;break;case"right":r=1;break;default:r=e[1]/t.width}return{x:r,y:n}},createPlaceholder:function(t){var n,r=t.css("position"),i=t.position();return t.css({marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()),/^(static|relative)/.test(r)&&(r="absolute",n=e("<"+t[0].nodeName+">").insertAfter(t).css({display:/^(inline|ruby)/.test(t.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:t.css("marginTop"),marginBottom:t.css("marginBottom"),marginLeft:t.css("marginLeft"),marginRight:t.css("marginRight"),float:t.css("float")}).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).addClass("ui-effects-placeholder"),t.data(C+"placeholder",n)),t.css({position:r,left:i.left,top:i.top}),n},removePlaceholder:function(e){var t=C+"placeholder",n=e.data(t);n&&(n.remove(),e.removeData(t))},cleanUp:function(t){e.effects.restoreStyle(t),e.effects.removePlaceholder(t)},setTransition:function(t,n,r,i){return i=i||{},e.each(n,(function(e,n){var o=t.cssUnit(n);o[0]>0&&(i[n]=o[0]*r+o[1])})),i}}),e.fn.extend({effect:function(){var n=t.apply(this,arguments),r=e.effects.effect[n.effect],i=r.mode,o=n.queue,a=o||"fx",s=n.complete,l=n.mode,u=[],c=function(t){var n=e(this),r=e.effects.mode(n,l)||i;n.data(E,!0),u.push(r),i&&("show"===r||r===i&&"hide"===r)&&n.show(),i&&"none"===r||e.effects.saveStyle(n),"function"==typeof t&&t()};if(e.fx.off||!r)return l?this[l](n.duration,s):this.each((function(){s&&s.call(this)}));function f(t){var o=e(this);function a(){"function"==typeof s&&s.call(o[0]),"function"==typeof t&&t()}n.mode=u.shift(),!1===e.uiBackCompat||i?"none"===n.mode?(o[l](),a()):r.call(o[0],n,(function(){o.removeData(E),e.effects.cleanUp(o),"hide"===n.mode&&o.hide(),a()})):(o.is(":hidden")?"hide"===l:"show"===l)?(o[l](),a()):r.call(o[0],n,a)}return!1===o?this.each(c).each(f):this.queue(a,c).queue(a,f)},show:function(e){return function(r){if(n(r))return e.apply(this,arguments);var i=t.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(e.fn.show),hide:function(e){return function(r){if(n(r))return e.apply(this,arguments);var i=t.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(e.fn.hide),toggle:function(e){return function(r){if(n(r)||"boolean"==typeof r)return e.apply(this,arguments);var i=t.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(e.fn.toggle),cssUnit:function(t){var n=this.css(t),r=[];return e.each(["em","px","%","pt"],(function(e,t){n.indexOf(t)>0&&(r=[parseFloat(n),t])})),r},cssClip:function(e){return e?this.css("clip","rect("+e.top+"px "+e.right+"px "+e.bottom+"px "+e.left+"px)"):r(this.css("clip"),this)},transfer:function(t,n){var r=e(this),i=e(t.to),o="fixed"===i.css("position"),a=e("body"),s=o?a.scrollTop():0,l=o?a.scrollLeft():0,u=i.offset(),c={top:u.top-s,left:u.left-l,height:i.innerHeight(),width:i.innerWidth()},f=r.offset(),h=e("
");h.appendTo("body").addClass(t.className).css({top:f.top-s,left:f.left-l,height:r.innerHeight(),width:r.innerWidth(),position:o?"fixed":"absolute"}).animate(c,t.duration,t.easing,(function(){h.remove(),"function"==typeof n&&n()}))}}),e.fx.step.clip=function(t){t.clipInit||(t.start=e(t.elem).cssClip(),"string"==typeof t.end&&(t.end=r(t.end,t.elem)),t.clipInit=!0),e(t.elem).cssClip({top:t.pos*(t.end.top-t.start.top)+t.start.top,right:t.pos*(t.end.right-t.start.right)+t.start.right,bottom:t.pos*(t.end.bottom-t.start.bottom)+t.start.bottom,left:t.pos*(t.end.left-t.start.left)+t.start.left})}}(),k={},e.each(["Quad","Cubic","Quart","Quint","Expo"],(function(e,t){k[t]=function(t){return Math.pow(t,e+2)}})),e.extend(k,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*t-2)/22-e,2)}}),e.each(k,(function(t,n){e.easing["easeIn"+t]=n,e.easing["easeOut"+t]=function(e){return 1-n(1-e)},e.easing["easeInOut"+t]=function(e){return e<.5?n(2*e)/2:1-n(-2*e+2)/2}})),e.effects,e.effects.define("blind","hide",(function(t,n){var r={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},i=e(this),o=t.direction||"up",a=i.cssClip(),s={clip:e.extend({},a)},l=e.effects.createPlaceholder(i);s.clip[r[o][0]]=s.clip[r[o][1]],"show"===t.mode&&(i.cssClip(s.clip),l&&l.css(e.effects.clipToBox(s)),s.clip=a),l&&l.animate(e.effects.clipToBox(s),t.duration,t.easing),i.animate(s,{queue:!1,duration:t.duration,easing:t.easing,complete:n})})),e.effects.define("bounce",(function(t,n){var r,i,o,a=e(this),s=t.mode,l="hide"===s,u="show"===s,c=t.direction||"up",f=t.distance,h=t.times||5,d=2*h+(u||l?1:0),p=t.duration/d,m=t.easing,g="up"===c||"down"===c?"top":"left",v="up"===c||"left"===c,y=0,b=a.queue().length;for(e.effects.createPlaceholder(a),o=a.css(g),f||(f=a["top"===g?"outerHeight":"outerWidth"]()/3),u&&((i={opacity:1})[g]=o,a.css("opacity",0).css(g,v?2*-f:2*f).animate(i,p,m)),l&&(f/=Math.pow(2,h-1)),(i={})[g]=o;y").css({position:"absolute",visibility:"visible",left:-i*p,top:-r*m}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:p,height:m,left:o+(h?s*p:0),top:a+(h?l*m:0),opacity:h?0:1}).animate({left:o+(h?0:s*p),top:a+(h?0:l*m),opacity:h?1:0},t.duration||500,t.easing,v)})),e.effects.define("fade","toggle",(function(t,n){var r="show"===t.mode;e(this).css("opacity",r?0:1).animate({opacity:r?1:0},{queue:!1,duration:t.duration,easing:t.easing,complete:n})})),e.effects.define("fold","hide",(function(t,n){var r=e(this),i=t.mode,o="show"===i,a="hide"===i,s=t.size||15,l=/([0-9]+)%/.exec(s),u=t.horizFirst?["right","bottom"]:["bottom","right"],c=t.duration/2,f=e.effects.createPlaceholder(r),h=r.cssClip(),d={clip:e.extend({},h)},p={clip:e.extend({},h)},m=[h[u[0]],h[u[1]]],g=r.queue().length;l&&(s=parseInt(l[1],10)/100*m[a?0:1]),d.clip[u[0]]=s,p.clip[u[0]]=s,p.clip[u[1]]=0,o&&(r.cssClip(p.clip),f&&f.css(e.effects.clipToBox(p)),p.clip=h),r.queue((function(n){f&&f.animate(e.effects.clipToBox(d),c,t.easing).animate(e.effects.clipToBox(p),c,t.easing),n()})).animate(d,c,t.easing).animate(p,c,t.easing).queue(n),e.effects.unshift(r,g,4)})),e.effects.define("highlight","show",(function(t,n){var r=e(this),i={backgroundColor:r.css("backgroundColor")};"hide"===t.mode&&(i.opacity=0),e.effects.saveStyle(r),r.css({backgroundImage:"none",backgroundColor:t.color||"#ffff99"}).animate(i,{queue:!1,duration:t.duration,easing:t.easing,complete:n})})),e.effects.define("size",(function(t,n){var r,i,o,a=e(this),s=["fontSize"],l=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],u=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=t.mode,f="effect"!==c,h=t.scale||"both",d=t.origin||["middle","center"],p=a.css("position"),m=a.position(),g=e.effects.scaledDimensions(a),v=t.from||g,y=t.to||e.effects.scaledDimensions(a,0);e.effects.createPlaceholder(a),"show"===c&&(o=v,v=y,y=o),i={from:{y:v.height/g.height,x:v.width/g.width},to:{y:y.height/g.height,x:y.width/g.width}},"box"!==h&&"both"!==h||(i.from.y!==i.to.y&&(v=e.effects.setTransition(a,l,i.from.y,v),y=e.effects.setTransition(a,l,i.to.y,y)),i.from.x!==i.to.x&&(v=e.effects.setTransition(a,u,i.from.x,v),y=e.effects.setTransition(a,u,i.to.x,y))),"content"!==h&&"both"!==h||i.from.y!==i.to.y&&(v=e.effects.setTransition(a,s,i.from.y,v),y=e.effects.setTransition(a,s,i.to.y,y)),d&&(r=e.effects.getBaseline(d,g),v.top=(g.outerHeight-v.outerHeight)*r.y+m.top,v.left=(g.outerWidth-v.outerWidth)*r.x+m.left,y.top=(g.outerHeight-y.outerHeight)*r.y+m.top,y.left=(g.outerWidth-y.outerWidth)*r.x+m.left),delete v.outerHeight,delete v.outerWidth,a.css(v),"content"!==h&&"both"!==h||(l=l.concat(["marginTop","marginBottom"]).concat(s),u=u.concat(["marginLeft","marginRight"]),a.find("*[width]").each((function(){var n=e(this),r=e.effects.scaledDimensions(n),o={height:r.height*i.from.y,width:r.width*i.from.x,outerHeight:r.outerHeight*i.from.y,outerWidth:r.outerWidth*i.from.x},a={height:r.height*i.to.y,width:r.width*i.to.x,outerHeight:r.height*i.to.y,outerWidth:r.width*i.to.x};i.from.y!==i.to.y&&(o=e.effects.setTransition(n,l,i.from.y,o),a=e.effects.setTransition(n,l,i.to.y,a)),i.from.x!==i.to.x&&(o=e.effects.setTransition(n,u,i.from.x,o),a=e.effects.setTransition(n,u,i.to.x,a)),f&&e.effects.saveStyle(n),n.css(o),n.animate(a,t.duration,t.easing,(function(){f&&e.effects.restoreStyle(n)}))}))),a.animate(y,{queue:!1,duration:t.duration,easing:t.easing,complete:function(){var t=a.offset();0===y.opacity&&a.css("opacity",v.opacity),f||(a.css("position","static"===p?"relative":p).offset(t),e.effects.saveStyle(a)),n()}})})),e.effects.define("scale",(function(t,n){var r=e(this),i=t.mode,o=parseInt(t.percent,10)||(0===parseInt(t.percent,10)||"effect"!==i?0:100),a=e.extend(!0,{from:e.effects.scaledDimensions(r),to:e.effects.scaledDimensions(r,o,t.direction||"both"),origin:t.origin||["middle","center"]},t);t.fade&&(a.from.opacity=1,a.to.opacity=0),e.effects.effect.size.call(this,a,n)})),e.effects.define("puff","hide",(function(t,n){var r=e.extend(!0,{},t,{fade:!0,percent:parseInt(t.percent,10)||150});e.effects.effect.scale.call(this,r,n)})),e.effects.define("pulsate","show",(function(t,n){var r=e(this),i=t.mode,o="show"===i,a=o||"hide"===i,s=2*(t.times||5)+(a?1:0),l=t.duration/s,u=0,c=1,f=r.queue().length;for(!o&&r.is(":visible")||(r.css("opacity",0).show(),u=1);c0&&o.is(":visible")):(/^(input|select|textarea|button|object)$/.test(l)?(a=!t.disabled)&&(s=e(t).closest("fieldset")[0])&&(a=!s.disabled):a="a"===l&&t.href||n,a&&e(t).is(":visible")&&function(e){for(var t=e.css("visibility");"inherit"===t;)t=(e=e.parent()).css("visibility");return"visible"===t}(e(t)))},e.extend(e.expr.pseudos,{focusable:function(t){return e.ui.focusable(t,null!=e.attr(t,"tabindex"))}}),e.ui.focusable,e.fn._form=function(){return"string"==typeof this[0].form?this.closest("form"):e(this[0].form)},e.ui.formResetMixin={_formResetHandler:function(){var t=e(this);setTimeout((function(){var n=t.data("ui-form-reset-instances");e.each(n,(function(){this.refresh()}))}))},_bindFormResetHandler:function(){if(this.form=this.element._form(),this.form.length){var e=this.form.data("ui-form-reset-instances")||[];e.length||this.form.on("reset.ui-form-reset",this._formResetHandler),e.push(this),this.form.data("ui-form-reset-instances",e)}},_unbindFormResetHandler:function(){if(this.form.length){var t=this.form.data("ui-form-reset-instances");t.splice(e.inArray(this,t),1),t.length?this.form.data("ui-form-reset-instances",t):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},e.expr.pseudos||(e.expr.pseudos=e.expr[":"]),e.uniqueSort||(e.uniqueSort=e.unique),!e.escapeSelector){var M=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,P=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e};e.escapeSelector=function(e){return(e+"").replace(M,P)}}e.fn.even&&e.fn.odd||e.fn.extend({even:function(){return this.filter((function(e){return e%2==0}))},odd:function(){return this.filter((function(e){return e%2==1}))}}),e.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},e.fn.labels=function(){var t,n,r,i,o;return this.length?this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(i=this.eq(0).parents("label"),(r=this.attr("id"))&&(o=(t=this.eq(0).parents().last()).add(t.length?t.siblings():this.siblings()),n="label[for='"+e.escapeSelector(r)+"']",i=i.add(o.find(n).addBack(n))),this.pushStack(i)):this.pushStack([])},e.fn.scrollParent=function(t){var n=this.css("position"),r="absolute"===n,i=t?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter((function(){var t=e(this);return(!r||"static"!==t.css("position"))&&i.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))})).eq(0);return"fixed"!==n&&o.length?o:e(this[0].ownerDocument||document)},e.extend(e.expr.pseudos,{tabbable:function(t){var n=e.attr(t,"tabindex"),r=null!=n;return(!r||n>=0)&&e.ui.focusable(t,r)}}),e.fn.extend({uniqueId:(S=0,function(){return this.each((function(){this.id||(this.id="ui-id-"+ ++S)}))}),removeUniqueId:function(){return this.each((function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")}))}}),e.widget("ui.accordion",{version:"1.13.3",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:function(e){return e.find("> li > :first-child").add(e.find("> :not(li)").even())},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var t=this.options;this.prevShow=this.prevHide=e(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),t.collapsible||!1!==t.active&&null!=t.active||(t.active=0),this._processPanels(),t.active<0&&(t.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():e()}},_createIcons:function(){var t,n,r=this.options.icons;r&&(t=e(""),this._addClass(t,"ui-accordion-header-icon","ui-icon "+r.header),t.prependTo(this.headers),n=this.active.children(".ui-accordion-header-icon"),this._removeClass(n,r.header)._addClass(n,null,r.activeHeader)._addClass(this.headers,"ui-accordion-icons"))},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var e;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),e=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&e.css("height","")},_setOption:function(e,t){"active"!==e?("event"===e&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(t)),this._super(e,t),"collapsible"!==e||t||!1!==this.options.active||this._activate(0),"icons"===e&&(this._destroyIcons(),t&&this._createIcons())):this._activate(t)},_setOptionDisabled:function(e){this._super(e),this.element.attr("aria-disabled",e),this._toggleClass(null,"ui-state-disabled",!!e),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!e)},_keydown:function(t){if(!t.altKey&&!t.ctrlKey){var n=e.ui.keyCode,r=this.headers.length,i=this.headers.index(t.target),o=!1;switch(t.keyCode){case n.RIGHT:case n.DOWN:o=this.headers[(i+1)%r];break;case n.LEFT:case n.UP:o=this.headers[(i-1+r)%r];break;case n.SPACE:case n.ENTER:this._eventHandler(t);break;case n.HOME:o=this.headers[0];break;case n.END:o=this.headers[r-1]}o&&(e(t.target).attr("tabIndex",-1),e(o).attr("tabIndex",0),e(o).trigger("focus"),t.preventDefault())}},_panelKeyDown:function(t){t.keyCode===e.ui.keyCode.UP&&t.ctrlKey&&e(t.currentTarget).prev().trigger("focus")},refresh:function(){var t=this.options;this._processPanels(),!1===t.active&&!0===t.collapsible||!this.headers.length?(t.active=!1,this.active=e()):!1===t.active?this._activate(0):this.active.length&&!e.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(t.active=!1,this.active=e()):this._activate(Math.max(0,t.active-1)):t.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var e=this.headers,t=this.panels;"function"==typeof this.options.header?this.headers=this.options.header(this.element):this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),t&&(this._off(e.not(this.headers)),this._off(t.not(this.panels)))},_refresh:function(){var t,n=this.options,r=n.heightStyle,i=this.element.parent();this.active=this._findActive(n.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each((function(){var t=e(this),n=t.uniqueId().attr("id"),r=t.next(),i=r.uniqueId().attr("id");t.attr("aria-controls",i),r.attr("aria-labelledby",n)})).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(n.event),"fill"===r?(t=i.height(),this.element.siblings(":visible").each((function(){var n=e(this),r=n.css("position");"absolute"!==r&&"fixed"!==r&&(t-=n.outerHeight(!0))})),this.headers.each((function(){t-=e(this).outerHeight(!0)})),this.headers.next().each((function(){e(this).height(Math.max(0,t-e(this).innerHeight()+e(this).height()))})).css("overflow","auto")):"auto"===r&&(t=0,this.headers.next().each((function(){var n=e(this).is(":visible");n||e(this).show(),t=Math.max(t,e(this).css("height","").height()),n||e(this).hide()})).height(t))},_activate:function(t){var n=this._findActive(t)[0];n!==this.active[0]&&(n=n||this.active[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop}))},_findActive:function(t){return"number"==typeof t?this.headers.eq(t):e()},_setupEvents:function(t){var n={keydown:"_keydown"};t&&e.each(t.split(" "),(function(e,t){n[t]="_eventHandler"})),this._off(this.headers.add(this.headers.next())),this._on(this.headers,n),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(t){var n,r,i=this.options,o=this.active,a=e(t.currentTarget),s=a[0]===o[0],l=s&&i.collapsible,u=l?e():a.next(),c=o.next(),f={oldHeader:o,oldPanel:c,newHeader:l?e():a,newPanel:u};t.preventDefault(),s&&!i.collapsible||!1===this._trigger("beforeActivate",t,f)||(i.active=!l&&this.headers.index(a),this.active=s?e():a,this._toggle(f),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),i.icons&&(n=o.children(".ui-accordion-header-icon"),this._removeClass(n,null,i.icons.activeHeader)._addClass(n,null,i.icons.header)),s||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),i.icons&&(r=a.children(".ui-accordion-header-icon"),this._removeClass(r,null,i.icons.header)._addClass(r,null,i.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(t){var n=t.newPanel,r=this.prevShow.length?this.prevShow:t.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=n,this.prevHide=r,this.options.animate?this._animate(n,r,t):(r.hide(),n.show(),this._toggleComplete(t)),r.attr({"aria-hidden":"true"}),r.prev().attr({"aria-selected":"false","aria-expanded":"false"}),n.length&&r.length?r.prev().attr({tabIndex:-1,"aria-expanded":"false"}):n.length&&this.headers.filter((function(){return 0===parseInt(e(this).attr("tabIndex"),10)})).attr("tabIndex",-1),n.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(e,t,n){var r,i,o,a=this,s=0,l=e.css("box-sizing"),u=e.length&&(!t.length||e.index()",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(e){e.preventDefault(),this._activateItem(e)},"click .ui-menu-item":function(t){var n=e(t.target),r=e(e.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&n.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),n.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&r.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(e,t){var n=this.active||this._menuItems().first();t||this.focus(e,n)},blur:function(t){this._delay((function(){!e.contains(this.element[0],e.ui.safeActiveElement(this.document[0]))&&this.collapseAll(t)}))},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){this._closeOnDocumentClick(e)&&this.collapseAll(e,!0),this.mouseHandled=!1}})},_activateItem:function(t){if(!this.previousFilter&&(t.clientX!==this.lastMousePosition.x||t.clientY!==this.lastMousePosition.y)){this.lastMousePosition={x:t.clientX,y:t.clientY};var n=e(t.target).closest(".ui-menu-item"),r=e(t.currentTarget);n[0]===r[0]&&(r.is(".ui-state-active")||(this._removeClass(r.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,r)))}},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each((function(){var t=e(this);t.data("ui-menu-submenu-caret")&&t.remove()}))},_keydown:function(t){var n,r,i,o,a=!0;switch(t.keyCode){case e.ui.keyCode.PAGE_UP:this.previousPage(t);break;case e.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case e.ui.keyCode.HOME:this._move("first","first",t);break;case e.ui.keyCode.END:this._move("last","last",t);break;case e.ui.keyCode.UP:this.previous(t);break;case e.ui.keyCode.DOWN:this.next(t);break;case e.ui.keyCode.LEFT:this.collapse(t);break;case e.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case e.ui.keyCode.ENTER:case e.ui.keyCode.SPACE:this._activate(t);break;case e.ui.keyCode.ESCAPE:this.collapse(t);break;default:a=!1,r=this.previousFilter||"",o=!1,i=t.keyCode>=96&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===r?o=!0:i=r+i,n=this._filterMenuItems(i),(n=o&&-1!==n.index(this.active.next())?this.active.nextAll(".ui-menu-item"):n).length||(i=String.fromCharCode(t.keyCode),n=this._filterMenuItems(i)),n.length?(this.focus(t,n),this.previousFilter=i,this.filterTimer=this._delay((function(){delete this.previousFilter}),1e3)):delete this.previousFilter}a&&t.preventDefault()},_activate:function(e){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(e):this.select(e))},refresh:function(){var t,n,r,i,o=this,a=this.options.icons.submenu,s=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),n=s.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each((function(){var t=e(this),n=t.prev(),r=e("").data("ui-menu-submenu-caret",!0);o._addClass(r,"ui-menu-icon","ui-icon "+a),n.attr("aria-haspopup","true").prepend(r),t.attr("aria-labelledby",n.attr("id"))})),this._addClass(n,"ui-menu","ui-widget ui-widget-content ui-front"),(t=s.add(this.element).find(this.options.items)).not(".ui-menu-item").each((function(){var t=e(this);o._isDivider(t)&&o._addClass(t,"ui-menu-divider","ui-widget-content")})),i=(r=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(r,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!e.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(e,t){if("icons"===e){var n=this.element.find(".ui-menu-icon");this._removeClass(n,null,this.options.icons.submenu)._addClass(n,null,t.submenu)}this._super(e,t)},_setOptionDisabled:function(e){this._super(e),this.element.attr("aria-disabled",String(e)),this._toggleClass(null,"ui-state-disabled",!!e)},focus:function(e,t){var n,r,i;this.blur(e,e&&"focus"===e.type),this._scrollIntoView(t),this.active=t.first(),r=this.active.children(".ui-menu-item-wrapper"),this._addClass(r,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",r.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),e&&"keydown"===e.type?this._close():this.timer=this._delay((function(){this._close()}),this.delay),(n=t.children(".ui-menu")).length&&e&&/^mouse/.test(e.type)&&this._startOpening(n),this.activeMenu=t.parent(),this._trigger("focus",e,{item:t})},_scrollIntoView:function(t){var n,r,i,o,a,s;this._hasScroll()&&(n=parseFloat(e.css(this.activeMenu[0],"borderTopWidth"))||0,r=parseFloat(e.css(this.activeMenu[0],"paddingTop"))||0,i=t.offset().top-this.activeMenu.offset().top-n-r,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),s=t.outerHeight(),i<0?this.activeMenu.scrollTop(o+i):i+s>a&&this.activeMenu.scrollTop(o+i-a+s))},blur:function(e,t){t||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",e,{item:this.active}),this.active=null)},_startOpening:function(e){clearTimeout(this.timer),"true"===e.attr("aria-hidden")&&(this.timer=this._delay((function(){this._close(),this._open(e)}),this.delay))},_open:function(t){var n=e.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden","true"),t.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(n)},collapseAll:function(t,n){clearTimeout(this.timer),this.timer=this._delay((function(){var r=n?this.element:e(t&&t.target).closest(this.element.find(".ui-menu"));r.length||(r=this.element),this._close(r),this.blur(t),this._removeClass(r.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=r}),n?0:this.delay)},_close:function(e){e||(e=this.active?this.active.parent():this.element),e.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(t){return!e(t.target).closest(".ui-menu").length},_isDivider:function(e){return!/[^\-\u2014\u2013\s]/.test(e.text())},collapse:function(e){var t=this.active&&this.active.parent().closest(".ui-menu-item",this.element);t&&t.length&&(this._close(),this.focus(e,t))},expand:function(e){var t=this.active&&this._menuItems(this.active.children(".ui-menu")).first();t&&t.length&&(this._open(t.parent()),this._delay((function(){this.focus(e,t)})))},next:function(e){this._move("next","first",e)},previous:function(e){this._move("prev","last",e)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_menuItems:function(e){return(e||this.element).find(this.options.items).filter(".ui-menu-item")},_move:function(e,t,n){var r;this.active&&(r="first"===e||"last"===e?this.active["first"===e?"prevAll":"nextAll"](".ui-menu-item").last():this.active[e+"All"](".ui-menu-item").first()),r&&r.length&&this.active||(r=this._menuItems(this.activeMenu)[t]()),this.focus(n,r)},nextPage:function(t){var n,r,i;this.active?this.isLastItem()||(this._hasScroll()?(r=this.active.offset().top,i=this.element.innerHeight(),0===e.fn.jquery.indexOf("3.2.")&&(i+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.nextAll(".ui-menu-item").each((function(){return(n=e(this)).offset().top-r-i<0})),this.focus(t,n)):this.focus(t,this._menuItems(this.activeMenu)[this.active?"last":"first"]())):this.next(t)},previousPage:function(t){var n,r,i;this.active?this.isFirstItem()||(this._hasScroll()?(r=this.active.offset().top,i=this.element.innerHeight(),0===e.fn.jquery.indexOf("3.2.")&&(i+=this.element[0].offsetHeight-this.element.outerHeight()),this.active.prevAll(".ui-menu-item").each((function(){return(n=e(this)).offset().top-r+i>0})),this.focus(t,n)):this.focus(t,this._menuItems(this.activeMenu).first())):this.next(t)},_hasScroll:function(){return this.element.outerHeight()",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var t,n,r,i=this.element[0].nodeName.toLowerCase(),o="textarea"===i,a="input"===i;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(i){if(this.element.prop("readOnly"))return t=!0,r=!0,void(n=!0);t=!1,r=!1,n=!1;var o=e.ui.keyCode;switch(i.keyCode){case o.PAGE_UP:t=!0,this._move("previousPage",i);break;case o.PAGE_DOWN:t=!0,this._move("nextPage",i);break;case o.UP:t=!0,this._keyEvent("previous",i);break;case o.DOWN:t=!0,this._keyEvent("next",i);break;case o.ENTER:this.menu.active&&(t=!0,i.preventDefault(),this.menu.select(i));break;case o.TAB:this.menu.active&&this.menu.select(i);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(i),i.preventDefault());break;default:n=!0,this._searchTimeout(i)}},keypress:function(r){if(t)return t=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||r.preventDefault());if(!n){var i=e.ui.keyCode;switch(r.keyCode){case i.PAGE_UP:this._move("previousPage",r);break;case i.PAGE_DOWN:this._move("nextPage",r);break;case i.UP:this._keyEvent("previous",r);break;case i.DOWN:this._keyEvent("next",r)}}},input:function(e){if(r)return r=!1,void e.preventDefault();this._searchTimeout(e)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(e){clearTimeout(this.searching),this.close(e),this._change(e)}}),this._initSource(),this.menu=e("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault()},menufocus:function(t,n){var r,i;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",(function(){e(t.target).trigger(t.originalEvent)}));i=n.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:i})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(i.value),(r=n.item.attr("aria-label")||i.value)&&String.prototype.trim.call(r).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay((function(){this.liveRegion.html(e("
    ").text(r))}),100))},menuselect:function(t,n){var r=n.item.data("ui-autocomplete-item"),i=this.previous;this.element[0]!==e.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=i,this._delay((function(){this.previous=i,this.selectedItem=r}))),!1!==this._trigger("select",t,{item:r})&&this._value(r.value),this.term=this._value(),this.close(t),this.selectedItem=r}}),this.liveRegion=e("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(e,t){this._super(e,t),"source"===e&&this._initSource(),"appendTo"===e&&this.menu.element.appendTo(this._appendTo()),"disabled"===e&&t&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var n=this.menu.element[0];return t.target===this.element[0]||t.target===n||e.contains(n,t.target)},_closeOnClickOutside:function(e){this._isEventTargetInWidget(e)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front, dialog")),t.length||(t=this.document[0].body),t},_initSource:function(){var t,n,r=this;Array.isArray(this.options.source)?(t=this.options.source,this.source=function(n,r){r(e.ui.autocomplete.filter(t,n.term))}):"string"==typeof this.options.source?(n=this.options.source,this.source=function(t,i){r.xhr&&r.xhr.abort(),r.xhr=e.ajax({url:n,data:t,dataType:"json",success:function(e){i(e)},error:function(){i([])}})}):this.source=this.options.source},_searchTimeout:function(e){clearTimeout(this.searching),this.searching=this._delay((function(){var t=this.term===this._value(),n=this.menu.element.is(":visible"),r=e.altKey||e.ctrlKey||e.metaKey||e.shiftKey;t&&(!t||n||r)||(this.selectedItem=null,this.search(null,e))}),this.options.delay)},search:function(e,t){return e=null!=e?e:this._value(),this.term=this._value(),e.length").append(e("
    ").text(n.label)).appendTo(t)},_move:function(e,t){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(e)||this.menu.isLastItem()&&/^next/.test(e)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[e](t);this.search(null,t)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(e,t){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(e,t),t.preventDefault())},_isContentEditable:function(e){if(!e.length)return!1;var t=e.prop("contentEditable");return"inherit"===t?this._isContentEditable(e.parent()):"true"===t}}),e.extend(e.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,n){var r=new RegExp(e.ui.autocomplete.escapeRegex(n),"i");return e.grep(t,(function(e){return r.test(e.label||e.value||e)}))}}),e.widget("ui.autocomplete",e.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(e){return e+(e>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var n;this._superApply(arguments),this.options.disabled||this.cancelSearch||(n=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay((function(){this.liveRegion.html(e("
    ").text(n))}),100))}}),e.ui.autocomplete;var D,N=/ui-corner-([a-z]){2,6}/g;function O(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:"",selectMonthLabel:"Select month",selectYearLabel:"Select year"},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,onUpdateDatepicker:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},e.extend(this._defaults,this.regional[""]),this.regional.en=e.extend(!0,{},this.regional[""]),this.regional["en-US"]=e.extend(!0,{},this.regional.en),this.dpDiv=j(e("
    "))}function j(t){var n="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return t.on("mouseout",n,(function(){e(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).removeClass("ui-datepicker-next-hover")})).on("mouseover",n,A)}function A(){e.datepicker._isDisabledDatepicker(D.inline?D.dpDiv.parent()[0]:D.input[0])||(e(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),e(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&e(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&e(this).addClass("ui-datepicker-next-hover"))}function R(t,n){for(var r in e.extend(t,n),n)null==n[r]&&(t[r]=n[r]);return t}e.widget("ui.controlgroup",{version:"1.13.3",defaultElement:"
    ",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var t=this,n=[];e.each(this.options.items,(function(r,i){var o,a={};if(i)return"controlgroupLabel"===r?((o=t.element.find(i)).each((function(){var t=e(this);t.children(".ui-controlgroup-label-contents").length||t.contents().wrapAll("")})),t._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),void(n=n.concat(o.get()))):void(e.fn[r]&&(a=t["_"+r+"Options"]?t["_"+r+"Options"]("middle"):{classes:{}},t.element.find(i).each((function(){var i=e(this),o=i[r]("instance"),s=e.widget.extend({},a);if("button"!==r||!i.parent(".ui-spinner").length){o||(o=i[r]()[r]("instance")),o&&(s.classes=t._resolveClassesValues(s.classes,o)),i[r](s);var l=i[r]("widget");e.data(l[0],"ui-controlgroup-data",o||i[r]("instance")),n.push(l[0])}}))))})),this.childWidgets=e(e.uniqueSort(n)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(t){this.childWidgets.each((function(){var n=e(this).data("ui-controlgroup-data");n&&n[t]&&n[t]()}))},_updateCornerClass:function(e,t){var n=this._buildSimpleOptions(t,"label").classes.label;this._removeClass(e,null,"ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"),this._addClass(e,null,n)},_buildSimpleOptions:function(e,t){var n="vertical"===this.options.direction,r={classes:{}};return r.classes[t]={middle:"",first:"ui-corner-"+(n?"top":"left"),last:"ui-corner-"+(n?"bottom":"right"),only:"ui-corner-all"}[e],r},_spinnerOptions:function(e){var t=this._buildSimpleOptions(e,"ui-spinner");return t.classes["ui-spinner-up"]="",t.classes["ui-spinner-down"]="",t},_buttonOptions:function(e){return this._buildSimpleOptions(e,"ui-button")},_checkboxradioOptions:function(e){return this._buildSimpleOptions(e,"ui-checkboxradio-label")},_selectmenuOptions:function(e){var t="vertical"===this.options.direction;return{width:!!t&&"auto",classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(t?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(t?"top":"left")},last:{"ui-selectmenu-button-open":t?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(t?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[e]}},_resolveClassesValues:function(t,n){var r={};return e.each(t,(function(e){var i=n.options.classes[e]||"";i=String.prototype.trim.call(i.replace(N,"")),r[e]=(i+" "+t[e]).replace(/\s+/g," ")})),r},_setOption:function(e,t){"direction"===e&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(e,t),"disabled"!==e?this.refresh():this._callChildMethod(t?"disable":"enable")},refresh:function(){var t,n=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),t=this.childWidgets,this.options.onlyVisible&&(t=t.filter(":visible")),t.length&&(e.each(["first","last"],(function(e,r){var i=t[r]().data("ui-controlgroup-data");if(i&&n["_"+i.widgetName+"Options"]){var o=n["_"+i.widgetName+"Options"](1===t.length?"only":r);o.classes=n._resolveClassesValues(o.classes,i),i.element[i.widgetName](o)}else n._updateCornerClass(t[r](),r)})),this._callChildMethod("refresh"))}}),e.widget("ui.checkboxradio",[e.ui.formResetMixin,{version:"1.13.3",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var t,n,r,i=this._super()||{};return this._readType(),n=this.element.labels(),this.label=e(n[n.length-1]),this.label.length||e.error("No label found for checkboxradio widget"),this.originalLabel="",(r=this.label.contents().not(this.element[0])).length&&(this.originalLabel+=r.clone().wrapAll("
    ").parent().html()),this.originalLabel&&(i.label=this.originalLabel),null!=(t=this.element[0].disabled)&&(i.disabled=t),i},_create:function(){var e=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),e&&this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var t=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===t&&/radio|checkbox/.test(this.type)||e.error("Can't create checkboxradio on element.nodeName="+t+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var t=this.element[0].name,n="input[name='"+e.escapeSelector(t)+"']";return t?(this.form.length?e(this.form[0].elements).filter(n):e(n).filter((function(){return 0===e(this)._form().length}))).not(this.element):e([])},_toggleClasses:function(){var t=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",t)._toggleClass(this.icon,null,"ui-icon-blank",!t),"radio"===this.type&&this._getRadioGroup().each((function(){var t=e(this).checkboxradio("instance");t&&t._removeClass(t.label,"ui-checkboxradio-checked","ui-state-active")}))},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(e,t){if("label"!==e||t){if(this._super(e,t),"disabled"===e)return this._toggleClass(this.label,null,"ui-state-disabled",t),void(this.element[0].disabled=t);this.refresh()}},_updateIcon:function(t){var n="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=e(""),this.iconSpace=e(" "),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(n+=t?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,t?"ui-icon-blank":"ui-icon-check")):n+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",n),t||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon)},_updateLabel:function(){var e=this.label.contents().not(this.element[0]);this.icon&&(e=e.not(this.icon[0])),this.iconSpace&&(e=e.not(this.iconSpace[0])),e.remove(),this.label.append(this.options.label)},refresh:function(){var e=this.element[0].checked,t=this.element[0].disabled;this._updateIcon(e),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),null!==this.options.label&&this._updateLabel(),t!==this.options.disabled&&this._setOptions({disabled:t})}}]),e.ui.checkboxradio,e.widget("ui.button",{version:"1.13.3",defaultElement:"
    "+(Y[0]>0&&C===Y[1]-1?"
    ":""):"")}w+=S}return w+=c,t._keyEvent=!1,w},_generateMonthYearHeader:function(e,t,n,r,i,o,a,s){var l,u,c,f,h,d,p,m,g=this._get(e,"changeMonth"),v=this._get(e,"changeYear"),y=this._get(e,"showMonthAfterYear"),b=this._get(e,"selectMonthLabel"),_=this._get(e,"selectYearLabel"),w="
    ",x="";if(o||!g)x+=""+a[t]+"";else{for(l=r&&r.getFullYear()===n,u=i&&i.getFullYear()===n,x+=""}if(y||(w+=x+(!o&&g&&v?"":" ")),!e.yearshtml)if(e.yearshtml="",o||!v)w+=""+n+"";else{for(f=this._get(e,"yearRange").split(":"),h=(new Date).getFullYear(),d=function(e){var t=e.match(/c[+\-].*/)?n+parseInt(e.substring(1),10):e.match(/[+\-].*/)?h+parseInt(e,10):parseInt(e,10);return isNaN(t)?h:t},p=d(f[0]),m=Math.max(p,d(f[1]||"")),p=r?Math.max(p,r.getFullYear()):p,m=i?Math.min(m,i.getFullYear()):m,e.yearshtml+="",w+=e.yearshtml,e.yearshtml=null}return w+=this._get(e,"yearSuffix"),y&&(w+=(!o&&g&&v?"":" ")+x),w+"
    "},_adjustInstDate:function(e,t,n){var r=e.selectedYear+("Y"===n?t:0),i=e.selectedMonth+("M"===n?t:0),o=Math.min(e.selectedDay,this._getDaysInMonth(r,i))+("D"===n?t:0),a=this._restrictMinMax(e,this._daylightSavingAdjust(new Date(r,i,o)));e.selectedDay=a.getDate(),e.drawMonth=e.selectedMonth=a.getMonth(),e.drawYear=e.selectedYear=a.getFullYear(),"M"!==n&&"Y"!==n||this._notifyChange(e)},_restrictMinMax:function(e,t){var n=this._getMinMaxDate(e,"min"),r=this._getMinMaxDate(e,"max"),i=n&&tr?r:i},_notifyChange:function(e){var t=this._get(e,"onChangeMonthYear");t&&t.apply(e.input?e.input[0]:null,[e.selectedYear,e.selectedMonth+1,e])},_getNumberOfMonths:function(e){var t=this._get(e,"numberOfMonths");return null==t?[1,1]:"number"==typeof t?[1,t]:t},_getMinMaxDate:function(e,t){return this._determineDate(e,this._get(e,t+"Date"),null)},_getDaysInMonth:function(e,t){return 32-this._daylightSavingAdjust(new Date(e,t,32)).getDate()},_getFirstDayOfMonth:function(e,t){return new Date(e,t,1).getDay()},_canAdjustMonth:function(e,t,n,r){var i=this._getNumberOfMonths(e),o=this._daylightSavingAdjust(new Date(n,r+(t<0?t:i[0]*i[1]),1));return t<0&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(e,o)},_isInRange:function(e,t){var n,r,i=this._getMinMaxDate(e,"min"),o=this._getMinMaxDate(e,"max"),a=null,s=null,l=this._get(e,"yearRange");return l&&(n=l.split(":"),r=(new Date).getFullYear(),a=parseInt(n[0],10),s=parseInt(n[1],10),n[0].match(/[+\-].*/)&&(a+=r),n[1].match(/[+\-].*/)&&(s+=r)),(!i||t.getTime()>=i.getTime())&&(!o||t.getTime()<=o.getTime())&&(!a||t.getFullYear()>=a)&&(!s||t.getFullYear()<=s)},_getFormatConfig:function(e){var t=this._get(e,"shortYearCutoff");return{shortYearCutoff:t="string"!=typeof t?t:(new Date).getFullYear()%100+parseInt(t,10),dayNamesShort:this._get(e,"dayNamesShort"),dayNames:this._get(e,"dayNames"),monthNamesShort:this._get(e,"monthNamesShort"),monthNames:this._get(e,"monthNames")}},_formatDate:function(e,t,n,r){t||(e.currentDay=e.selectedDay,e.currentMonth=e.selectedMonth,e.currentYear=e.selectedYear);var i=t?"object"===a(t)?t:this._daylightSavingAdjust(new Date(r,n,t)):this._daylightSavingAdjust(new Date(e.currentYear,e.currentMonth,e.currentDay));return this.formatDate(this._get(e,"dateFormat"),i,this._getFormatConfig(e))}}),e.fn.datepicker=function(t){if(!this.length)return this;e.datepicker.initialized||(e(document).on("mousedown",e.datepicker._checkExternalClick),e.datepicker.initialized=!0),0===e("#"+e.datepicker._mainDivId).length&&e("body").append(e.datepicker.dpDiv);var n=Array.prototype.slice.call(arguments,1);return"string"!=typeof t||"isDisabled"!==t&&"getDate"!==t&&"widget"!==t?"option"===t&&2===arguments.length&&"string"==typeof arguments[1]?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(n)):this.each((function(){"string"==typeof t?e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this].concat(n)):e.datepicker._attachDatepicker(this,t)})):e.datepicker["_"+t+"Datepicker"].apply(e.datepicker,[this[0]].concat(n))},e.datepicker=new O,e.datepicker.initialized=!1,e.datepicker.uuid=(new Date).getTime(),e.datepicker.version="1.13.3",e.datepicker,e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var I,L=!1;function z(e){return function(){var t=this.element.val();e.apply(this,arguments),this._refresh(),t!==this.element.val()&&this._trigger("change")}}e(document).on("mouseup",(function(){L=!1})),e.widget("ui.mouse",{version:"1.13.3",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.on("mousedown."+this.widgetName,(function(e){return t._mouseDown(e)})).on("click."+this.widgetName,(function(n){if(!0===e.data(n.target,t.widgetName+".preventClickEvent"))return e.removeData(n.target,t.widgetName+".preventClickEvent"),n.stopImmediatePropagation(),!1})),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!L){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var n=this,r=1===t.which,i=!("string"!=typeof this.options.cancel||!t.target.nodeName)&&e(t.target).closest(this.options.cancel).length;return!(r&&!i&&this._mouseCapture(t)&&(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout((function(){n.mouseDelayMet=!0}),this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?(t.preventDefault(),0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return n._mouseMove(e)},this._mouseUpDelegate=function(e){return n._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),L=!0,0)))}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||document.documentMode<9)&&!t.button)return this._mouseUp(t);if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,L=!1,t.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),e.ui.plugin={add:function(t,n,r){var i,o=e.ui[t].prototype;for(i in r)o.plugins[i]=o.plugins[i]||[],o.plugins[i].push([n,r[i]])},call:function(e,t,n,r){var i,o=e.plugins[t];if(o&&(r||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(i=0;i0||(this.handle=this._getHandle(t),!this.handle||(this._blurActiveElement(t),this._blockFrames(!0===n.iframeFix?"iframe":n.iframeFix),0)))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map((function(){var t=e(this);return e("
    ").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var n=e.ui.safeActiveElement(this.document[0]);e(t.target).closest(n).length||e.ui.safeBlur(n)},_mouseStart:function(t){var n=this.options;return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter((function(){return"fixed"===e(this).css("position")})).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,n.cursorAt&&this._adjustOffsetFromHelper(n.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,n){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!n){var r=this._uiHash();if(!1===this._trigger("drag",t,r))return this._mouseUp(new e.Event("mouseup",t)),!1;this.position=r.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var n=this,r=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(r=e.ui.ddmanager.drop(this,t)),this.dropped&&(r=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!r||"valid"===this.options.revert&&r||!0===this.options.revert||"function"==typeof this.options.revert&&this.options.revert.call(this.element,r)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),(function(){!1!==n._trigger("stop",t)&&n._clear()})):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new e.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!e(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var n=this.options,r="function"==typeof n.helper,i=r?e(n.helper.apply(this.element[0],[t])):"clone"===n.helper?this.element.clone().removeAttr("id"):this.element;return i.parents("body").length||i.appendTo("parent"===n.appendTo?this.element[0].parentNode:n.appendTo),r&&i[0]===this.element[0]&&this._setPositionRelative(),i[0]===this.element[0]||/(fixed|absolute)/.test(i.css("position"))||i.css("position","absolute"),i},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),Array.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),n=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==n&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,n,r,i=this.options,o=this.document[0];this.relativeContainer=null,i.containment?"window"!==i.containment?"document"!==i.containment?i.containment.constructor!==Array?("parent"===i.containment&&(i.containment=this.helper[0].parentNode),(r=(n=e(i.containment))[0])&&(t=/(scroll|auto)/.test(n.css("overflow")),this.containment=[(parseInt(n.css("borderLeftWidth"),10)||0)+(parseInt(n.css("paddingLeft"),10)||0),(parseInt(n.css("borderTopWidth"),10)||0)+(parseInt(n.css("paddingTop"),10)||0),(t?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(n.css("borderRightWidth"),10)||0)-(parseInt(n.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(n.css("borderBottomWidth"),10)||0)-(parseInt(n.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=n)):this.containment=i.containment:this.containment=[0,0,e(o).width()-this.helperProportions.width-this.margins.left,(e(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]:this.containment=null},_convertPositionTo:function(e,t){t||(t=this.position);var n="absolute"===e?1:-1,r=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*n+this.offset.parent.top*n-("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top)*n,left:t.left+this.offset.relative.left*n+this.offset.parent.left*n-("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)*n}},_generatePosition:function(e,t){var n,r,i,o,a=this.options,s=this._isRootNode(this.scrollParent[0]),l=e.pageX,u=e.pageY;return s&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(r=this.relativeContainer.offset(),n=[this.containment[0]+r.left,this.containment[1]+r.top,this.containment[2]+r.left,this.containment[3]+r.top]):n=this.containment,e.pageX-this.offset.click.leftn[2]&&(l=n[2]+this.offset.click.left),e.pageY-this.offset.click.top>n[3]&&(u=n[3]+this.offset.click.top)),a.grid&&(i=a.grid[1]?this.originalPageY+Math.round((u-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,u=n?i-this.offset.click.top>=n[1]||i-this.offset.click.top>n[3]?i:i-this.offset.click.top>=n[1]?i-a.grid[1]:i+a.grid[1]:i,o=a.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,l=n?o-this.offset.click.left>=n[0]||o-this.offset.click.left>n[2]?o:o-this.offset.click.left>=n[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(l=this.originalPageX),"x"===a.axis&&(u=this.originalPageY)),{top:u-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,n,r){return r=r||this._uiHash(),e.ui.plugin.call(this,t,[n,r,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),r.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,n,r)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,n,r){var i=e.extend({},n,{item:r.element});r.sortables=[],e(r.options.connectToSortable).each((function(){var n=e(this).sortable("instance");n&&!n.options.disabled&&(r.sortables.push(n),n.refreshPositions(),n._trigger("activate",t,i))}))},stop:function(t,n,r){var i=e.extend({},n,{item:r.element});r.cancelHelperRemoval=!1,e.each(r.sortables,(function(){var e=this;e.isOver?(e.isOver=0,r.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,i))}))},drag:function(t,n,r){e.each(r.sortables,(function(){var i=!1,o=this;o.positionAbs=r.positionAbs,o.helperProportions=r.helperProportions,o.offset.click=r.offset.click,o._intersectsWith(o.containerCache)&&(i=!0,e.each(r.sortables,(function(){return this.positionAbs=r.positionAbs,this.helperProportions=r.helperProportions,this.offset.click=r.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&e.contains(o.element[0],this.element[0])&&(i=!1),i}))),i?(o.isOver||(o.isOver=1,r._parent=n.helper.parent(),o.currentItem=n.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return n.helper[0]},t.target=o.currentItem[0],o._mouseCapture(t,!0),o._mouseStart(t,!0,!0),o.offset.click.top=r.offset.click.top,o.offset.click.left=r.offset.click.left,o.offset.parent.left-=r.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=r.offset.parent.top-o.offset.parent.top,r._trigger("toSortable",t),r.dropped=o.element,e.each(r.sortables,(function(){this.refreshPositions()})),r.currentItem=r.element,o.fromOutside=r),o.currentItem&&(o._mouseDrag(t),n.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",t,o._uiHash(o)),o._mouseStop(t,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),n.helper.appendTo(r._parent),r._refreshOffsets(t),n.position=r._generatePosition(t,!0),r._trigger("fromSortable",t),r.dropped=!1,e.each(r.sortables,(function(){this.refreshPositions()})))}))}}),e.ui.plugin.add("draggable","cursor",{start:function(t,n,r){var i=e("body"),o=r.options;i.css("cursor")&&(o._cursor=i.css("cursor")),i.css("cursor",o.cursor)},stop:function(t,n,r){var i=r.options;i._cursor&&e("body").css("cursor",i._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,n,r){var i=e(n.helper),o=r.options;i.css("opacity")&&(o._opacity=i.css("opacity")),i.css("opacity",o.opacity)},stop:function(t,n,r){var i=r.options;i._opacity&&e(n.helper).css("opacity",i._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,n){n.scrollParentNotHidden||(n.scrollParentNotHidden=n.helper.scrollParent(!1)),n.scrollParentNotHidden[0]!==n.document[0]&&"HTML"!==n.scrollParentNotHidden[0].tagName&&(n.overflowOffset=n.scrollParentNotHidden.offset())},drag:function(t,n,r){var i=r.options,o=!1,a=r.scrollParentNotHidden[0],s=r.document[0];a!==s&&"HTML"!==a.tagName?(i.axis&&"x"===i.axis||(r.overflowOffset.top+a.offsetHeight-t.pageY=0;h--)u=(l=r.snapElements[h].left-r.margins.left)+r.snapElements[h].width,f=(c=r.snapElements[h].top-r.margins.top)+r.snapElements[h].height,vu+m||bf+m||!e.contains(r.snapElements[h].item.ownerDocument,r.snapElements[h].item)?(r.snapElements[h].snapping&&r.options.snap.release&&r.options.snap.release.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[h].item})),r.snapElements[h].snapping=!1):("inner"!==p.snapMode&&(i=Math.abs(c-b)<=m,o=Math.abs(f-y)<=m,a=Math.abs(l-v)<=m,s=Math.abs(u-g)<=m,i&&(n.position.top=r._convertPositionTo("relative",{top:c-r.helperProportions.height,left:0}).top),o&&(n.position.top=r._convertPositionTo("relative",{top:f,left:0}).top),a&&(n.position.left=r._convertPositionTo("relative",{top:0,left:l-r.helperProportions.width}).left),s&&(n.position.left=r._convertPositionTo("relative",{top:0,left:u}).left)),d=i||o||a||s,"outer"!==p.snapMode&&(i=Math.abs(c-y)<=m,o=Math.abs(f-b)<=m,a=Math.abs(l-g)<=m,s=Math.abs(u-v)<=m,i&&(n.position.top=r._convertPositionTo("relative",{top:c,left:0}).top),o&&(n.position.top=r._convertPositionTo("relative",{top:f-r.helperProportions.height,left:0}).top),a&&(n.position.left=r._convertPositionTo("relative",{top:0,left:l}).left),s&&(n.position.left=r._convertPositionTo("relative",{top:0,left:u-r.helperProportions.width}).left)),!r.snapElements[h].snapping&&(i||o||a||s||d)&&r.options.snap.snap&&r.options.snap.snap.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[h].item})),r.snapElements[h].snapping=i||o||a||s||d)}}),e.ui.plugin.add("draggable","stack",{start:function(t,n,r){var i,o=r.options,a=e.makeArray(e(o.stack)).sort((function(t,n){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(n).css("zIndex"),10)||0)}));a.length&&(i=parseInt(e(a[0]).css("zIndex"),10)||0,e(a).each((function(t){e(this).css("zIndex",i+t)})),this.css("zIndex",i+a.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,n,r){var i=e(n.helper),o=r.options;i.css("zIndex")&&(o._zIndex=i.css("zIndex")),i.css("zIndex",o.zIndex)},stop:function(t,n,r){var i=r.options;i._zIndex&&e(n.helper).css("zIndex",i._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.13.3",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseFloat(e)||0},_isNumber:function(e){return!isNaN(parseFloat(e))},_hasScroll:function(t,n){if("hidden"===e(t).css("overflow"))return!1;var r=n&&"left"===n?"scrollLeft":"scrollTop",i=!1;if(t[r]>0)return!0;try{t[r]=1,i=t[r]>0,t[r]=0}catch(e){}return i},_create:function(){var t,n=this.options,r=this;this._addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!n.aspectRatio,aspectRatio:n.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:n.helper||n.ghost||n.animate?n.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e("
    ").css({overflow:"hidden",position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),n.autoHide&&e(this.element).on("mouseenter",(function(){n.disabled||(r._removeClass("ui-resizable-autohide"),r._handles.show())})).on("mouseleave",(function(){n.disabled||r.resizing||(r._addClass("ui-resizable-autohide"),r._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy(),this._addedHandles.remove();var t,n=function(t){e(t).removeData("resizable").removeData("ui-resizable").off(".resizable")};return this.elementIsWrapper&&(n(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),n(this.originalElement),this},_setOption:function(e,t){switch(this._super(e,t),e){case"handles":this._removeHandles(),this._setupHandles();break;case"aspectRatio":this._aspectRatio=!!t}},_setupHandles:function(){var t,n,r,i,o,a=this.options,s=this;if(this.handles=a.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=e(),this._addedHandles=e(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),r=this.handles.split(","),this.handles={},n=0;n"),this._addClass(o,"ui-resizable-handle "+i),o.css({zIndex:a.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.children(this.handles[t]).length||(this.element.append(o),this._addedHandles=this._addedHandles.add(o));this._renderAxis=function(t){var n,r,i,o;for(n in t=t||this.element,this.handles)this.handles[n].constructor===String?this.handles[n]=this.element.children(this.handles[n]).first().show():(this.handles[n].jquery||this.handles[n].nodeType)&&(this.handles[n]=e(this.handles[n]),this._on(this.handles[n],{mousedown:s._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(r=e(this.handles[n],this.element),o=/sw|ne|nw|se|n|s/.test(n)?r.outerHeight():r.outerWidth(),i=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join(""),t.css(i,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[n])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",(function(){s.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),s.axis=o&&o[1]?o[1]:"se")})),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._addedHandles.remove()},_mouseCapture:function(t){var n,r,i=!1;for(n in this.handles)((r=e(this.handles[n])[0])===t.target||e.contains(r,t.target))&&(i=!0);return!this.options.disabled&&i},_mouseStart:function(t){var n,r,i,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),n=this._num(this.helper.css("left")),r=this._num(this.helper.css("top")),o.containment&&(n+=e(o.containment).scrollLeft()||0,r+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:n,top:r},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:n,top:r},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,i=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===i?this.axis+"-resize":i),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var n,r,i=this.originalMousePosition,o=this.axis,a=t.pageX-i.left||0,s=t.pageY-i.top||0,l=this._change[o];return this._updatePrevProperties(),!!l&&(n=l.apply(this,[t,a,s]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(n=this._updateRatio(n,t)),n=this._respectSize(n,t),this._updateCache(n),this._propagate("resize",t),r=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(r)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1)},_mouseStop:function(t){this.resizing=!1;var n,r,i,o,a,s,l,u=this.options,c=this;return this._helper&&(i=(r=(n=this._proportionallyResizeElements).length&&/textarea/i.test(n[0].nodeName))&&this._hasScroll(n[0],"left")?0:c.sizeDiff.height,o=r?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-i},s=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,l=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,u.animate||this.element.css(e.extend(a,{top:l,left:s})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!u.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={};return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.helper.css(e),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px",this.helper.width(e.width)),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px",this.helper.height(e.height)),e},_updateVirtualBoundaries:function(e){var t,n,r,i,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,r=o.minWidth/this.aspectRatio,n=o.maxHeight*this.aspectRatio,i=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),r>o.minHeight&&(o.minHeight=r),ne.width,a=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,s=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,u=/sw|nw|w/.test(n),c=/nw|ne|n/.test(n);return o&&(e.width=t.minWidth),a&&(e.height=t.minHeight),r&&(e.width=t.maxWidth),i&&(e.height=t.maxHeight),o&&u&&(e.left=s-t.minWidth),r&&u&&(e.left=s-t.maxWidth),a&&c&&(e.top=l-t.minHeight),i&&c&&(e.top=l-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,n=[],r=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],i=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];t<4;t++)n[t]=parseFloat(r[t])||0,n[t]+=parseFloat(i[t])||0;return{height:n[0]+n[2],width:n[1]+n[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,n=this.helper||this.element;t
    ").css({overflow:"hidden"}),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++n.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var n=this.originalSize;return{left:this.originalPosition.left+t,width:n.width-t}},n:function(e,t,n){var r=this.originalSize;return{top:this.originalPosition.top+n,height:r.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},sw:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,n,r]))},ne:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},nw:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,n,r]))}},_propagate:function(t,n){e.ui.plugin.call(this,t,[n,this.ui()]),"resize"!==t&&this._trigger(t,n,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var n=e(this).resizable("instance"),r=n.options,i=n._proportionallyResizeElements,o=i.length&&/textarea/i.test(i[0].nodeName),a=o&&n._hasScroll(i[0],"left")?0:n.sizeDiff.height,s=o?0:n.sizeDiff.width,l={width:n.size.width-s,height:n.size.height-a},u=parseFloat(n.element.css("left"))+(n.position.left-n.originalPosition.left)||null,c=parseFloat(n.element.css("top"))+(n.position.top-n.originalPosition.top)||null;n.element.animate(e.extend(l,c&&u?{top:c,left:u}:{}),{duration:r.animateDuration,easing:r.animateEasing,step:function(){var r={width:parseFloat(n.element.css("width")),height:parseFloat(n.element.css("height")),top:parseFloat(n.element.css("top")),left:parseFloat(n.element.css("left"))};i&&i.length&&e(i[0]).css({width:r.width,height:r.height}),n._updateCache(r),n._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,n,r,i,o,a,s,l=e(this).resizable("instance"),u=l.options,c=l.element,f=u.containment,h=f instanceof e?f.get(0):/parent/.test(f)?c.parent().get(0):f;h&&(l.containerElement=e(h),/document/.test(f)||f===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(h),n=[],e(["Top","Right","Left","Bottom"]).each((function(e,r){n[e]=l._num(t.css("padding"+r))})),l.containerOffset=t.offset(),l.containerPosition=t.position(),l.containerSize={height:t.innerHeight()-n[3],width:t.innerWidth()-n[1]},r=l.containerOffset,i=l.containerSize.height,o=l.containerSize.width,a=l._hasScroll(h,"left")?h.scrollWidth:o,s=l._hasScroll(h)?h.scrollHeight:i,l.parentData={element:h,left:r.left,top:r.top,width:a,height:s}))},resize:function(t){var n,r,i,o,a=e(this).resizable("instance"),s=a.options,l=a.containerOffset,u=a.position,c=a._aspectRatio||t.shiftKey,f={top:0,left:0},h=a.containerElement,d=!0;h[0]!==document&&/static/.test(h.css("position"))&&(f=l),u.left<(a._helper?l.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-l.left:a.position.left-f.left),c&&(a.size.height=a.size.width/a.aspectRatio,d=!1),a.position.left=s.helper?l.left:0),u.top<(a._helper?l.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-l.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,d=!1),a.position.top=a._helper?l.top:0),i=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),i&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),n=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-f.left:a.offset.left-l.left)),r=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-f.top:a.offset.top-l.top)),n+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-n,c&&(a.size.height=a.size.width/a.aspectRatio,d=!1)),r+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-r,c&&(a.size.width=a.size.height*a.aspectRatio,d=!1)),d||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),n=t.options,r=t.containerOffset,i=t.containerPosition,o=t.containerElement,a=e(t.helper),s=a.offset(),l=a.outerWidth()-t.sizeDiff.width,u=a.outerHeight()-t.sizeDiff.height;t._helper&&!n.animate&&/relative/.test(o.css("position"))&&e(this).css({left:s.left-i.left-r.left,width:l,height:u}),t._helper&&!n.animate&&/static/.test(o.css("position"))&&e(this).css({left:s.left-i.left-r.left,width:l,height:u})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance").options;e(t.alsoResize).each((function(){var t=e(this);t.data("ui-resizable-alsoresize",{width:parseFloat(t.css("width")),height:parseFloat(t.css("height")),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})}))},resize:function(t,n){var r=e(this).resizable("instance"),i=r.options,o=r.originalSize,a=r.originalPosition,s={height:r.size.height-o.height||0,width:r.size.width-o.width||0,top:r.position.top-a.top||0,left:r.position.left-a.left||0};e(i.alsoResize).each((function(){var t=e(this),r=e(this).data("ui-resizable-alsoresize"),i={},o=t.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(o,(function(e,t){var n=(r[t]||0)+(s[t]||0);n&&n>=0&&(i[t]=n||null)})),t.css(i)}))},stop:function(){e(this).removeData("ui-resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),n=t.size;t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:n.height,width:n.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==e.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance");t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance");t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,n=e(this).resizable("instance"),r=n.options,i=n.size,o=n.originalSize,a=n.originalPosition,s=n.axis,l="number"==typeof r.grid?[r.grid,r.grid]:r.grid,u=l[0]||1,c=l[1]||1,f=Math.round((i.width-o.width)/u)*u,h=Math.round((i.height-o.height)/c)*c,d=o.width+f,p=o.height+h,m=r.maxWidth&&r.maxWidthd,y=r.minHeight&&r.minHeight>p;r.grid=l,v&&(d+=u),y&&(p+=c),m&&(d-=u),g&&(p-=c),/^(se|s|e)$/.test(s)?(n.size.width=d,n.size.height=p):/^(ne)$/.test(s)?(n.size.width=d,n.size.height=p,n.position.top=a.top-h):/^(sw)$/.test(s)?(n.size.width=d,n.size.height=p,n.position.left=a.left-f):((p-c<=0||d-u<=0)&&(t=n._getPaddingPlusBorderDimensions(this)),p-c>0?(n.size.height=p,n.position.top=a.top-h):(p=c-t.height,n.size.height=p,n.position.top=a.top+o.height-p),d-u>0?(n.size.width=d,n.position.left=a.left-f):(d=u-t.width,n.size.width=d,n.position.left=a.left+o.width-d))}}),e.ui.resizable,e.widget("ui.dialog",{version:"1.13.3",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(t){var n=e(this).css(t).offset().top;n<0&&e(this).css("top",t.top-n)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&e.fn.draggable&&this._makeDraggable(),this.options.resizable&&e.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var t=this.options.appendTo;return t&&(t.jquery||t.nodeType)?e(t):this.document.find(t||"body").eq(0)},_destroy:function(){var e,t=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),(e=t.parent.children().eq(t.index)).length&&e[0]!==this.element[0]?e.before(this.element):t.parent.append(this.element)},widget:function(){return this.uiDialog},disable:e.noop,enable:e.noop,close:function(t){var n=this;this._isOpen&&!1!==this._trigger("beforeClose",t)&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||e.ui.safeBlur(e.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,(function(){n._trigger("close",t)})))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,n){var r=!1,i=this.uiDialog.siblings(".ui-front:visible").map((function(){return+e(this).css("z-index")})).get(),o=Math.max.apply(null,i);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),r=!0),r&&!n&&this._trigger("focus",t),r},open:function(){var t=this;this._isOpen?this._moveToTop()&&this._focusTabbable():(this._isOpen=!0,this.opener=e(e.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,(function(){t._focusTabbable(),t._trigger("focus")})),this._makeFocusTarget(),this._trigger("open"))},_focusTabbable:function(){var e=this._focusedElement;e||(e=this.element.find("[autofocus]")),e.length||(e=this.element.find(":tabbable")),e.length||(e=this.uiDialogButtonPane.find(":tabbable")),e.length||(e=this.uiDialogTitlebarClose.filter(":tabbable")),e.length||(e=this.uiDialog),e.eq(0).trigger("focus")},_restoreTabbableFocus:function(){var t=e.ui.safeActiveElement(this.document[0]);this.uiDialog[0]===t||e.contains(this.uiDialog[0],t)||this._focusTabbable()},_keepFocus:function(e){e.preventDefault(),this._restoreTabbableFocus(),this._delay(this._restoreTabbableFocus)},_createWrapper:function(){this.uiDialog=e("
    ").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(t){if(this.options.closeOnEscape&&!t.isDefaultPrevented()&&t.keyCode&&t.keyCode===e.ui.keyCode.ESCAPE)return t.preventDefault(),void this.close(t);if(t.keyCode===e.ui.keyCode.TAB&&!t.isDefaultPrevented()){var n=this.uiDialog.find(":tabbable"),r=n.first(),i=n.last();t.target!==i[0]&&t.target!==this.uiDialog[0]||t.shiftKey?t.target!==r[0]&&t.target!==this.uiDialog[0]||!t.shiftKey||(this._delay((function(){i.trigger("focus")})),t.preventDefault()):(this._delay((function(){r.trigger("focus")})),t.preventDefault())}},mousedown:function(e){this._moveToTop(e)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var t;this.uiDialogTitlebar=e("
    "),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(t){e(t.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=e("").button({label:e("").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(e){e.preventDefault(),this.close(e)}}),t=e("").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(t,"ui-dialog-title"),this._title(t),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":t.attr("id")})},_title:function(e){this.options.title?e.text(this.options.title):e.html(" ")},_createButtonPane:function(){this.uiDialogButtonPane=e("
    "),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=e("
    ").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var t=this,n=this.options.buttons;this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),e.isEmptyObject(n)||Array.isArray(n)&&!n.length?this._removeClass(this.uiDialog,"ui-dialog-buttons"):(e.each(n,(function(n,r){var i,o;r="function"==typeof r?{click:r,text:n}:r,r=e.extend({type:"button"},r),i=r.click,o={icon:r.icon,iconPosition:r.iconPosition,showLabel:r.showLabel,icons:r.icons,text:r.text},delete r.click,delete r.icon,delete r.iconPosition,delete r.showLabel,delete r.icons,"boolean"==typeof r.text&&delete r.text,e("",r).button(o).appendTo(t.uiButtonSet).on("click",(function(){i.apply(t.element[0],arguments)}))})),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog))},_makeDraggable:function(){var t=this,n=this.options;function r(e){return{position:e.position,offset:e.offset}}this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(n,i){t._addClass(e(this),"ui-dialog-dragging"),t._blockFrames(),t._trigger("dragStart",n,r(i))},drag:function(e,n){t._trigger("drag",e,r(n))},stop:function(i,o){var a=o.offset.left-t.document.scrollLeft(),s=o.offset.top-t.document.scrollTop();n.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" top"+(s>=0?"+":"")+s,of:t.window},t._removeClass(e(this),"ui-dialog-dragging"),t._unblockFrames(),t._trigger("dragStop",i,r(o))}})},_makeResizable:function(){var t=this,n=this.options,r=n.resizable,i=this.uiDialog.css("position"),o="string"==typeof r?r:"n,e,s,w,se,sw,ne,nw";function a(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:n.maxWidth,maxHeight:n.maxHeight,minWidth:n.minWidth,minHeight:this._minHeight(),handles:o,start:function(n,r){t._addClass(e(this),"ui-dialog-resizing"),t._blockFrames(),t._trigger("resizeStart",n,a(r))},resize:function(e,n){t._trigger("resize",e,a(n))},stop:function(r,i){var o=t.uiDialog.offset(),s=o.left-t.document.scrollLeft(),l=o.top-t.document.scrollTop();n.height=t.uiDialog.height(),n.width=t.uiDialog.width(),n.position={my:"left top",at:"left"+(s>=0?"+":"")+s+" top"+(l>=0?"+":"")+l,of:t.window},t._removeClass(e(this),"ui-dialog-resizing"),t._unblockFrames(),t._trigger("resizeStop",r,a(i))}}).css("position",i)},_trackFocus:function(){this._on(this.widget(),{focusin:function(t){this._makeFocusTarget(),this._focusedElement=e(t.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var t=this._trackingInstances(),n=e.inArray(this,t);-1!==n&&t.splice(n,1)},_trackingInstances:function(){var e=this.document.data("ui-dialog-instances");return e||(e=[],this.document.data("ui-dialog-instances",e)),e},_minHeight:function(){var e=this.options;return"auto"===e.height?e.minHeight:Math.min(e.minHeight,e.height)},_position:function(){var e=this.uiDialog.is(":visible");e||this.uiDialog.show(),this.uiDialog.position(this.options.position),e||this.uiDialog.hide()},_setOptions:function(t){var n=this,r=!1,i={};e.each(t,(function(e,t){n._setOption(e,t),e in n.sizeRelatedOptions&&(r=!0),e in n.resizableRelatedOptions&&(i[e]=t)})),r&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",i)},_setOption:function(t,n){var r,i,o=this.uiDialog;"disabled"!==t&&(this._super(t,n),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:e("").text(""+this.options.closeText).html()}),"draggable"===t&&((r=o.is(":data(ui-draggable)"))&&!n&&o.draggable("destroy"),!r&&n&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&((i=o.is(":data(ui-resizable)"))&&!n&&o.resizable("destroy"),i&&"string"==typeof n&&o.resizable("option","handles",n),i||!1===n||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var e,t,n,r=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),r.minWidth>r.width&&(r.width=r.minWidth),e=this.uiDialog.css({height:"auto",width:r.width}).outerHeight(),t=Math.max(0,r.minHeight-e),n="number"==typeof r.maxHeight?Math.max(0,r.maxHeight-e):"none","auto"===r.height?this.element.css({minHeight:t,maxHeight:n,height:"auto"}):this.element.height(Math.max(0,r.height-e)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map((function(){var t=e(this);return e("
    ").css({position:"absolute",width:t.outerWidth(),height:t.outerHeight()}).appendTo(t.parent()).offset(t.offset())[0]}))},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(t){return!!e(t.target).closest(".ui-dialog").length||!!e(t.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var t=e.fn.jquery.substring(0,4),n=!0;this._delay((function(){n=!1})),this.document.data("ui-dialog-overlays")||this.document.on("focusin.ui-dialog",function(e){if(!n){var r=this._trackingInstances()[0];r._allowInteraction(e)||(e.preventDefault(),r._focusTabbable(),"3.4."!==t&&"3.5."!==t&&"3.6."!==t||r._delay(r._restoreTabbableFocus))}}.bind(this)),this.overlay=e("
    ").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var e=this.document.data("ui-dialog-overlays")-1;e?this.document.data("ui-dialog-overlays",e):(this.document.off("focusin.ui-dialog"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),!1!==e.uiBackCompat&&e.widget("ui.dialog",e.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(e,t){"dialogClass"===e&&this.uiDialog.removeClass(this.options.dialogClass).addClass(t),this._superApply(arguments)}}),e.ui.dialog,e.widget("ui.droppable",{version:"1.13.3",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,t=this.options,n=t.accept;this.isover=!1,this.isout=!0,this.accept="function"==typeof n?n:function(e){return e.is(n)},this.proportions=function(){if(!arguments.length)return e||(e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight});e=arguments[0]},this._addToManager(t.scope),t.addClasses&&this._addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;t=t&&e=c&&a<=h||l>=c&&l<=h||ah)&&(o>=u&&o<=f||s>=u&&s<=f||of);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{default:[]},prepareOffsets:function(t,n){var r,i,o=e.ui.ddmanager.droppables[t.options.scope]||[],a=n?n.type:null,s=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(r=0;r").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(e){if(void 0===e)return this.options.value;this.options.value=this._constrainedValue(e),this._refreshValue()},_constrainedValue:function(e){return void 0===e&&(e=this.options.value),this.indeterminate=!1===e,"number"!=typeof e&&(e=0),!this.indeterminate&&Math.min(this.options.max,Math.max(this.min,e))},_setOptions:function(e){var t=e.value;delete e.value,this._super(e),this.options.value=this._constrainedValue(t),this._refreshValue()},_setOption:function(e,t){"max"===e&&(t=Math.max(this.min,t)),this._super(e,t)},_setOptionDisabled:function(e){this._super(e),this.element.attr("aria-disabled",e),this._toggleClass(null,"ui-state-disabled",!!e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var t=this.options.value,n=this._percentage();this.valueDiv.toggle(this.indeterminate||t>this.min).width(n.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,t===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=e("
    ").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":t}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==t&&(this.oldValue=t,this._trigger("change")),t===this.options.max&&this._trigger("complete")}}),e.widget("ui.selectable",e.ui.mouse,{version:"1.13.3",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var t=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){t.elementPos=e(t.element[0]).offset(),t.selectees=e(t.options.filter,t.element[0]),t._addClass(t.selectees,"ui-selectee"),t.selectees.each((function(){var n=e(this),r=n.offset(),i={left:r.left-t.elementPos.left,top:r.top-t.elementPos.top};e.data(this,"selectable-item",{element:this,$element:n,left:i.left,top:i.top,right:i.left+n.outerWidth(),bottom:i.top+n.outerHeight(),startselected:!1,selected:n.hasClass("ui-selected"),selecting:n.hasClass("ui-selecting"),unselecting:n.hasClass("ui-unselecting")})}))},this.refresh(),this._mouseInit(),this.helper=e("
    "),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(t){var n=this,r=this.options;this.opos=[t.pageX,t.pageY],this.elementPos=e(this.element[0]).offset(),this.options.disabled||(this.selectees=e(r.filter,this.element[0]),this._trigger("start",t),e(r.appendTo).append(this.helper),this.helper.css({left:t.pageX,top:t.pageY,width:0,height:0}),r.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each((function(){var r=e.data(this,"selectable-item");r.startselected=!0,t.metaKey||t.ctrlKey||(n._removeClass(r.$element,"ui-selected"),r.selected=!1,n._addClass(r.$element,"ui-unselecting"),r.unselecting=!0,n._trigger("unselecting",t,{unselecting:r.element}))})),e(t.target).parents().addBack().each((function(){var r,i=e.data(this,"selectable-item");if(i)return r=!t.metaKey&&!t.ctrlKey||!i.$element.hasClass("ui-selected"),n._removeClass(i.$element,r?"ui-unselecting":"ui-selected")._addClass(i.$element,r?"ui-selecting":"ui-unselecting"),i.unselecting=!r,i.selecting=r,i.selected=r,r?n._trigger("selecting",t,{selecting:i.element}):n._trigger("unselecting",t,{unselecting:i.element}),!1})))},_mouseDrag:function(t){if(this.dragged=!0,!this.options.disabled){var n,r=this,i=this.options,o=this.opos[0],a=this.opos[1],s=t.pageX,l=t.pageY;return o>s&&(n=s,s=o,o=n),a>l&&(n=l,l=a,a=n),this.helper.css({left:o,top:a,width:s-o,height:l-a}),this.selectees.each((function(){var n=e.data(this,"selectable-item"),u=!1,c={};n&&n.element!==r.element[0]&&(c.left=n.left+r.elementPos.left,c.right=n.right+r.elementPos.left,c.top=n.top+r.elementPos.top,c.bottom=n.bottom+r.elementPos.top,"touch"===i.tolerance?u=!(c.left>s||c.rightl||c.bottomo&&c.righta&&c.bottom",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var t=this.element.uniqueId().attr("id");this.ids={element:t,button:t+"-button",menu:t+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=e()},_drawButton:function(){var t,n=this,r=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(e){this.button.trigger("focus"),e.preventDefault()}}),this.element.hide(),this.button=e("",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),t=e("").appendTo(this.button),this._addClass(t,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(r).appendTo(this.button),!1!==this.options.width&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",(function(){n._rendered||n._refreshMenu()}))},_drawMenu:function(){var t=this;this.menu=e("
      ",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=e("
      ").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(e,n){e.preventDefault(),t._setSelection(),t._select(n.item.data("ui-selectmenu-item"),e)},focus:function(e,n){var r=n.item.data("ui-selectmenu-item");null!=t.focusIndex&&r.index!==t.focusIndex&&(t._trigger("focus",e,{item:r}),t.isOpen||t._select(r,e)),t.focusIndex=r.index,t.button.attr("aria-activedescendant",t.menuItems.eq(r.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var e,t=this.element.find("option");this.menu.empty(),this._parseOptions(t),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,t.length&&(e=this._getSelectedItem(),this.menuInstance.focus(null,e),this._setAria(e.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(e){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",e)))},_position:function(){this.menuWrap.position(e.extend({of:this.button},this.options.position))},close:function(e){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",e))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(t){var n=e("");return this._setText(n,t.label),this._addClass(n,"ui-selectmenu-text"),n},_renderMenu:function(t,n){var r=this,i="";e.each(n,(function(n,o){var a;o.optgroup!==i&&(a=e("
    • ",{text:o.optgroup}),r._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(t),i=o.optgroup),r._renderItemData(t,o)}))},_renderItemData:function(e,t){return this._renderItem(e,t).data("ui-selectmenu-item",t)},_renderItem:function(t,n){var r=e("
    • "),i=e("
      ",{title:n.element.attr("title")});return n.disabled&&this._addClass(r,null,"ui-state-disabled"),n.hidden?r.prop("hidden",!0):this._setText(i,n.label),r.append(i).appendTo(t)},_setText:function(e,t){t?e.text(t):e.html(" ")},_move:function(e,t){var n,r,i=".ui-menu-item";this.isOpen?n=this.menuItems.eq(this.focusIndex).parent("li"):(n=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),i+=":not(.ui-state-disabled)"),(r="first"===e||"last"===e?n["first"===e?"prevAll":"nextAll"](i).eq(-1):n[e+"All"](i).eq(0)).length&&this.menuInstance.focus(t,r)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(e){this[this.isOpen?"close":"open"](e)},_setSelection:function(){var e;this.range&&(window.getSelection?((e=window.getSelection()).removeAllRanges(),e.addRange(this.range)):this.range.select(),this.button.trigger("focus"))},_documentClick:{mousedown:function(t){this.isOpen&&(e(t.target).closest(".ui-selectmenu-menu, #"+e.escapeSelector(this.ids.button)).length||this.close(t))}},_buttonEvents:{mousedown:function(){var e;window.getSelection?(e=window.getSelection()).rangeCount&&(this.range=e.getRangeAt(0)):this.range=document.selection.createRange()},click:function(e){this._setSelection(),this._toggle(e)},keydown:function(t){var n=!0;switch(t.keyCode){case e.ui.keyCode.TAB:case e.ui.keyCode.ESCAPE:this.close(t),n=!1;break;case e.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(t);break;case e.ui.keyCode.UP:t.altKey?this._toggle(t):this._move("prev",t);break;case e.ui.keyCode.DOWN:t.altKey?this._toggle(t):this._move("next",t);break;case e.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(t):this._toggle(t);break;case e.ui.keyCode.LEFT:this._move("prev",t);break;case e.ui.keyCode.RIGHT:this._move("next",t);break;case e.ui.keyCode.HOME:case e.ui.keyCode.PAGE_UP:this._move("first",t);break;case e.ui.keyCode.END:case e.ui.keyCode.PAGE_DOWN:this._move("last",t);break;default:this.menu.trigger(t),n=!1}n&&t.preventDefault()}},_selectFocusedItem:function(e){var t=this.menuItems.eq(this.focusIndex).parent("li");t.hasClass("ui-state-disabled")||this._select(t.data("ui-selectmenu-item"),e)},_select:function(e,t){var n=this.element[0].selectedIndex;this.element[0].selectedIndex=e.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(e)),this._setAria(e),this._trigger("select",t,{item:e}),e.index!==n&&this._trigger("change",t,{item:e}),this.close(t)},_setAria:function(e){var t=this.menuItems.eq(e.index).attr("id");this.button.attr({"aria-labelledby":t,"aria-activedescendant":t}),this.menu.attr("aria-activedescendant",t)},_setOption:function(e,t){if("icons"===e){var n=this.button.find("span.ui-icon");this._removeClass(n,null,this.options.icons.button)._addClass(n,null,t.button)}this._super(e,t),"appendTo"===e&&this.menuWrap.appendTo(this._appendTo()),"width"===e&&this._resizeButton()},_setOptionDisabled:function(e){this._super(e),this.menuInstance.option("disabled",e),this.button.attr("aria-disabled",e),this._toggleClass(this.button,null,"ui-state-disabled",e),this.element.prop("disabled",e),e?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var t=this.options.appendTo;return t&&(t=t.jquery||t.nodeType?e(t):this.document.find(t).eq(0)),t&&t[0]||(t=this.element.closest(".ui-front, dialog")),t.length||(t=this.document[0].body),t},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var e=this.options.width;!1!==e?(null===e&&(e=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(e)):this.button.css("width","")},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var e=this._super();return e.disabled=this.element.prop("disabled"),e},_parseOptions:function(t){var n=this,r=[];t.each((function(t,i){r.push(n._parseOption(e(i),t))})),this.items=r},_parseOption:function(e,t){var n=e.parent("optgroup");return{element:e,index:t,value:e.val(),label:e.text(),hidden:n.prop("hidden")||e.prop("hidden"),optgroup:n.attr("label")||"",disabled:n.prop("disabled")||e.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),e.widget("ui.slider",e.ui.mouse,{version:"1.13.3",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var t,n,r=this.options,i=this.element.find(".ui-slider-handle"),o=[];for(n=r.values&&r.values.length||1,i.length>n&&(i.slice(n).remove(),i=i.slice(0,n)),t=i.length;t");this.handles=i.add(e(o.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each((function(t){e(this).data("ui-slider-handle-index",t).attr("tabIndex",0)}))},_createRange:function(){var t=this.options;t.range?(!0===t.range&&(t.values?t.values.length&&2!==t.values.length?t.values=[t.values[0],t.values[0]]:Array.isArray(t.values)&&(t.values=t.values.slice(0)):t.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=e("
      ").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),"min"!==t.range&&"max"!==t.range||this._addClass(this.range,"ui-slider-range-"+t.range)):(this.range&&this.range.remove(),this.range=null)},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(t){var n,r,i,o,a,s,l,u=this,c=this.options;return!c.disabled&&(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),n={x:t.pageX,y:t.pageY},r=this._normValueFromMouse(n),i=this._valueMax()-this._valueMin()+1,this.handles.each((function(t){var n=Math.abs(r-u.values(t));(i>n||i===n&&(t===u._lastChangedValue||u.values(t)===c.min))&&(i=n,o=e(this),a=t)})),!1!==this._start(t,a)&&(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),s=o.offset(),l=!e(t.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:t.pageX-s.left-o.width()/2,top:t.pageY-s.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(t,a,r),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(e){var t={x:e.pageX,y:e.pageY},n=this._normValueFromMouse(t);return this._slide(e,this._handleIndex,n),!1},_mouseStop:function(e){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(e,this._handleIndex),this._change(e,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(e){var t,n,r,i,o;return"horizontal"===this.orientation?(t=this.elementSize.width,n=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(t=this.elementSize.height,n=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),(r=n/t)>1&&(r=1),r<0&&(r=0),"vertical"===this.orientation&&(r=1-r),i=this._valueMax()-this._valueMin(),o=this._valueMin()+r*i,this._trimAlignValue(o)},_uiHash:function(e,t,n){var r={handle:this.handles[e],handleIndex:e,value:void 0!==t?t:this.value()};return this._hasMultipleValues()&&(r.value=void 0!==t?t:this.values(e),r.values=n||this.values()),r},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(e,t){return this._trigger("start",e,this._uiHash(t))},_slide:function(e,t,n){var r,i=this.value(),o=this.values();this._hasMultipleValues()&&(r=this.values(t?0:1),i=this.values(t),2===this.options.values.length&&!0===this.options.range&&(n=0===t?Math.min(r,n):Math.max(r,n)),o[t]=n),n!==i&&!1!==this._trigger("slide",e,this._uiHash(t,n,o))&&(this._hasMultipleValues()?this.values(t,n):this.value(n))},_stop:function(e,t){this._trigger("stop",e,this._uiHash(t))},_change:function(e,t){this._keySliding||this._mouseSliding||(this._lastChangedValue=t,this._trigger("change",e,this._uiHash(t)))},value:function(e){return arguments.length?(this.options.value=this._trimAlignValue(e),this._refreshValue(),void this._change(null,0)):this._value()},values:function(e,t){var n,r,i;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(t),this._refreshValue(),void this._change(null,e);if(!arguments.length)return this._values();if(!Array.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(n=this.options.values,r=arguments[0],i=0;i=0;n--)this._change(null,n);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(e){this._super(e),this._toggleClass(null,"ui-state-disabled",!!e)},_value:function(){var e=this.options.value;return this._trimAlignValue(e)},_values:function(e){var t,n,r;if(arguments.length)return t=this.options.values[e],this._trimAlignValue(t);if(this._hasMultipleValues()){for(n=this.options.values.slice(),r=0;r=this._valueMax())return this._valueMax();var t=this.options.step>0?this.options.step:1,n=(e-this._valueMin())%t,r=e-n;return 2*Math.abs(n)>=t&&(r+=n>0?t:-t),parseFloat(r.toFixed(5))},_calculateNewMax:function(){var e=this.options.max,t=this._valueMin(),n=this.options.step;(e=Math.round((e-t)/n)*n+t)>this.options.max&&(e-=n),this.max=parseFloat(e.toFixed(this._precision()))},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=e.toString(),n=t.indexOf(".");return-1===n?0:t.length-n-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(e){"vertical"===e&&this.range.css({width:"",left:""}),"horizontal"===e&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var t,n,r,i,o,a=this.options.range,s=this.options,l=this,u=!this._animateOff&&s.animate,c={};this._hasMultipleValues()?this.handles.each((function(r){n=(l.values(r)-l._valueMin())/(l._valueMax()-l._valueMin())*100,c["horizontal"===l.orientation?"left":"bottom"]=n+"%",e(this).stop(1,1)[u?"animate":"css"](c,s.animate),!0===l.options.range&&("horizontal"===l.orientation?(0===r&&l.range.stop(1,1)[u?"animate":"css"]({left:n+"%"},s.animate),1===r&&l.range[u?"animate":"css"]({width:n-t+"%"},{queue:!1,duration:s.animate})):(0===r&&l.range.stop(1,1)[u?"animate":"css"]({bottom:n+"%"},s.animate),1===r&&l.range[u?"animate":"css"]({height:n-t+"%"},{queue:!1,duration:s.animate}))),t=n})):(r=this.value(),i=this._valueMin(),o=this._valueMax(),n=o!==i?(r-i)/(o-i)*100:0,c["horizontal"===this.orientation?"left":"bottom"]=n+"%",this.handle.stop(1,1)[u?"animate":"css"](c,s.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:n+"%"},s.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({width:100-n+"%"},s.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:n+"%"},s.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[u?"animate":"css"]({height:100-n+"%"},s.animate))},_handleEvents:{keydown:function(t){var n,r,i,o=e(t.target).data("ui-slider-handle-index");switch(t.keyCode){case e.ui.keyCode.HOME:case e.ui.keyCode.END:case e.ui.keyCode.PAGE_UP:case e.ui.keyCode.PAGE_DOWN:case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(t.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(e(t.target),null,"ui-state-active"),!1===this._start(t,o)))return}switch(i=this.options.step,n=r=this._hasMultipleValues()?this.values(o):this.value(),t.keyCode){case e.ui.keyCode.HOME:r=this._valueMin();break;case e.ui.keyCode.END:r=this._valueMax();break;case e.ui.keyCode.PAGE_UP:r=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.PAGE_DOWN:r=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/this.numPages);break;case e.ui.keyCode.UP:case e.ui.keyCode.RIGHT:if(n===this._valueMax())return;r=this._trimAlignValue(n+i);break;case e.ui.keyCode.DOWN:case e.ui.keyCode.LEFT:if(n===this._valueMin())return;r=this._trimAlignValue(n-i)}this._slide(t,o,r)},keyup:function(t){var n=e(t.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(t,n),this._change(t,n),this._removeClass(e(t.target),null,"ui-state-active"))}}}),e.widget("ui.sortable",e.ui.mouse,{version:"1.13.3",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,n){return e>=t&&e=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,n){var r=null,i=!1,o=this;return!(this.reverting||this.options.disabled||"static"===this.options.type||(this._refreshItems(t),e(t.target).parents().each((function(){if(e.data(this,o.widgetName+"-item")===o)return r=e(this),!1})),e.data(t.target,o.widgetName+"-item")===o&&(r=e(t.target)),!r||this.options.handle&&!n&&(e(this.options.handle,r).find("*").addBack().each((function(){this===t.target&&(i=!0)})),!i)||(this.currentItem=r,this._removeCurrentsFromItems(),0)))},_mouseStart:function(t,n,r){var i,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.appendTo=e("parent"!==a.appendTo?a.appendTo:this.currentItem.parent()),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),this.scrollParent=this.placeholder.scrollParent(),e.extend(this.offset,{parent:this._getParentOffset()}),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=e("").appendTo(o)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!r)for(i=this.containers.length-1;i>=0;i--)this.containers[i]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!a.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this.helper.parent().is(this.appendTo)||(this.helper.detach().appendTo(this.appendTo),this.offset.parent=this._getParentOffset()),this.position=this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,this.lastPositionAbs=this.positionAbs=this._convertPositionTo("absolute"),this._mouseDrag(t),!0},_scroll:function(e){var t=this.options,n=!1;return this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY=0;n--)if(i=(r=this.items[n]).item[0],(o=this._intersectsWithPointer(r))&&r.instance===this.currentContainer&&!(i===this.currentItem[0]||this.placeholder[1===o?"next":"prev"]()[0]===i||e.contains(this.placeholder[0],i)||"semi-dynamic"===this.options.type&&e.contains(this.element[0],i))){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(r))break;this._rearrange(t,r),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,n){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var r=this,i=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=i.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=i.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(a,parseInt(this.options.revert,10)||500,(function(){r._clear(t)}))}else this._clear(t,n);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new e.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},e(n).each((function(){var n=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);n&&r.push((t.key||n[1]+"[]")+"="+(t.key&&t.expression?n[1]:n[2]))})),!r.length&&t.key&&r.push(t.key+"="),r.join("&")},toArray:function(t){var n=this._getItemsAsjQuery(t&&t.connected),r=[];return t=t||{},n.each((function(){r.push(e(t.item||this).attr(t.attribute||"id")||"")})),r},_intersectsWith:function(e){var t=this.positionAbs.left,n=t+this.helperProportions.width,r=this.positionAbs.top,i=r+this.helperProportions.height,o=e.left,a=o+e.width,s=e.top,l=s+e.height,u=this.offset.click.top,c=this.offset.click.left,f="x"===this.options.axis||r+u>s&&r+uo&&t+ce[this.floating?"width":"height"]?d:o0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){var n,r,i,o,a=[],s=[],l=this._connectWith();if(l&&t)for(n=l.length-1;n>=0;n--)for(r=(i=e(l[n],this.document[0])).length-1;r>=0;r--)(o=e.data(i[r],this.widgetFullName))&&o!==this&&!o.options.disabled&&s.push(["function"==typeof o.options.items?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);function u(){a.push(this)}for(s.push(["function"==typeof this.options.items?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),n=s.length-1;n>=0;n--)s[n][0].each(u);return e(a)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,(function(e){for(var n=0;n=0;n--)for(r=(i=e(h[n],this.document[0])).length-1;r>=0;r--)(o=e.data(i[r],this.widgetFullName))&&o!==this&&!o.options.disabled&&(f.push(["function"==typeof o.options.items?o.options.items.call(o.element[0],t,{item:this.currentItem}):e(o.options.items,o.element),o]),this.containers.push(o));for(n=f.length-1;n>=0;n--)for(a=f[n][1],r=0,u=(s=f[n][0]).length;r=0;n--)r=this.items[n],this.currentContainer&&r.instance!==this.currentContainer&&r.item[0]!==this.currentItem[0]||(i=this.options.toleranceElement?e(this.options.toleranceElement,r.item):r.item,t||(r.width=i.outerWidth(),r.height=i.outerHeight()),o=i.offset(),r.left=o.left,r.top=o.top)},refreshPositions:function(e){var t,n;if(this.floating=!!this.items.length&&("x"===this.options.axis||this._isFloating(this.items[0].item)),this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset()),this._refreshItemPositions(e),this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(t=this.containers.length-1;t>=0;t--)n=this.containers[t].element.offset(),this.containers[t].containerCache.left=n.left,this.containers[t].containerCache.top=n.top,this.containers[t].containerCache.width=this.containers[t].element.outerWidth(),this.containers[t].containerCache.height=this.containers[t].element.outerHeight();return this},_createPlaceholder:function(t){var n,r,i=(t=t||this).options;i.placeholder&&i.placeholder.constructor!==String||(n=i.placeholder,r=t.currentItem[0].nodeName.toLowerCase(),i.placeholder={element:function(){var i=e("<"+r+">",t.document[0]);return t._addClass(i,"ui-sortable-placeholder",n||t.currentItem[0].className)._removeClass(i,"ui-sortable-helper"),"tbody"===r?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("",t.document[0]).appendTo(i)):"tr"===r?t._createTrPlaceholder(t.currentItem,i):"img"===r&&i.attr("src",t.currentItem.attr("src")),n||i.css("visibility","hidden"),i},update:function(e,o){n&&!i.forcePlaceholderSize||(o.height()&&(!i.forcePlaceholderSize||"tbody"!==r&&"tr"!==r)||o.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),o.width()||o.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(i.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),i.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,n){var r=this;t.children().each((function(){e(" ",r.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(n)}))},_contactContainers:function(t){var n,r,i,o,a,s,l,u,c,f,h=null,d=null;for(n=this.containers.length-1;n>=0;n--)if(!e.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(h&&e.contains(this.containers[n].element[0],h.element[0]))continue;h=this.containers[n],d=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",t,this._uiHash(this)),this.containers[n].containerCache.over=0);if(h)if(1===this.containers.length)this.containers[d].containerCache.over||(this.containers[d]._trigger("over",t,this._uiHash(this)),this.containers[d].containerCache.over=1);else{for(i=1e4,o=null,a=(c=h.floating||this._isFloating(this.currentItem))?"left":"top",s=c?"width":"height",f=c?"pageX":"pageY",r=this.items.length-1;r>=0;r--)e.contains(this.containers[d].element[0],this.items[r].item[0])&&this.items[r].item[0]!==this.currentItem[0]&&(l=this.items[r].item.offset()[a],u=!1,t[f]-l>this.items[r][s]/2&&(u=!0),Math.abs(t[f]-l)this.containment[2]&&(o=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),i.grid&&(n=this.originalPageY+Math.round((a-this.originalPageY)/i.grid[1])*i.grid[1],a=this.containment?n-this.offset.click.top>=this.containment[1]&&n-this.offset.click.top<=this.containment[3]?n:n-this.offset.click.top>=this.containment[1]?n-i.grid[1]:n+i.grid[1]:n,r=this.originalPageX+Math.round((o-this.originalPageX)/i.grid[0])*i.grid[0],o=this.containment?r-this.offset.click.left>=this.containment[0]&&r-this.offset.click.left<=this.containment[2]?r:r-this.offset.click.left>=this.containment[0]?r-i.grid[0]:r+i.grid[0]:r)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():l?0:s.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():l?0:s.scrollLeft())}},_rearrange:function(e,t,n,r){n?n[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var i=this.counter;this._delay((function(){i===this.counter&&this.refreshPositions(!r)}))},_clear:function(e,t){this.reverting=!1;var n,r=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(n in this._storedCSS)"auto"!==this._storedCSS[n]&&"static"!==this._storedCSS[n]||(this._storedCSS[n]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();function i(e,t,n){return function(r){n._trigger(e,r,t._uiHash(t))}}for(this.fromOutside&&!t&&r.push((function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))})),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||r.push((function(e){this._trigger("update",e,this._uiHash())})),this!==this.currentContainer&&(t||(r.push((function(e){this._trigger("remove",e,this._uiHash())})),r.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),r.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),n=this.containers.length-1;n>=0;n--)t||r.push(i("deactivate",this,this.containers[n])),this.containers[n].containerCache.over&&(r.push(i("out",this,this.containers[n])),this.containers[n].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(n=0;n",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var t=this._super(),n=this.element;return e.each(["min","max","step"],(function(e,r){var i=n.attr(r);null!=i&&i.length&&(t[r]=i)})),t},_events:{keydown:function(e){this._start(e)&&this._keydown(e)&&e.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(e){this.cancelBlur?delete this.cancelBlur:(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",e))},mousewheel:function(t,n){var r=e.ui.safeActiveElement(this.document[0]);if(this.element[0]===r&&n){if(!this.spinning&&!this._start(t))return!1;this._spin((n>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay((function(){this.spinning&&this._stop(t)}),100),t.preventDefault()}},"mousedown .ui-spinner-button":function(t){var n;function r(){this.element[0]===e.ui.safeActiveElement(this.document[0])||(this.element.trigger("focus"),this.previous=n,this._delay((function(){this.previous=n})))}n=this.element[0]===e.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),t.preventDefault(),r.call(this),this.cancelBlur=!0,this._delay((function(){delete this.cancelBlur,r.call(this)})),!1!==this._start(t)&&this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(t){if(e(t.currentTarget).hasClass("ui-state-active"))return!1!==this._start(t)&&void this._repeat(null,e(t.currentTarget).hasClass("ui-spinner-up")?1:-1,t)},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("").parent().append("")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(t){var n=this.options,r=e.ui.keyCode;switch(t.keyCode){case r.UP:return this._repeat(null,1,t),!0;case r.DOWN:return this._repeat(null,-1,t),!0;case r.PAGE_UP:return this._repeat(null,n.page,t),!0;case r.PAGE_DOWN:return this._repeat(null,-n.page,t),!0}return!1},_start:function(e){return!(!this.spinning&&!1===this._trigger("start",e)||(this.counter||(this.counter=1),this.spinning=!0,0))},_repeat:function(e,t,n){e=e||500,clearTimeout(this.timer),this.timer=this._delay((function(){this._repeat(40,t,n)}),e),this._spin(t*this.options.step,n)},_spin:function(e,t){var n=this.value()||0;this.counter||(this.counter=1),n=this._adjustValue(n+e*this._increment(this.counter)),this.spinning&&!1===this._trigger("spin",t,{value:n})||(this._value(n),this.counter++)},_increment:function(e){var t=this.options.incremental;return t?"function"==typeof t?t(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var e=this._precisionOf(this.options.step);return null!==this.options.min&&(e=Math.max(e,this._precisionOf(this.options.min))),e},_precisionOf:function(e){var t=e.toString(),n=t.indexOf(".");return-1===n?0:t.length-n-1},_adjustValue:function(e){var t,n,r=this.options;return n=e-(t=null!==r.min?r.min:0),e=t+(n=Math.round(n/r.step)*r.step),e=parseFloat(e.toFixed(this._precision())),null!==r.max&&e>r.max?r.max:null!==r.min&&e"},_buttonHtml:function(){return""}}),e.ui.spinner,e.widget("ui.tabs",{version:"1.13.3",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:(I=/#.*$/,function(e){var t,n;t=e.href.replace(I,""),n=location.href.replace(I,"");try{t=decodeURIComponent(t)}catch(e){}try{n=decodeURIComponent(n)}catch(e){}return e.hash.length>1&&t===n}),_create:function(){var t=this,n=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,n.collapsible),this._processTabs(),n.active=this._initialActive(),Array.isArray(n.disabled)&&(n.disabled=e.uniqueSort(n.disabled.concat(e.map(this.tabs.filter(".ui-state-disabled"),(function(e){return t.tabs.index(e)})))).sort()),!1!==this.options.active&&this.anchors.length?this.active=this._findActive(n.active):this.active=e(),this._refresh(),this.active.length&&this.load(n.active)},_initialActive:function(){var t=this.options.active,n=this.options.collapsible,r=location.hash.substring(1);return null===t&&(r&&this.tabs.each((function(n,i){if(e(i).attr("aria-controls")===r)return t=n,!1})),null===t&&(t=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),null!==t&&-1!==t||(t=!!this.tabs.length&&0)),!1!==t&&-1===(t=this.tabs.index(this.tabs.eq(t)))&&(t=!n&&0),!n&&!1===t&&this.anchors.length&&(t=0),t},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):e()}},_tabKeydown:function(t){var n=e(e.ui.safeActiveElement(this.document[0])).closest("li"),r=this.tabs.index(n),i=!0;if(!this._handlePageNav(t)){switch(t.keyCode){case e.ui.keyCode.RIGHT:case e.ui.keyCode.DOWN:r++;break;case e.ui.keyCode.UP:case e.ui.keyCode.LEFT:i=!1,r--;break;case e.ui.keyCode.END:r=this.anchors.length-1;break;case e.ui.keyCode.HOME:r=0;break;case e.ui.keyCode.SPACE:return t.preventDefault(),clearTimeout(this.activating),void this._activate(r);case e.ui.keyCode.ENTER:return t.preventDefault(),clearTimeout(this.activating),void this._activate(r!==this.options.active&&r);default:return}t.preventDefault(),clearTimeout(this.activating),r=this._focusNextTab(r,i),t.ctrlKey||t.metaKey||(n.attr("aria-selected","false"),this.tabs.eq(r).attr("aria-selected","true"),this.activating=this._delay((function(){this.option("active",r)}),this.delay))}},_panelKeydown:function(t){this._handlePageNav(t)||t.ctrlKey&&t.keyCode===e.ui.keyCode.UP&&(t.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(t){return t.altKey&&t.keyCode===e.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):t.altKey&&t.keyCode===e.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(t,n){var r=this.tabs.length-1;for(;-1!==e.inArray((t>r&&(t=0),t<0&&(t=r),t),this.options.disabled);)t=n?t+1:t-1;return t},_focusNextTab:function(e,t){return e=this._findNextTab(e,t),this.tabs.eq(e).trigger("focus"),e},_setOption:function(e,t){"active"!==e?(this._super(e,t),"collapsible"===e&&(this._toggleClass("ui-tabs-collapsible",null,t),t||!1!==this.options.active||this._activate(0)),"event"===e&&this._setupEvents(t),"heightStyle"===e&&this._setupHeightStyle(t)):this._activate(t)},_sanitizeSelector:function(e){return e?e.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var t=this.options,n=this.tablist.children(":has(a[href])");t.disabled=e.map(n.filter(".ui-state-disabled"),(function(e){return n.index(e)})),this._processTabs(),!1!==t.active&&this.anchors.length?this.active.length&&!e.contains(this.tablist[0],this.active[0])?this.tabs.length===t.disabled.length?(t.active=!1,this.active=e()):this._activate(this._findNextTab(Math.max(0,t.active-1),!1)):t.active=this.tabs.index(this.active):(t.active=!1,this.active=e()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var t=this,n=this.tabs,r=this.anchors,i=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",(function(t){e(this).is(".ui-state-disabled")&&t.preventDefault()})).on("focus"+this.eventNamespace,".ui-tabs-anchor",(function(){e(this).closest("li").is(".ui-state-disabled")&&this.blur()})),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map((function(){return e("a",this)[0]})).attr({tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=e(),this.anchors.each((function(n,r){var i,o,a,s=e(r).uniqueId().attr("id"),l=e(r).closest("li"),u=l.attr("aria-controls");t._isLocal(r)?(a=(i=r.hash).substring(1),o=t.element.find(t._sanitizeSelector(i))):(i="#"+(a=l.attr("aria-controls")||e({}).uniqueId()[0].id),(o=t.element.find(i)).length||(o=t._createPanel(a)).insertAfter(t.panels[n-1]||t.tablist),o.attr("aria-live","polite")),o.length&&(t.panels=t.panels.add(o)),u&&l.data("ui-tabs-aria-controls",u),l.attr({"aria-controls":a,"aria-labelledby":s}),o.attr("aria-labelledby",s)})),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),n&&(this._off(n.not(this.tabs)),this._off(r.not(this.anchors)),this._off(i.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(t){return e("
      ").attr("id",t).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(t){var n,r,i;for(Array.isArray(t)&&(t.length?t.length===this.anchors.length&&(t=!0):t=!1),i=0;r=this.tabs[i];i++)n=e(r),!0===t||-1!==e.inArray(i,t)?(n.attr("aria-disabled","true"),this._addClass(n,null,"ui-state-disabled")):(n.removeAttr("aria-disabled"),this._removeClass(n,null,"ui-state-disabled"));this.options.disabled=t,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!0===t)},_setupEvents:function(t){var n={};t&&e.each(t.split(" "),(function(e,t){n[t]="_eventHandler"})),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(e){e.preventDefault()}}),this._on(this.anchors,n),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(t){var n,r=this.element.parent();"fill"===t?(n=r.height(),n-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each((function(){var t=e(this),r=t.css("position");"absolute"!==r&&"fixed"!==r&&(n-=t.outerHeight(!0))})),this.element.children().not(this.panels).each((function(){n-=e(this).outerHeight(!0)})),this.panels.each((function(){e(this).height(Math.max(0,n-e(this).innerHeight()+e(this).height()))})).css("overflow","auto")):"auto"===t&&(n=0,this.panels.each((function(){n=Math.max(n,e(this).height("").height())})).height(n))},_eventHandler:function(t){var n=this.options,r=this.active,i=e(t.currentTarget).closest("li"),o=i[0]===r[0],a=o&&n.collapsible,s=a?e():this._getPanelForTab(i),l=r.length?this._getPanelForTab(r):e(),u={oldTab:r,oldPanel:l,newTab:a?e():i,newPanel:s};t.preventDefault(),i.hasClass("ui-state-disabled")||i.hasClass("ui-tabs-loading")||this.running||o&&!n.collapsible||!1===this._trigger("beforeActivate",t,u)||(n.active=!a&&this.tabs.index(i),this.active=o?e():i,this.xhr&&this.xhr.abort(),l.length||s.length||e.error("jQuery UI Tabs: Mismatching fragment identifier."),s.length&&this.load(this.tabs.index(i),t),this._toggle(t,u))},_toggle:function(t,n){var r=this,i=n.newPanel,o=n.oldPanel;function a(){r.running=!1,r._trigger("activate",t,n)}function s(){r._addClass(n.newTab.closest("li"),"ui-tabs-active","ui-state-active"),i.length&&r.options.show?r._show(i,r.options.show,a):(i.show(),a())}this.running=!0,o.length&&this.options.hide?this._hide(o,this.options.hide,(function(){r._removeClass(n.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),s()})):(this._removeClass(n.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),o.hide(),s()),o.attr("aria-hidden","true"),n.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&o.length?n.oldTab.attr("tabIndex",-1):i.length&&this.tabs.filter((function(){return 0===e(this).attr("tabIndex")})).attr("tabIndex",-1),i.attr("aria-hidden","false"),n.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(t){var n,r=this._findActive(t);r[0]!==this.active[0]&&(r.length||(r=this.active),n=r.find(".ui-tabs-anchor")[0],this._eventHandler({target:n,currentTarget:n,preventDefault:e.noop}))},_findActive:function(t){return!1===t?e():this.tabs.eq(t)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+e.escapeSelector(t)+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each((function(){e.data(this,"ui-tabs-destroy")?e(this).remove():e(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")})),this.tabs.each((function(){var t=e(this),n=t.data("ui-tabs-aria-controls");n?t.attr("aria-controls",n).removeData("ui-tabs-aria-controls"):t.removeAttr("aria-controls")})),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(t){var n=this.options.disabled;!1!==n&&(void 0===t?n=!1:(t=this._getIndex(t),n=Array.isArray(n)?e.map(n,(function(e){return e!==t?e:null})):e.map(this.tabs,(function(e,n){return n!==t?n:null}))),this._setOptionDisabled(n))},disable:function(t){var n=this.options.disabled;if(!0!==n){if(void 0===t)n=!0;else{if(t=this._getIndex(t),-1!==e.inArray(t,n))return;n=Array.isArray(n)?e.merge([t],n).sort():[t]}this._setOptionDisabled(n)}},load:function(t,n){t=this._getIndex(t);var r=this,i=this.tabs.eq(t),o=i.find(".ui-tabs-anchor"),a=this._getPanelForTab(i),s={tab:i,panel:a},l=function(e,t){"abort"===t&&r.panels.stop(!1,!0),r._removeClass(i,"ui-tabs-loading"),a.removeAttr("aria-busy"),e===r.xhr&&delete r.xhr};this._isLocal(o[0])||(this.xhr=e.ajax(this._ajaxSettings(o,n,s)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(i,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done((function(e,t,i){setTimeout((function(){a.html(e),r._trigger("load",n,s),l(i,t)}),1)})).fail((function(e,t){setTimeout((function(){l(e,t)}),1)}))))},_ajaxSettings:function(t,n,r){var i=this;return{url:t.attr("href").replace(/#.*$/,""),beforeSend:function(t,o){return i._trigger("beforeLoad",n,e.extend({jqXHR:t,ajaxSettings:o},r))}}},_getPanelForTab:function(t){var n=e(t).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+n))}}),!1!==e.uiBackCompat&&e.widget("ui.tabs",e.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),e.ui.tabs,e.widget("ui.tooltip",{version:"1.13.3",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var t=e(this).attr("title");return e("").text(t).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,t){var n=(e.attr("aria-describedby")||"").split(/\s+/);n.push(t),e.data("ui-tooltip-id",t).attr("aria-describedby",String.prototype.trim.call(n.join(" ")))},_removeDescribedBy:function(t){var n=t.data("ui-tooltip-id"),r=(t.attr("aria-describedby")||"").split(/\s+/),i=e.inArray(n,r);-1!==i&&r.splice(i,1),t.removeData("ui-tooltip-id"),(r=String.prototype.trim.call(r.join(" ")))?t.attr("aria-describedby",r):t.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=e("
      ").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=e([])},_setOption:function(t,n){var r=this;this._super(t,n),"content"===t&&e.each(this.tooltips,(function(e,t){r._updateContent(t.element)}))},_setOptionDisabled:function(e){this[e?"_disable":"_enable"]()},_disable:function(){var t=this;e.each(this.tooltips,(function(n,r){var i=e.Event("blur");i.target=i.currentTarget=r.element[0],t.close(i,!0)})),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter((function(){var t=e(this);if(t.is("[title]"))return t.data("ui-tooltip-title",t.attr("title")).removeAttr("title")})))},_enable:function(){this.disabledTitles.each((function(){var t=e(this);t.data("ui-tooltip-title")&&t.attr("title",t.data("ui-tooltip-title"))})),this.disabledTitles=e([])},open:function(t){var n=this,r=e(t?t.target:this.element).closest(this.options.items);r.length&&!r.data("ui-tooltip-id")&&(r.attr("title")&&r.data("ui-tooltip-title",r.attr("title")),r.data("ui-tooltip-open",!0),t&&"mouseover"===t.type&&r.parents().each((function(){var t,r=e(this);r.data("ui-tooltip-open")&&((t=e.Event("blur")).target=t.currentTarget=this,n.close(t,!0)),r.attr("title")&&(r.uniqueId(),n.parents[this.id]={element:this,title:r.attr("title")},r.attr("title",""))})),this._registerCloseHandlers(t,r),this._updateContent(r,t))},_updateContent:function(e,t){var n,r=this.options.content,i=this,o=t?t.type:null;if("string"==typeof r||r.nodeType||r.jquery)return this._open(t,e,r);(n=r.call(e[0],(function(n){i._delay((function(){e.data("ui-tooltip-open")&&(t&&(t.type=o),this._open(t,e,n))}))})))&&this._open(t,e,n)},_open:function(t,n,r){var i,o,a,s,l=e.extend({},this.options.position);function u(e){l.of=e,o.is(":hidden")||o.position(l)}r&&((i=this._find(n))?i.tooltip.find(".ui-tooltip-content").html(r):(n.is("[title]")&&(t&&"mouseover"===t.type?n.attr("title",""):n.removeAttr("title")),i=this._tooltip(n),o=i.tooltip,this._addDescribedBy(n,o.attr("id")),o.find(".ui-tooltip-content").html(r),this.liveRegion.children().hide(),(s=e("
      ").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),s.removeAttr("id").find("[id]").removeAttr("id"),s.appendTo(this.liveRegion),this.options.track&&t&&/^mouse/.test(t.type)?(this._on(this.document,{mousemove:u}),u(t)):o.position(e.extend({of:n},this.options.position)),o.hide(),this._show(o,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(a=this.delayedShow=setInterval((function(){o.is(":visible")&&(u(l.of),clearInterval(a))}),13)),this._trigger("open",t,{tooltip:o})))},_registerCloseHandlers:function(t,n){var r={keyup:function(t){if(t.keyCode===e.ui.keyCode.ESCAPE){var r=e.Event(t);r.currentTarget=n[0],this.close(r,!0)}}};n[0]!==this.element[0]&&(r.remove=function(){var e=this._find(n);e&&this._removeTooltip(e.tooltip)}),t&&"mouseover"!==t.type||(r.mouseleave="close"),t&&"focusin"!==t.type||(r.focusout="close"),this._on(!0,n,r)},close:function(t){var n,r=this,i=e(t?t.currentTarget:this.element),o=this._find(i);o?(n=o.tooltip,o.closing||(clearInterval(this.delayedShow),i.data("ui-tooltip-title")&&!i.attr("title")&&i.attr("title",i.data("ui-tooltip-title")),this._removeDescribedBy(i),o.hiding=!0,n.stop(!0),this._hide(n,this.options.hide,(function(){r._removeTooltip(e(this))})),i.removeData("ui-tooltip-open"),this._off(i,"mouseleave focusout keyup"),i[0]!==this.element[0]&&this._off(i,"remove"),this._off(this.document,"mousemove"),t&&"mouseleave"===t.type&&e.each(this.parents,(function(t,n){e(n.element).attr("title",n.title),delete r.parents[t]})),o.closing=!0,this._trigger("close",t,{tooltip:n}),o.hiding||(o.closing=!1))):i.removeData("ui-tooltip-open")},_tooltip:function(t){var n=e("
      ").attr("role","tooltip"),r=e("
      ").appendTo(n),i=n.uniqueId().attr("id");return this._addClass(r,"ui-tooltip-content"),this._addClass(n,"ui-tooltip","ui-widget ui-widget-content"),n.appendTo(this._appendTo(t)),this.tooltips[i]={element:t,tooltip:n}},_find:function(e){var t=e.data("ui-tooltip-id");return t?this.tooltips[t]:null},_removeTooltip:function(e){clearInterval(this.delayedShow),e.remove(),delete this.tooltips[e.attr("id")]},_appendTo:function(e){var t=e.closest(".ui-front, dialog");return t.length||(t=this.document[0].body),t},_destroy:function(){var t=this;e.each(this.tooltips,(function(n,r){var i=e.Event("blur"),o=r.element;i.target=i.currentTarget=o[0],t.close(i,!0),e("#"+n).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))})),this.liveRegion.remove()}}),!1!==e.uiBackCompat&&e.widget("ui.tooltip",e.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var e=this._superApply(arguments);return this.options.tooltipClass&&e.tooltip.addClass(this.options.tooltipClass),e}}),e.ui.tooltip},void 0===(o=r.apply(t,i))||(e.exports=o)}()},692:function(e,t){var n;!function(t,n){"use strict";"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,(function(r,i){"use strict";var o=[],a=Object.getPrototypeOf,s=o.slice,l=o.flat?function(e){return o.flat.call(e)}:function(e){return o.concat.apply([],e)},u=o.push,c=o.indexOf,f={},h=f.toString,d=f.hasOwnProperty,p=d.toString,m=p.call(Object),g={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},b=r.document,_={type:!0,src:!0,nonce:!0,noModule:!0};function w(e,t,n){var r,i,o=(n=n||b).createElement("script");if(o.text=e,t)for(r in _)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?f[h.call(e)]||"object":typeof e}var k="3.7.1",S=/HTML$/i,C=function(e,t){return new C.fn.init(e,t)};function T(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function E(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}C.fn=C.prototype={jquery:k,constructor:C,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=C.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return C.each(this,e)},map:function(e){return this.pushStack(C.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(C.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(C.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n+~]|"+N+")"+N+"*"),F=new RegExp(N+"|>"),U=new RegExp(L),B=new RegExp("^"+j+"$"),W={ID:new RegExp("^#("+j+")"),CLASS:new RegExp("^\\.("+j+")"),TAG:new RegExp("^("+j+"|[*])"),ATTR:new RegExp("^"+A),PSEUDO:new RegExp("^"+L),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+N+"*(even|odd|(([+-]|)(\\d*)n|)"+N+"*(?:([+-]|)"+N+"*(\\d+)|))"+N+"*\\)|)","i"),bool:new RegExp("^(?:"+T+")$","i"),needsContext:new RegExp("^"+N+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+N+"*((?:-\\d)?\\d*)"+N+"*\\)|)(?=[^-]|$)","i")},$=/^(?:input|select|textarea|button)$/i,V=/^h\d$/i,Y=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,X=/[+~]/,G=new RegExp("\\\\[\\da-fA-F]{1,6}"+N+"?|\\\\([^\\r\\n\\f])","g"),Q=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},K=function(){le()},J=he((function(e){return!0===e.disabled&&E(e,"fieldset")}),{dir:"parentNode",next:"legend"});try{m.apply(o=s.call(R.childNodes),R.childNodes),o[R.childNodes.length].nodeType}catch(e){m={apply:function(e,t){I.apply(e,s.call(t))},call:function(e){I.apply(e,s.call(arguments,1))}}}function Z(e,t,n,r){var i,o,a,s,u,c,d,p=t&&t.ownerDocument,y=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==y&&9!==y&&11!==y)return n;if(!r&&(le(t),t=t||l,f)){if(11!==y&&(u=Y.exec(e)))if(i=u[1]){if(9===y){if(!(a=t.getElementById(i)))return n;if(a.id===i)return m.call(n,a),n}else if(p&&(a=p.getElementById(i))&&Z.contains(t,a)&&a.id===i)return m.call(n,a),n}else{if(u[2])return m.apply(n,t.getElementsByTagName(e)),n;if((i=u[3])&&t.getElementsByClassName)return m.apply(n,t.getElementsByClassName(i)),n}if(!(k[e+" "]||h&&h.test(e))){if(d=e,p=t,1===y&&(F.test(e)||H.test(e))){for((p=X.test(e)&&se(t.parentNode)||t)==t&&g.scope||((s=t.getAttribute("id"))?s=C.escapeSelector(s):t.setAttribute("id",s=v)),o=(c=ce(e)).length;o--;)c[o]=(s?"#"+s:":scope")+" "+fe(c[o]);d=c.join(",")}try{return m.apply(n,p.querySelectorAll(d)),n}catch(t){k(e,!0)}finally{s===v&&t.removeAttribute("id")}}}return ye(e.replace(O,"$1"),t,n,r)}function ee(){var e=[];return function n(r,i){return e.push(r+" ")>t.cacheLength&&delete n[e.shift()],n[r+" "]=i}}function te(e){return e[v]=!0,e}function ne(e){var t=l.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function re(e){return function(t){return E(t,"input")&&t.type===e}}function ie(e){return function(t){return(E(t,"input")||E(t,"button"))&&t.type===e}}function oe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&J(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ae(e){return te((function(t){return t=+t,te((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function se(e){return e&&void 0!==e.getElementsByTagName&&e}function le(e){var n,r=e?e.ownerDocument||e:R;return r!=l&&9===r.nodeType&&r.documentElement?(u=(l=r).documentElement,f=!C.isXMLDoc(l),p=u.matches||u.webkitMatchesSelector||u.msMatchesSelector,u.msMatchesSelector&&R!=l&&(n=l.defaultView)&&n.top!==n&&n.addEventListener("unload",K),g.getById=ne((function(e){return u.appendChild(e).id=C.expando,!l.getElementsByName||!l.getElementsByName(C.expando).length})),g.disconnectedMatch=ne((function(e){return p.call(e,"*")})),g.scope=ne((function(){return l.querySelectorAll(":scope")})),g.cssHas=ne((function(){try{return l.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}})),g.getById?(t.filter.ID=function(e){var t=e.replace(G,Q);return function(e){return e.getAttribute("id")===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&f){var n=t.getElementById(e);return n?[n]:[]}}):(t.filter.ID=function(e){var t=e.replace(G,Q);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},t.find.ID=function(e,t){if(void 0!==t.getElementById&&f){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),t.find.TAG=function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},t.find.CLASS=function(e,t){if(void 0!==t.getElementsByClassName&&f)return t.getElementsByClassName(e)},h=[],ne((function(e){var t;u.appendChild(e).innerHTML="",e.querySelectorAll("[selected]").length||h.push("\\["+N+"*(?:value|"+T+")"),e.querySelectorAll("[id~="+v+"-]").length||h.push("~="),e.querySelectorAll("a#"+v+"+*").length||h.push(".#.+[+~]"),e.querySelectorAll(":checked").length||h.push(":checked"),(t=l.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),u.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&h.push(":enabled",":disabled"),(t=l.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||h.push("\\["+N+"*name"+N+"*="+N+"*(?:''|\"\")")})),g.cssHas||h.push(":has"),h=h.length&&new RegExp(h.join("|")),S=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!g.sortDetached&&t.compareDocumentPosition(e)===n?e===l||e.ownerDocument==R&&Z.contains(R,e)?-1:t===l||t.ownerDocument==R&&Z.contains(R,t)?1:i?c.call(i,e)-c.call(i,t):0:4&n?-1:1)},l):l}for(e in Z.matches=function(e,t){return Z(e,null,null,t)},Z.matchesSelector=function(e,t){if(le(e),f&&!k[t+" "]&&(!h||!h.test(t)))try{var n=p.call(e,t);if(n||g.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return Z(t,l,null,[e]).length>0},Z.contains=function(e,t){return(e.ownerDocument||e)!=l&&le(e),C.contains(e,t)},Z.attr=function(e,n){(e.ownerDocument||e)!=l&&le(e);var r=t.attrHandle[n.toLowerCase()],i=r&&d.call(t.attrHandle,n.toLowerCase())?r(e,n,!f):void 0;return void 0!==i?i:e.getAttribute(n)},Z.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},C.uniqueSort=function(e){var t,n=[],r=0,o=0;if(a=!g.sortStable,i=!g.sortStable&&s.call(e,0),P.call(e,S),a){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)D.call(e,n[r],1)}return i=null,e},C.fn.uniqueSort=function(){return this.pushStack(C.uniqueSort(s.apply(this)))},t=C.expr={cacheLength:50,createPseudo:te,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(G,Q),e[3]=(e[3]||e[4]||e[5]||"").replace(G,Q),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||Z.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&Z.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return W.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=ce(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(G,Q).toLowerCase();return"*"===e?function(){return!0}:function(e){return E(e,t)}},CLASS:function(e){var t=_[e+" "];return t||(t=new RegExp("(^|"+N+")"+e+"("+N+"|$)"))&&_(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=Z.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(z," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,f,h,d,p=o!==a?"nextSibling":"previousSibling",m=t.parentNode,g=s&&t.nodeName.toLowerCase(),b=!l&&!s,_=!1;if(m){if(o){for(;p;){for(f=t;f=f[p];)if(s?E(f,g):1===f.nodeType)return!1;d=p="only"===e&&!d&&"nextSibling"}return!0}if(d=[a?m.firstChild:m.lastChild],a&&b){for(_=(h=(u=(c=m[v]||(m[v]={}))[e]||[])[0]===y&&u[1])&&u[2],f=h&&m.childNodes[h];f=++h&&f&&f[p]||(_=h=0)||d.pop();)if(1===f.nodeType&&++_&&f===t){c[e]=[y,h,_];break}}else if(b&&(_=h=(u=(c=t[v]||(t[v]={}))[e]||[])[0]===y&&u[1]),!1===_)for(;(f=++h&&f&&f[p]||(_=h=0)||d.pop())&&(!(s?E(f,g):1===f.nodeType)||!++_||(b&&((c=f[v]||(f[v]={}))[e]=[y,_]),f!==t)););return(_-=i)===r||_%r==0&&_/r>=0}}},PSEUDO:function(e,n){var r,i=t.pseudos[e]||t.setFilters[e.toLowerCase()]||Z.error("unsupported pseudo: "+e);return i[v]?i(n):i.length>1?(r=[e,e,"",n],t.setFilters.hasOwnProperty(e.toLowerCase())?te((function(e,t){for(var r,o=i(e,n),a=o.length;a--;)e[r=c.call(e,o[a])]=!(t[r]=o[a])})):function(e){return i(e,0,r)}):i}},pseudos:{not:te((function(e){var t=[],n=[],r=ve(e.replace(O,"$1"));return r[v]?te((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:te((function(e){return function(t){return Z(e,t).length>0}})),contains:te((function(e){return e=e.replace(G,Q),function(t){return(t.textContent||C.text(t)).indexOf(e)>-1}})),lang:te((function(e){return B.test(e||"")||Z.error("unsupported lang: "+e),e=e.replace(G,Q).toLowerCase(),function(t){var n;do{if(n=f?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(e){var t=r.location&&r.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===u},focus:function(e){return e===function(){try{return l.activeElement}catch(e){}}()&&l.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:oe(!1),disabled:oe(!0),checked:function(e){return E(e,"input")&&!!e.checked||E(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!t.pseudos.empty(e)},header:function(e){return V.test(e.nodeName)},input:function(e){return $.test(e.nodeName)},button:function(e){return E(e,"input")&&"button"===e.type||E(e,"button")},text:function(e){var t;return E(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ae((function(){return[0]})),last:ae((function(e,t){return[t-1]})),eq:ae((function(e,t,n){return[n<0?n+t:n]})),even:ae((function(e,t){for(var n=0;nt?t:n;--r>=0;)e.push(r);return e})),gt:ae((function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function pe(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,u=null!=t;s-1&&(o[u]=!(a[u]=h))}}else d=pe(d===a?d.splice(v,d.length):d),i?i(null,a,d,l):m.apply(a,d)}))}function ge(e){for(var r,i,o,a=e.length,s=t.relative[e[0].type],l=s||t.relative[" "],u=s?1:0,f=he((function(e){return e===r}),l,!0),h=he((function(e){return c.call(r,e)>-1}),l,!0),d=[function(e,t,i){var o=!s&&(i||t!=n)||((r=t).nodeType?f(e,t,i):h(e,t,i));return r=null,o}];u1&&de(d),u>1&&fe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(O,"$1"),i,u0,o=e.length>0,a=function(a,s,u,c,h){var d,p,g,v=0,b="0",_=a&&[],w=[],x=n,k=a||o&&t.find.TAG("*",h),S=y+=null==x?1:Math.random()||.1,T=k.length;for(h&&(n=s==l||s||h);b!==T&&null!=(d=k[b]);b++){if(o&&d){for(p=0,s||d.ownerDocument==l||(le(d),u=!f);g=e[p++];)if(g(d,s||l,u)){m.call(c,d);break}h&&(y=S)}i&&((d=!g&&d)&&v--,a&&_.push(d))}if(v+=b,i&&b!==v){for(p=0;g=r[p++];)g(_,w,s,u);if(a){if(v>0)for(;b--;)_[b]||w[b]||(w[b]=M.call(c));w=pe(w)}m.apply(c,w),h&&!a&&w.length>0&&v+r.length>1&&C.uniqueSort(c)}return h&&(y=S,n=x),_};return i?te(a):a}(a,o)),s.selector=e}return s}function ye(e,n,r,i){var o,a,s,l,u,c="function"==typeof e&&e,h=!i&&ce(e=c.selector||e);if(r=r||[],1===h.length){if((a=h[0]=h[0].slice(0)).length>2&&"ID"===(s=a[0]).type&&9===n.nodeType&&f&&t.relative[a[1].type]){if(!(n=(t.find.ID(s.matches[0].replace(G,Q),n)||[])[0]))return r;c&&(n=n.parentNode),e=e.slice(a.shift().value.length)}for(o=W.needsContext.test(e)?0:a.length;o--&&(s=a[o],!t.relative[l=s.type]);)if((u=t.find[l])&&(i=u(s.matches[0].replace(G,Q),X.test(a[0].type)&&se(n.parentNode)||n))){if(a.splice(o,1),!(e=i.length&&fe(a)))return m.apply(r,i),r;break}}return(c||ve(e,h))(i,n,!f,r,!n||X.test(e)&&se(n.parentNode)||n),r}ue.prototype=t.filters=t.pseudos,t.setFilters=new ue,g.sortStable=v.split("").sort(S).join("")===v,le(),g.sortDetached=ne((function(e){return 1&e.compareDocumentPosition(l.createElement("fieldset"))})),C.find=Z,C.expr[":"]=C.expr.pseudos,C.unique=C.uniqueSort,Z.compile=ve,Z.select=ye,Z.setDocument=le,Z.tokenize=ce,Z.escape=C.escapeSelector,Z.getText=C.text,Z.isXML=C.isXMLDoc,Z.selectors=C.expr,Z.support=C.support,Z.uniqueSort=C.uniqueSort}();var L=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&C(e).is(n))break;r.push(e)}return r},z=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},q=C.expr.match.needsContext,H=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function F(e,t,n){return v(t)?C.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?C.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?C.grep(e,(function(e){return c.call(t,e)>-1!==n})):C.filter(t,e,n)}C.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?C.find.matchesSelector(r,e)?[r]:[]:C.find.matches(e,C.grep(t,(function(e){return 1===e.nodeType})))},C.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(C(e).filter((function(){for(t=0;t1?C.uniqueSort(n):n},filter:function(e){return this.pushStack(F(this,e||[],!1))},not:function(e){return this.pushStack(F(this,e||[],!0))},is:function(e){return!!F(this,"string"==typeof e&&q.test(e)?C(e):e||[],!1).length}});var U,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(C.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||U,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:B.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof C?t[0]:t,C.merge(this,C.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:b,!0)),H.test(r[1])&&C.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=b.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(C):C.makeArray(e,this)}).prototype=C.fn,U=C(b);var W=/^(?:parents|prev(?:Until|All))/,$={children:!0,contents:!0,next:!0,prev:!0};function V(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}C.fn.extend({has:function(e){var t=C(e,this),n=t.length;return this.filter((function(){for(var e=0;e-1:1===n.nodeType&&C.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?C.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?c.call(C(e),this[0]):c.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(C.uniqueSort(C.merge(this.get(),C(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),C.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return L(e,"parentNode")},parentsUntil:function(e,t,n){return L(e,"parentNode",n)},next:function(e){return V(e,"nextSibling")},prev:function(e){return V(e,"previousSibling")},nextAll:function(e){return L(e,"nextSibling")},prevAll:function(e){return L(e,"previousSibling")},nextUntil:function(e,t,n){return L(e,"nextSibling",n)},prevUntil:function(e,t,n){return L(e,"previousSibling",n)},siblings:function(e){return z((e.parentNode||{}).firstChild,e)},children:function(e){return z(e.firstChild)},contents:function(e){return null!=e.contentDocument&&a(e.contentDocument)?e.contentDocument:(E(e,"template")&&(e=e.content||e),C.merge([],e.childNodes))}},(function(e,t){C.fn[e]=function(n,r){var i=C.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=C.filter(r,i)),this.length>1&&($[e]||C.uniqueSort(i),W.test(e)&&i.reverse()),this.pushStack(i)}}));var Y=/[^\x20\t\r\n\f]+/g;function X(e){return e}function G(e){throw e}function Q(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}C.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return C.each(e.match(Y)||[],(function(e,n){t[n]=!0})),t}(e):C.extend({},e);var t,n,r,i,o=[],a=[],s=-1,l=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?C.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return u.fireWith(this,arguments),this},fired:function(){return!!r}};return u},C.extend({Deferred:function(e){var t=[["notify","progress",C.Callbacks("memory"),C.Callbacks("memory"),2],["resolve","done",C.Callbacks("once memory"),C.Callbacks("once memory"),0,"resolved"],["reject","fail",C.Callbacks("once memory"),C.Callbacks("once memory"),1,"rejected"]],n="pending",i={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return C.Deferred((function(n){C.each(t,(function(t,r){var i=v(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&v(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(e,n,i){var o=0;function a(e,t,n,i){return function(){var s=this,l=arguments,u=function(){var r,u;if(!(e=o&&(n!==G&&(s=void 0,l=[r]),t.rejectWith(s,l))}};e?c():(C.Deferred.getErrorHook?c.error=C.Deferred.getErrorHook():C.Deferred.getStackHook&&(c.error=C.Deferred.getStackHook()),r.setTimeout(c))}}return C.Deferred((function(r){t[0][3].add(a(0,r,v(i)?i:X,r.notifyWith)),t[1][3].add(a(0,r,v(e)?e:X)),t[2][3].add(a(0,r,v(n)?n:G))})).promise()},promise:function(e){return null!=e?C.extend(e,i):i}},o={};return C.each(t,(function(e,r){var a=r[2],s=r[5];i[r[1]]=a.add,s&&a.add((function(){n=s}),t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),a.add(r[3].fire),o[r[0]]=function(){return o[r[0]+"With"](this===o?void 0:this,arguments),this},o[r[0]+"With"]=a.fireWith})),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=s.call(arguments),o=C.Deferred(),a=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?s.call(arguments):n,--t||o.resolveWith(r,i)}};if(t<=1&&(Q(e,o.done(a(n)).resolve,o.reject,!t),"pending"===o.state()||v(i[n]&&i[n].then)))return o.then();for(;n--;)Q(i[n],a(n),o.reject);return o.promise()}});var K=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;C.Deferred.exceptionHook=function(e,t){r.console&&r.console.warn&&e&&K.test(e.name)&&r.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},C.readyException=function(e){r.setTimeout((function(){throw e}))};var J=C.Deferred();function Z(){b.removeEventListener("DOMContentLoaded",Z),r.removeEventListener("load",Z),C.ready()}C.fn.ready=function(e){return J.then(e).catch((function(e){C.readyException(e)})),this},C.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--C.readyWait:C.isReady)||(C.isReady=!0,!0!==e&&--C.readyWait>0||J.resolveWith(b,[C]))}}),C.ready.then=J.then,"complete"===b.readyState||"loading"!==b.readyState&&!b.documentElement.doScroll?r.setTimeout(C.ready):(b.addEventListener("DOMContentLoaded",Z),r.addEventListener("load",Z));var ee=function(e,t,n,r,i,o,a){var s=0,l=e.length,u=null==n;if("object"===x(n))for(s in i=!0,n)ee(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),u&&(a?(t.call(e,r),t=null):(u=t,t=function(e,t,n){return u.call(C(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each((function(){le.remove(this,e)}))}}),C.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=se.get(e,t),n&&(!r||Array.isArray(n)?r=se.access(e,t,C.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=C.queue(e,t),r=n.length,i=n.shift(),o=C._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){C.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return se.get(e,n)||se.access(e,n,{empty:C.Callbacks("once memory").add((function(){se.remove(e,[t+"queue",n])}))})}}),C.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]*)/i,Ee=/^$|^module$|\/(?:java|ecma)script/i;ke=b.createDocumentFragment().appendChild(b.createElement("div")),(Se=b.createElement("input")).setAttribute("type","radio"),Se.setAttribute("checked","checked"),Se.setAttribute("name","t"),ke.appendChild(Se),g.checkClone=ke.cloneNode(!0).cloneNode(!0).lastChild.checked,ke.innerHTML="",g.noCloneChecked=!!ke.cloneNode(!0).lastChild.defaultValue,ke.innerHTML="",g.option=!!ke.lastChild;var Me={thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};function Pe(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&E(e,t)?C.merge([e],n):n}function De(e,t){for(var n=0,r=e.length;n",""]);var Ne=/<|&#?\w+;/;function Oe(e,t,n,r,i){for(var o,a,s,l,u,c,f=t.createDocumentFragment(),h=[],d=0,p=e.length;d-1)i&&i.push(o);else if(u=ge(o),a=Pe(f.appendChild(o),"script"),u&&De(a),n)for(c=0;o=a[c++];)Ee.test(o.type||"")&&n.push(o);return f}var je=/^([^.]*)(?:\.(.+)|)/;function Ae(){return!0}function Re(){return!1}function Ie(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ie(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Re;else if(!i)return e;return 1===o&&(a=i,i=function(e){return C().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=C.guid++)),e.each((function(){C.event.add(this,t,i,r,n)}))}function Le(e,t,n){n?(se.set(e,t,!1),C.event.add(e,t,{namespace:!1,handler:function(e){var n,r=se.get(this,t);if(1&e.isTrigger&&this[t]){if(r)(C.event.special[t]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),se.set(this,t,r),this[t](),n=se.get(this,t),se.set(this,t,!1),r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n}else r&&(se.set(this,t,C.event.trigger(r[0],r.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ae)}})):void 0===se.get(e,t)&&C.event.add(e,t,Ae)}C.event={global:{},add:function(e,t,n,r,i){var o,a,s,l,u,c,f,h,d,p,m,g=se.get(e);if(oe(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&C.find.matchesSelector(me,i),n.guid||(n.guid=C.guid++),(l=g.events)||(l=g.events=Object.create(null)),(a=g.handle)||(a=g.handle=function(t){return void 0!==C&&C.event.triggered!==t.type?C.event.dispatch.apply(e,arguments):void 0}),u=(t=(t||"").match(Y)||[""]).length;u--;)d=m=(s=je.exec(t[u])||[])[1],p=(s[2]||"").split(".").sort(),d&&(f=C.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=C.event.special[d]||{},c=C.extend({type:d,origType:m,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&C.expr.match.needsContext.test(i),namespace:p.join(".")},o),(h=l[d])||((h=l[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,p,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?h.splice(h.delegateCount++,0,c):h.push(c),C.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,l,u,c,f,h,d,p,m,g=se.hasData(e)&&se.get(e);if(g&&(l=g.events)){for(u=(t=(t||"").match(Y)||[""]).length;u--;)if(d=m=(s=je.exec(t[u])||[])[1],p=(s[2]||"").split(".").sort(),d){for(f=C.event.special[d]||{},h=l[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=h.length;o--;)c=h[o],!i&&m!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(h.splice(o,1),c.selector&&h.delegateCount--,f.remove&&f.remove.call(e,c));a&&!h.length&&(f.teardown&&!1!==f.teardown.call(e,p,g.handle)||C.removeEvent(e,d,g.handle),delete l[d])}else for(d in l)C.event.remove(e,d+t[u],n,r,!0);C.isEmptyObject(l)&&se.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),l=C.event.fix(e),u=(se.get(this,"events")||Object.create(null))[l.type]||[],c=C.event.special[l.type]||{};for(s[0]=l,t=1;t=1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&("click"!==e.type||!0!==u.disabled)){for(o=[],a={},n=0;n-1:C.find(i,this,null,[u]).length),a[i]&&o.push(r);o.length&&s.push({elem:u,handlers:o})}return u=this,l\s*$/g;function Fe(e,t){return E(e,"table")&&E(11!==t.nodeType?t:t.firstChild,"tr")&&C(e).children("tbody")[0]||e}function Ue(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Be(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function We(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(se.hasData(e)&&(s=se.get(e).events))for(i in se.remove(t,"handle events"),s)for(n=0,r=s[i].length;n1&&"string"==typeof p&&!g.checkClone&&qe.test(p))return e.each((function(i){var o=e.eq(i);m&&(t[0]=p.call(this,i,o.html())),Ve(o,t,n,r)}));if(h&&(o=(i=Oe(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(a=C.map(Pe(i,"script"),Ue)).length;f0&&De(a,!l&&Pe(e,"script")),s},cleanData:function(e){for(var t,n,r,i=C.event.special,o=0;void 0!==(n=e[o]);o++)if(oe(n)){if(t=n[se.expando]){if(t.events)for(r in t.events)i[r]?C.event.remove(n,r):C.removeEvent(n,r,t.handle);n[se.expando]=void 0}n[le.expando]&&(n[le.expando]=void 0)}}}),C.fn.extend({detach:function(e){return Ye(this,e,!0)},remove:function(e){return Ye(this,e)},text:function(e){return ee(this,(function(e){return void 0===e?C.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Ve(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Fe(this,e).appendChild(e)}))},prepend:function(){return Ve(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Fe(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Ve(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Ve(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(C.cleanData(Pe(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return C.clone(this,e,t)}))},html:function(e){return ee(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ze.test(e)&&!Me[(Te.exec(e)||["",""])[1].toLowerCase()]){e=C.htmlPrefilter(e);try{for(;n=0&&(l+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-l-s-.5))||0),l+u}function ct(e,t,n){var r=Qe(e),i=(!g.boxSizingReliable()||n)&&"border-box"===C.css(e,"boxSizing",!1,r),o=i,a=Ze(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Xe.test(a)){if(!n)return a;a="auto"}return(!g.boxSizingReliable()&&i||!g.reliableTrDimensions()&&E(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===C.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===C.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+ut(e,t,n||(i?"border":"content"),o,r,a)+"px"}function ft(e,t,n,r,i){return new ft.prototype.init(e,t,n,r,i)}C.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ze(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=ie(t),l=Ge.test(t),u=e.style;if(l||(t=it(s)),a=C.cssHooks[t]||C.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];"string"==(o=typeof n)&&(i=de.exec(n))&&i[1]&&(n=be(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||l||(n+=i&&i[3]||(C.cssNumber[s]?"":"px")),g.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(l?u.setProperty(t,n):u[t]=n))}},css:function(e,t,n,r){var i,o,a,s=ie(t);return Ge.test(t)||(t=it(s)),(a=C.cssHooks[t]||C.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ze(e,t,r)),"normal"===i&&t in st&&(i=st[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),C.each(["height","width"],(function(e,t){C.cssHooks[t]={get:function(e,n,r){if(n)return!ot.test(C.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ct(e,t,r):Ke(e,at,(function(){return ct(e,t,r)}))},set:function(e,n,r){var i,o=Qe(e),a=!g.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===C.css(e,"boxSizing",!1,o),l=r?ut(e,t,r,s,o):0;return s&&a&&(l-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-ut(e,t,"border",!1,o)-.5)),l&&(i=de.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=C.css(e,t)),lt(0,n,l)}}})),C.cssHooks.marginLeft=et(g.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Ze(e,"marginLeft"))||e.getBoundingClientRect().left-Ke(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),C.each({margin:"",padding:"",border:"Width"},(function(e,t){C.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+pe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(C.cssHooks[e+t].set=lt)})),C.fn.extend({css:function(e,t){return ee(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Qe(e),i=t.length;a1)}}),C.Tween=ft,ft.prototype={constructor:ft,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||C.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(C.cssNumber[n]?"":"px")},cur:function(){var e=ft.propHooks[this.prop];return e&&e.get?e.get(this):ft.propHooks._default.get(this)},run:function(e){var t,n=ft.propHooks[this.prop];return this.options.duration?this.pos=t=C.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):ft.propHooks._default.set(this),this}},ft.prototype.init.prototype=ft.prototype,ft.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=C.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){C.fx.step[e.prop]?C.fx.step[e.prop](e):1!==e.elem.nodeType||!C.cssHooks[e.prop]&&null==e.elem.style[it(e.prop)]?e.elem[e.prop]=e.now:C.style(e.elem,e.prop,e.now+e.unit)}}},ft.propHooks.scrollTop=ft.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},C.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},C.fx=ft.prototype.init,C.fx.step={};var ht,dt,pt=/^(?:toggle|show|hide)$/,mt=/queueHooks$/;function gt(){dt&&(!1===b.hidden&&r.requestAnimationFrame?r.requestAnimationFrame(gt):r.setTimeout(gt,C.fx.interval),C.fx.tick())}function vt(){return r.setTimeout((function(){ht=void 0})),ht=Date.now()}function yt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=pe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function bt(e,t,n){for(var r,i=(_t.tweeners[t]||[]).concat(_t.tweeners["*"]),o=0,a=i.length;o1)},removeAttr:function(e){return this.each((function(){C.removeAttr(this,e)}))}}),C.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?C.prop(e,t,n):(1===o&&C.isXMLDoc(e)||(i=C.attrHooks[t.toLowerCase()]||(C.expr.match.bool.test(t)?wt:void 0)),void 0!==n?null===n?void C.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=C.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!g.radioValue&&"radio"===t&&E(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(Y);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),wt={set:function(e,t,n){return!1===t?C.removeAttr(e,n):e.setAttribute(n,n),n}},C.each(C.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=xt[t]||C.find.attr;xt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=xt[a],xt[a]=i,i=null!=n(e,t,r)?a:null,xt[a]=o),i}}));var kt=/^(?:input|select|textarea|button)$/i,St=/^(?:a|area)$/i;function Ct(e){return(e.match(Y)||[]).join(" ")}function Tt(e){return e.getAttribute&&e.getAttribute("class")||""}function Et(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(Y)||[]}C.fn.extend({prop:function(e,t){return ee(this,C.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[C.propFix[e]||e]}))}}),C.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&C.isXMLDoc(e)||(t=C.propFix[t]||t,i=C.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=C.find.attr(e,"tabindex");return t?parseInt(t,10):kt.test(e.nodeName)||St.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),g.optSelected||(C.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),C.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){C.propFix[this.toLowerCase()]=this})),C.fn.extend({addClass:function(e){var t,n,r,i,o,a;return v(e)?this.each((function(t){C(this).addClass(e.call(this,t,Tt(this)))})):(t=Et(e)).length?this.each((function(){if(r=Tt(this),n=1===this.nodeType&&" "+Ct(r)+" "){for(o=0;o-1;)n=n.replace(" "+i+" "," ");a=Ct(n),r!==a&&this.setAttribute("class",a)}})):this:this.attr("class","")},toggleClass:function(e,t){var n,r,i,o,a=typeof e,s="string"===a||Array.isArray(e);return v(e)?this.each((function(n){C(this).toggleClass(e.call(this,n,Tt(this),t),t)})):"boolean"==typeof t&&s?t?this.addClass(e):this.removeClass(e):(n=Et(e),this.each((function(){if(s)for(o=C(this),i=0;i-1)return!0;return!1}});var Mt=/\r/g;C.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=v(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,C(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=C.map(i,(function(e){return null==e?"":e+""}))),(t=C.valHooks[this.type]||C.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=C.valHooks[i.type]||C.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(Mt,""):null==n?"":n:void 0}}),C.extend({valHooks:{option:{get:function(e){var t=C.find.attr(e,"value");return null!=t?t:Ct(C.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],l=a?o+1:i.length;for(r=o<0?l:a?o:0;r-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),C.each(["radio","checkbox"],(function(){C.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=C.inArray(C(e).val(),t)>-1}},g.checkOn||(C.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}));var Pt=r.location,Dt={guid:Date.now()},Nt=/\?/;C.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new r.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||C.error("Invalid XML: "+(n?C.map(n.childNodes,(function(e){return e.textContent})).join("\n"):e)),t};var Ot=/^(?:focusinfocus|focusoutblur)$/,jt=function(e){e.stopPropagation()};C.extend(C.event,{trigger:function(e,t,n,i){var o,a,s,l,u,c,f,h,p=[n||b],m=d.call(e,"type")?e.type:e,g=d.call(e,"namespace")?e.namespace.split("."):[];if(a=h=s=n=n||b,3!==n.nodeType&&8!==n.nodeType&&!Ot.test(m+C.event.triggered)&&(m.indexOf(".")>-1&&(g=m.split("."),m=g.shift(),g.sort()),u=m.indexOf(":")<0&&"on"+m,(e=e[C.expando]?e:new C.Event(m,"object"==typeof e&&e)).isTrigger=i?2:3,e.namespace=g.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:C.makeArray(t,[e]),f=C.event.special[m]||{},i||!f.trigger||!1!==f.trigger.apply(n,t))){if(!i&&!f.noBubble&&!y(n)){for(l=f.delegateType||m,Ot.test(l+m)||(a=a.parentNode);a;a=a.parentNode)p.push(a),s=a;s===(n.ownerDocument||b)&&p.push(s.defaultView||s.parentWindow||r)}for(o=0;(a=p[o++])&&!e.isPropagationStopped();)h=a,e.type=o>1?l:f.bindType||m,(c=(se.get(a,"events")||Object.create(null))[e.type]&&se.get(a,"handle"))&&c.apply(a,t),(c=u&&a[u])&&c.apply&&oe(a)&&(e.result=c.apply(a,t),!1===e.result&&e.preventDefault());return e.type=m,i||e.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),t)||!oe(n)||u&&v(n[m])&&!y(n)&&((s=n[u])&&(n[u]=null),C.event.triggered=m,e.isPropagationStopped()&&h.addEventListener(m,jt),n[m](),e.isPropagationStopped()&&h.removeEventListener(m,jt),C.event.triggered=void 0,s&&(n[u]=s)),e.result}},simulate:function(e,t,n){var r=C.extend(new C.Event,n,{type:e,isSimulated:!0});C.event.trigger(r,null,t)}}),C.fn.extend({trigger:function(e,t){return this.each((function(){C.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return C.event.trigger(e,t,n,!0)}});var At=/\[\]$/,Rt=/\r?\n/g,It=/^(?:submit|button|image|reset|file)$/i,Lt=/^(?:input|select|textarea|keygen)/i;function zt(e,t,n,r){var i;if(Array.isArray(t))C.each(t,(function(t,i){n||At.test(e)?r(e,i):zt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==x(t))r(e,t);else for(i in t)zt(e+"["+i+"]",t[i],n,r)}C.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!C.isPlainObject(e))C.each(e,(function(){i(this.name,this.value)}));else for(n in e)zt(n,e[n],t,i);return r.join("&")},C.fn.extend({serialize:function(){return C.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=C.prop(this,"elements");return e?C.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!C(this).is(":disabled")&&Lt.test(this.nodeName)&&!It.test(e)&&(this.checked||!Ce.test(e))})).map((function(e,t){var n=C(this).val();return null==n?null:Array.isArray(n)?C.map(n,(function(e){return{name:t.name,value:e.replace(Rt,"\r\n")}})):{name:t.name,value:n.replace(Rt,"\r\n")}})).get()}});var qt=/%20/g,Ht=/#.*$/,Ft=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)$/gm,Bt=/^(?:GET|HEAD)$/,Wt=/^\/\//,$t={},Vt={},Yt="*/".concat("*"),Xt=b.createElement("a");function Gt(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(Y)||[];if(v(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Qt(e,t,n,r){var i={},o=e===Vt;function a(s){var l;return i[s]=!0,C.each(e[s]||[],(function(e,s){var u=s(t,n,r);return"string"!=typeof u||o||i[u]?o?!(l=u):void 0:(t.dataTypes.unshift(u),a(u),!1)})),l}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Kt(e,t){var n,r,i=C.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&C.extend(!0,e,r),e}Xt.href=Pt.href,C.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Pt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Pt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Yt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":C.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Kt(Kt(e,C.ajaxSettings),t):Kt(C.ajaxSettings,e)},ajaxPrefilter:Gt($t),ajaxTransport:Gt(Vt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,i,o,a,s,l,u,c,f,h,d=C.ajaxSetup({},t),p=d.context||d,m=d.context&&(p.nodeType||p.jquery)?C(p):C.event,g=C.Deferred(),v=C.Callbacks("once memory"),y=d.statusCode||{},_={},w={},x="canceled",k={readyState:0,getResponseHeader:function(e){var t;if(u){if(!a)for(a={};t=Ut.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return u?o:null},setRequestHeader:function(e,t){return null==u&&(e=w[e.toLowerCase()]=w[e.toLowerCase()]||e,_[e]=t),this},overrideMimeType:function(e){return null==u&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)k.always(e[k.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||x;return n&&n.abort(t),S(0,t),this}};if(g.promise(k),d.url=((e||d.url||Pt.href)+"").replace(Wt,Pt.protocol+"//"),d.type=t.method||t.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(Y)||[""],null==d.crossDomain){l=b.createElement("a");try{l.href=d.url,l.href=l.href,d.crossDomain=Xt.protocol+"//"+Xt.host!=l.protocol+"//"+l.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=C.param(d.data,d.traditional)),Qt($t,d,t,k),u)return k;for(f in(c=C.event&&d.global)&&0==C.active++&&C.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Bt.test(d.type),i=d.url.replace(Ht,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(qt,"+")):(h=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Nt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Ft,"$1"),h=(Nt.test(i)?"&":"?")+"_="+Dt.guid+++h),d.url=i+h),d.ifModified&&(C.lastModified[i]&&k.setRequestHeader("If-Modified-Since",C.lastModified[i]),C.etag[i]&&k.setRequestHeader("If-None-Match",C.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||t.contentType)&&k.setRequestHeader("Content-Type",d.contentType),k.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Yt+"; q=0.01":""):d.accepts["*"]),d.headers)k.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(p,k,d)||u))return k.abort();if(x="abort",v.add(d.complete),k.done(d.success),k.fail(d.error),n=Qt(Vt,d,t,k)){if(k.readyState=1,c&&m.trigger("ajaxSend",[k,d]),u)return k;d.async&&d.timeout>0&&(s=r.setTimeout((function(){k.abort("timeout")}),d.timeout));try{u=!1,n.send(_,S)}catch(e){if(u)throw e;S(-1,e)}}else S(-1,"No Transport");function S(e,t,a,l){var f,h,b,_,w,x=t;u||(u=!0,s&&r.clearTimeout(s),n=void 0,o=l||"",k.readyState=e>0?4:0,f=e>=200&&e<300||304===e,a&&(_=function(e,t,n){for(var r,i,o,a,s=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==l[0]&&l.unshift(o),n[o]}(d,k,a)),!f&&C.inArray("script",d.dataTypes)>-1&&C.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),_=function(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(!(a=u[l+" "+o]||u["* "+o]))for(i in u)if((s=i.split(" "))[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){!0===a?a=u[i]:!0!==u[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}(d,_,k,f),f?(d.ifModified&&((w=k.getResponseHeader("Last-Modified"))&&(C.lastModified[i]=w),(w=k.getResponseHeader("etag"))&&(C.etag[i]=w)),204===e||"HEAD"===d.type?x="nocontent":304===e?x="notmodified":(x=_.state,h=_.data,f=!(b=_.error))):(b=x,!e&&x||(x="error",e<0&&(e=0))),k.status=e,k.statusText=(t||x)+"",f?g.resolveWith(p,[h,x,k]):g.rejectWith(p,[k,x,b]),k.statusCode(y),y=void 0,c&&m.trigger(f?"ajaxSuccess":"ajaxError",[k,d,f?h:b]),v.fireWith(p,[k,x]),c&&(m.trigger("ajaxComplete",[k,d]),--C.active||C.event.trigger("ajaxStop")))}return k},getJSON:function(e,t,n){return C.get(e,t,n,"json")},getScript:function(e,t){return C.get(e,void 0,t,"script")}}),C.each(["get","post"],(function(e,t){C[t]=function(e,n,r,i){return v(n)&&(i=i||r,r=n,n=void 0),C.ajax(C.extend({url:e,type:t,dataType:i,data:n,success:r},C.isPlainObject(e)&&e))}})),C.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),C._evalUrl=function(e,t,n){return C.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){C.globalEval(e,t,n)}})},C.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=C(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return v(e)?this.each((function(t){C(this).wrapInner(e.call(this,t))})):this.each((function(){var t=C(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=v(e);return this.each((function(n){C(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){C(this).replaceWith(this.childNodes)})),this}}),C.expr.pseudos.hidden=function(e){return!C.expr.pseudos.visible(e)},C.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},C.ajaxSettings.xhr=function(){try{return new r.XMLHttpRequest}catch(e){}};var Jt={0:200,1223:204},Zt=C.ajaxSettings.xhr();g.cors=!!Zt&&"withCredentials"in Zt,g.ajax=Zt=!!Zt,C.ajaxTransport((function(e){var t,n;if(g.cors||Zt&&!e.crossDomain)return{send:function(i,o){var a,s=e.xhr();if(s.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(a in e.xhrFields)s[a]=e.xhrFields[a];for(a in e.mimeType&&s.overrideMimeType&&s.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);t=function(e){return function(){t&&(t=n=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Jt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=t(),n=s.onerror=s.ontimeout=t("error"),void 0!==s.onabort?s.onabort=n:s.onreadystatechange=function(){4===s.readyState&&r.setTimeout((function(){t&&n()}))},t=t("abort");try{s.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}})),C.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),C.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return C.globalEval(e),e}}}),C.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),C.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=C(" + * + * @requires jQuery UI 1.8.16 + * @dependency + * + * @requires Biojs.Tooltip + * @dependency + * + * @param {Object} options An object with the options for Sequence component. + * + * @option {string} target + * Identifier of the DIV tag where the component should be displayed. + * + * @option {string} sequence + * The sequence to be displayed. + * + * @option {string} [id] + * Sequence identifier if apply. + * + * @option {string} [format="FASTA"] + * The display format for the sequence representation. + * + * @option {Object[]} [highlights] + * For highlighting multiple regions. + *
      +    *    [
      +    *    	// Highlight aminoacids from 'start' to 'end' of the current strand using the specified 'color' (optional) and 'background' (optional).
      +    *    	{ start: <startVal1>, end: <endVal1> [, id:<idVal1>] [, color: <HTMLColor>] [, background: <HTMLColor>]},
      +    *    	//
      +    *    	// Any others highlights
      +    *    	...,
      +    *    	//
      +    *    	{ start: <startValN>, end: <endValN> [, id:<idValN>] [, color: <HTMLColor>] [, background: <HTMLColor>]}
      +    *    ]
      + * + *
      +    * highlights : [
      +    * 		{ start:30, end:42, color:"white", background:"green", id:"spin1" },
      +    *		{ start:139, end:140 },
      +    *		{ start:631, end:633, color:"white", background:"blue" }
      +    *	]
      +    * 
      + * + * @option {Object} [columns={size:40,spacedEach:10}] + * Options for displaying the columns. Syntax: { size: <numCols>, spacedEach: <numCols>} + * + * @option {Object} [selection] + * Positions for the current selected region. Syntax: { start: <startValue>, end: <endValue>} + * + * @option {Object[]} [annotations] + * Set of overlapping annotations. Must be an array of objects following the syntax: + *
      +    *            [
      +    *              // An annotation:
      +    *              { name: <name>,
      +    *                html: <message>,
      +    *                color: <color_code>,
      +    *                regions: [{ start: <startVal1>, end: <endVal1> color: <HTMLColor>}, ...,{ start: <startValN>, end: <endValN>, color: <HTMLColor>}]
      +    *              },
      +    *
      +    *              // ...
      +    *              // more annotations here
      +    *              // ...
      +    *            ]
      +    *    		 
      + * where: + *
        + *
      • name is the unique name for the annotation
      • + *
      • html is the message (can be HTML) to be displayed in the tool tip.
      • + *
      • color is the default HTML color code for all the regions.
      • + *
      • regions array of objects defining the intervals which belongs to the annotation.
      • + *
      • regions[i].start is the starting character for the i-th interval.
      • + *
      • regions[i].end is the ending character for the i-th interval.
      • + *
      • regions[i].color is an optional color for the i-th interval. + *
      + * + * @option {Object} [formatOptions={title:true, footer:true}] + * Options for displaying the title. by now just affecting the CODATA format. + *
      +    * 		formatOptions : {
      +    * 			title:false,
      +    * 			footer:false
      +    * 		}
      +    *    
      + * + * @example + * var theSequence = "METLCQRLNVCQDKILTHYENDSTDLRDHIDYWKHMRLECAIYYKAREMGFKHINHQVVPTLAVSKNKALQAIELQLTLETIYNSQYSNEKWTLQDVSLEVYLTAPTGCIKKHGYTVEVQFDGDICNTMHYTNWTHIYICEEAojs SVTVVEGQVDYYGLYYVHEGIRTYFVQFKDDAEKYSKNKVWEVHAGGQVILCPTSVFSSNEVSSPEIIRQHLANHPAATHTKAVALGTEETQTTIQRPRSEPDTGNPCHTTKLLHRDSVDSAPILTAFNSSHKGRINCNSNTTPIVHLKGDANTLKCLRYRFKKHCTLYTAVSSTWHWTGHNVKHKSAIVTLTYDSEWQRDQFLSQVKIPKTITVSTGFMSI"; + * var mySequence = new Sequence({ + * sequence : theSequence, + * target : "YourOwnDivId", + * format : 'CODATA', + * id : 'P918283', + * annotations: [ + * { name:"CATH", + * color:"#F0F020", + * html: "Using color code #F0F020 ", + * regions: [{start: 122, end: 135}] + * }, + * { name:"TEST", + * html:"<br> Example of <b>HTML</b>", + * color:"green", + * regions: [ + * {start: 285, end: 292}, + * {start: 293, end: 314, color: "#2E4988"}] + * } + * ], + * highlights : [ + * { start:30, end:42, color:"white", background:"green", id:"spin1" }, + * { start:139, end:140 }, + * { start:631, end:633, color:"white", background:"blue" } + * ] + * }); + * + */ + + var Class = require('js-class'); + var EVT_ON_SELECTION_CHANGE = 'onSelectionChange'; + var EVT_ON_SELECTION_CHANGED = 'onSelectionChanged'; + var EVT_ON_ANNOTATION_CLICKED = 'onAnnotationClicked'; + __webpack_require__.g.Sequence = Class( /** @lends Sequence# */ + { + constructor: function constructor(options) { + var self = this; + this.opt = jQuery.extend(this.opt, options); + this._container = jQuery(this.opt.target); + + // legacy support (target id without '#') + if (this._container.length == 0) { + this._container = jQuery('#' + this.opt.target); + } + if (this._container.length == 0) { + console.log('empty target container'); + } + + // legacy: copy target id + this.opt.target = this._container[0].id; + + // Lazy initialization + this._container.ready(function () { + this._ready = false; + self._initialize(); + }); + }, + /** + * Default values for the options + * @name Sequence-opt + */ + opt: { + sequence: '', + id: '', + target: '', + format: 'FASTA', + selection: { + start: 0, + end: 0 + }, + columns: { + size: 35, + spacedEach: 10 + }, + highlights: [], + annotations: [], + sequenceUrl: 'http://www.ebi.ac.uk/das-srv/uniprot/das/uniprot/sequence', + // Styles + selectionColor: 'Yellow', + selectionFontColor: 'black', + highlightFontColor: 'red', + highlightBackgroundColor: 'white', + fontColor: 'inherit', + backgroundColor: 'inherit', + width: undefined, + height: undefined, + formatSelectorVisible: true + }, + /** + * Array containing the supported event names + * @name Sequence-eventTypes + */ + eventTypes: [ + /** + * @name Sequence#onSelectionChanged + * @event + * @param {function} actionPerformed An function which receives an {@link Biojs.Event} object as argument. + * @eventData {Object} source The component which did triggered the event. + * @eventData {string} type The name of the event. + * @eventData {int} start A number indicating the start of the selection. + * @eventData {int} end A number indicating the ending of selection. + * @example + * mySequence.onSelectionChanged( + * function( objEvent ) { + * alert("Selected: " + objEvent.start + ", " + objEvent.end ); + * } + * ); + * + * */ + 'onSelectionChanged', + /** + * @name Sequence#onSelectionChange + * @event + * @param {function} actionPerformed An function which receives an {@link Biojs.Event} object as argument. + * @eventData {Object} source The component which did triggered the event. + * @eventData {string} type The name of the event. + * @eventData {int} start A number indicating the start of the selection. + * @eventData {int} end A number indicating the ending of selection. + * @example + * mySequence.onSelectionChange( + * function( objEvent ) { + * alert("Selection in progress: " + objEvent.start + ", " + objEvent.end ); + * } + * ); + * + * + * */ + 'onSelectionChange', + /** + * @name Sequence#onAnnotationClicked + * @event + * @param {function} actionPerformed An function which receives an {@link Biojs.Event} object as argument. + * @eventData {Object} source The component which did triggered the event. + * @eventData {string} type The name of the event. + * @eventData {string} name The name of the selected annotation. + * @eventData {int} pos A number indicating the position of the selected amino acid. + * @example + * mySequence.onAnnotationClicked( + * function( objEvent ) { + * alert("Clicked " + objEvent.name + " on position " + objEvent.pos ); + * } + * ); + * + * */ + 'onAnnotationClicked'], + getId: function getId() { + return this.opt.id; + }, + // internal members + _headerDiv: null, + _contentDiv: null, + // Methods + + _initialize: function _initialize() { + if (this.opt.width !== undefined) { + this._container.width(this.opt.width); + } + if (this.opt.height !== undefined) { + this._container.height(this.opt.height); + } + + // DIV for the format selector + this._buildFormatSelector(); + + // DIV for the sequence + this._contentDiv = jQuery('
      ').appendTo(this._container); + + // Initialize highlighting + this._highlights = this.opt.highlights; + + // Initialize annotations + this._annotations = this.opt.annotations; + + //Initialize tooltip + var tooltip = 'sequenceTip' + this.opt.target; + jQuery('
      ').appendTo('.fastan-content').addClass('absolute top-0 left-0').show(); + this.opt._tooltip = document.getElementById(tooltip); + if (this.opt.sequence) { + this._redraw(); + } else if (this.opt.id) { + this._requestSequence(this.opt.id); + } else { + this.clearSequence('No sequence available', '../biojs/css/images/warning_icon.png'); + } + this._ready = true; + }, + /** + * Shows the columns indicated by the indexes array. + * @param {string} seq The sequence strand. + * @param {string} [identifier] Sequence identifier. + * + * @example + * mySequence.setSequence("P99999"); + * + */ + setSequence: function setSequence(seq, identifier) { + if (seq.match(/^([A-N,R-Z][0-9][A-Z][A-Z, 0-9][A-Z, 0-9][0-9])|([O,P,Q][0-9][A-Z, 0-9][A-Z, 0-9][A-Z, 0-9][0-9])(\.\d+)?$/i)) { + this._requestSequence(arguments[0]); + } else { + this.opt.sequence = seq; + this.opt.id = identifier; + this._highlights = []; + this._highlightsCount = 0; + this.opt.selection = { + start: 0, + end: 0 + }; + this._annotations = []; + this._contentDiv.children().remove(); + this._redraw(); + } + }, + _requestSequence: function _requestSequence(accession) { + var self = this; + console.log('Requesting sequence for: ' + accession); + jQuery.ajax({ + url: self.opt.sequenceUrl, + dataType: 'xml', + data: { + segment: accession + } + }).done(function (xml) { + try { + var sequenceNode = jQuery(xml).find('SEQUENCE:first'); + self.setSequence(sequenceNode.text(), sequenceNode.attr('id'), sequenceNode.attr('label')); + } catch (e) { + console.log('Error decoding response data: ' + e.message); + self.clearSequence('No sequence available', '../biojs/css/images/warning_icon.png'); + } + }).fail(function (jqXHR, textStatus, errorThrown) { + console.log('Error requesting the sequence: ' + textStatus); + self.clearSequence('Error requesting the sequence to the server ' + this.url, '../biojs/css/images/warning_icon.png'); + }); + }, + /** + * Shows the columns indicated by the indexes array. + * @param {string} [showMessage] Message to be showed. + * @param {string} [icon] Icon to be showed a side of the message + * + * @example + * mySequence.clearSequence("No sequence available", "../biojs/css/images/warning_icon.png"); + * + */ + clearSequence: function clearSequence(showMessage, icon) { + var message = undefined; + this.opt.sequence = ''; + this.opt.id = ''; + this._highlights = []; + this._highlightsCount = 0; + this.opt.selection = { + start: 0, + end: 0 + }; + this._annotations = []; + this._contentDiv.children().remove(); + this._headerDiv.hide(); + if (undefined !== showMessage) { + message = jQuery('
      ' + showMessage + '
      ').appendTo(this._contentDiv).addClass('message'); + if (undefined !== icon) { + message.css({ + 'background': 'transparent url("' + icon + '") no-repeat center left', + 'padding-left': '20px' + }); + } + } + }, + /** + * Set the current selection in the sequence causing the event {@link Sequence#onSelectionChanged} + * + * @example + * // set selection from the position 100 to 150 + * mySequence.setSelection(100, 150); + * + * @param {int} start The starting character of the selection. + * @param {int} end The ending character of the selection + */ + setSelection: function setSelection(start, end) { + if (start > end) { + var aux = end; + end = start; + start = aux; + } + if (start != this.opt.selection.start || end != this.opt.selection.end) { + this._setSelection(start, end); + this.trigger(EVT_ON_SELECTION_CHANGED, { + 'start': start, + 'end': end + }); + } + }, + _buildFormatSelector: function _buildFormatSelector() { + var self = this; + console.log('build format selector container', this._container); + this._headerDiv = jQuery('
      ').appendTo(this._container); + this._headerDiv.append('Format: '); + this._formatSelector = jQuery('').appendTo(self._headerDiv); + this._formatSelector.change(function (e) { + self.opt.format = jQuery(this).val(); + self._redraw(); + }); + this._formatSelector.val(self.opt.format); + this.formatSelectorVisible(this.opt.formatSelectorVisible); + }, + /** + * Highlights a region using the font color defined in {Sequence#highlightFontColor} by default is red. + * + * @example + * // highlight the characters within the position 100 to 150, included. + * mySequence.addHighlight( { "start": 100, "end": 150, "color": "white", "background": "red", "id": "aaa" } ); + * + * @param {Object} h The highlight defined as follows: + * + * + * @return {int} representing the id of the highlight on the internal array. Returns -1 on failure + */ + addHighlight: function addHighlight(h) { + var id = '-1'; + var color = ''; + var background = ''; + var highlight = {}; + if (h instanceof Object && h.start <= h.end) { + color = 'string' == typeof h.color ? h.color : this.opt.highlightFontColor; + background = 'string' == typeof h.background ? h.background : this.opt.highlightBackgroundColor; + id = 'string' == typeof h.id ? h.id : new Number(this._highlightsCount++).toString(); + highlight = { + 'start': h.start, + 'end': h.end, + 'color': color, + 'background': background, + 'id': id + }; + this._highlights.push(highlight); + this._applyHighlight(highlight); + this._restoreSelection(h.start, h.end); + } + return id; + }, + /* + * Function: Sequence._applyHighlight + * Purpose: Apply the specified color and background to a region between 'start' and 'end'. + * Returns: - + * Inputs: highlight -> {Object} An object containing the fields start (int), end (int), + * color (HTML color string) and background (HTML color string). + */ + _applyHighlight: function _applyHighlight(highlight) { + var zindex = 0, + z = 0, + o = 0; + var seq = this._contentDiv.find('.sequence'); + for (var i = highlight.start - 1; i < highlight.end; i++) { + zindex = jQuery(seq[i]).css('z-index'); + if (zindex == 'auto') { + z = 1; + o = 1; + } else { + z = 0; + o = 0.5; + } + jQuery(seq[i]).css({ + 'color': highlight.color, + 'background-color': highlight.background, + 'z-index': z, + 'opacity': o + }).addClass('highlighted'); + } + }, + /* + * Function: Sequence._applyHighlights + * Purpose: Apply the specified highlights. + * Returns: - + * Inputs: highlights -> {Object[]} An array containing the highlights to be applied. + */ + _applyHighlights: function _applyHighlights(highlights) { + for (var i in highlights) { + this._applyHighlight(highlights[i]); + } + }, + /* + * Function: Sequence._restoreHighlights + * Purpose: Repaint the highlights in the specified region. + * Returns: - + * Inputs: start -> {int} Start of the region to be restored. + * end -> {int} End of the region to be restored. + */ + _restoreHighlights: function _restoreHighlights(start, end) { + var h = this._highlights; + // paint the region using default blank settings + this._applyHighlight({ + 'start': start, + 'end': end, + 'color': this.opt.fontColor, + 'background': this.opt.backgroundColor + }); + // restore highlights in that region + for (var i in h) { + // interval intersects with highlight i ? + if (!(h[i].start > end || h[i].end < start)) { + a = h[i].start < start ? start : h[i].start; + b = h[i].end > end ? end : h[i].end; + this._applyHighlight({ + 'start': a, + 'end': b, + 'color': h[i].color, + 'background': h[i].background + }); + } + } + }, + /* + * Function: Sequence._restoreSelection + * Purpose: Repaint the current selection in the specified region. + * It is used in the case of any highlight do overriding of the current selection. + * Returns: - + * Inputs: start -> {int} Start of the region to be restored. + * end -> {int} End of the region to be restored. + */ + _restoreSelection: function _restoreSelection(start, end) { + var sel = this.opt.selection; + // interval intersects with current selection ? + // restore selection + if (!(start > sel.end || end < sel.start)) { + a = start < sel.start ? sel.start : start; + b = end > sel.end ? sel.end : end; + this._applyHighlight({ + 'start': a, + 'end': b, + 'color': this.opt.selectionFontColor, + 'background': this.opt.selectionColor + }); + } + }, + /** + * Remove a highlight. + * + * @example + * // Clear the highlighted characters within the position 100 to 150, included. + * mySequence.removeHighlight("spin1"); + * + * @param {string} id The id of the highlight on the internal array. This value is returned by method highlight. + */ + removeHighlight: function removeHighlight(id) { + var h = this._highlights; + for (i in h) { + if (h[i].id == id) { + start = h[i].start; + end = h[i].end; + h.splice(i, 1); + this._restoreHighlights(start, end); + this._restoreSelection(start, end); + break; + } + } + }, + /** + * Remove all the highlights of whole sequence. + * + * @example + * mySequence.removeAllHighlights(); + */ + removeAllHighlights: function removeAllHighlights() { + this._highlights = []; + this._restoreHighlights(1, this.opt.sequence.length); + this._restoreSelection(1, this.opt.sequence.length); + }, + /** + * Changes the current displaying format of the sequence. + * + * @example + * // Set format to 'FASTA'. + * mySequence.setFormat('FASTA'); + * + * @param {string} format The format for the sequence to be displayed. + */ + setFormat: function setFormat(format) { + if (this.opt.format != format.toUpperCase()) { + this.opt.format = format.toUpperCase(); + this._redraw(); + } + var self = this; + // Changes the option in the combo box + this._headerDiv.find('option').each(function () { + if (jQuery(this).val() == self.opt.format.toUpperCase()) { + jQuery(this).attr('selected', 'selected'); + } + }); + }, + /** + * Changes the current number of columns in the displayed sequence. + * + * @example + * // Set the number of columns to 70. + * mySequence.setNumCols(70); + * + * @param {int} numCols The number of columns. + */ + setNumCols: function setNumCols(numCols) { + this.opt.columns.size = numCols; + this._redraw(); + }, + /** + * Set the visibility of the drop-down list of formats. + * + * @param {boolean} visible true: show; false: hide. + */ + formatSelectorVisible: function formatSelectorVisible(visible) { + if (visible) { + this._headerDiv.show(); + } else { + this._headerDiv.hide(); + } + }, + /** + * This is similar to a {Biojs.Protein3D#formatSelectorVisible} with the 'true' argument. + * + * @example + * // Shows the format selector. + * mySequence.showFormatSelector(); + * + */ + showFormatSelector: function showFormatSelector() { + this._headerDiv.show(); + }, + /** + * This is similar to a {Biojs.Protein3D#formatSelectorVisible} with the 'false' argument. + * + * @example + * // Hides the format selector. + * mySequence.hideFormatSelector(); + * + */ + hideFormatSelector: function hideFormatSelector() { + this._headerDiv.hide(); + }, + /** + * Hides the whole component. + * + */ + hide: function hide() { + this._headerDiv.hide(); + this._contentDiv.hide(); + }, + /** + * Shows the whole component. + * + */ + show: function show() { + this._headerDiv.show(); + this._contentDiv.show(); + }, + /* + * Function: Sequence._setSelection + * Purpose: Update the current selection. + * Returns: - + * Inputs: start -> {int} Start of the region to be selected. + * end -> {int} End of the region to be selected. + */ + _setSelection: function _setSelection(start, end) { + //alert("adsas"); + + var current = this.opt.selection; + var change = {}; + + // Which is the change on selection? + if (current.start == start) { + // forward? + if (current.end < end) { + change.start = current.end; + change.end = end; + } else { + this._restoreHighlights(end + 1, current.end); + } + } else if (current.end == end) { + // forward? + if (current.start > start) { + change.start = start; + change.end = current.start; + } else { + this._restoreHighlights(current.start, start - 1); + } + } else { + this._restoreHighlights(current.start, current.end); + change.start = start; + change.end = end; + } + current.start = start; + current.end = end; + }, + /* + * Function: Sequence._repaintSelection + * Purpose: Repaint the whole current selection. + * Returns: - + * Inputs: - + */ + _repaintSelection: function _repaintSelection() { + var s = this.opt.selection; + this._setSelection(0, 0); + this._setSelection(s.start, s.end); + }, + /* + * Function: Sequence._redraw + * Purpose: Repaint the current sequence. + * Returns: - + * Inputs: - + */ + _redraw: function _redraw() { + var i = 0; + var self = this; + + // Reset the content + //this._contentDiv.text(''); + this._contentDiv.children().remove(); + + // Rebuild the spans of the sequence + // according to format + if (this.opt.format == 'RAW') { + this._drawRaw(); + } else if (this.opt.format == 'CODATA') { + this._drawCodata(); + } else if (this.opt.format == 'FASTA') { + this._drawFasta(); + } else { + this.opt.format = 'PRIDE'; + this._drawPride(); + } + + // Restore the highlighted regions + this._applyHighlights(this._highlights); + this._repaintSelection(); + this._addSpanEvents(); + }, + /* + * Function: Sequence._drawFasta + * Purpose: Repaint the current sequence using FASTA format. + * Returns: - + * Inputs: - + */ + _drawFasta: function _drawFasta() { + var self = this; + var a = this.opt.sequence.toUpperCase().split(''); + var pre = jQuery('
      ').appendTo(this._contentDiv);
      +        var i = 1;
      +        var arr = [];
      +        var str = '>' + this.opt.id + ' ' + a.length + ' bp
      '; + + /* Correct column size in case the sequence is as small peptide */ + var numCols = this.opt.columns.size; + if (this.opt.sequence.length < this.opt.columns.size) { + numCols = this.opt.sequence.length; + } + var opt = { + numCols: numCols, + numColsForSpace: 0 + }; + str += this._drawSequence(a, opt); + pre.html(str); + this._drawAnnotations(opt); + }, + /* + * Function: Sequence._drawCodata + * Purpose: Repaint the current sequence using CODATA format. + * Returns: - + * Inputs: - + */ + _drawCodata: function _drawCodata() { + var seq = this.opt.sequence.toUpperCase().split(''); + + // Add header. + if (this.opt.formatOptions !== undefined) { + if (this.opt.formatOptions.title !== undefined) { + if (this.opt.formatOptions.title != false) { + var header = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').addClass('header').appendTo(this._contentDiv);
      +              header.html('ENTRY           ' + this.opt.id + '
      SEQUENCE
      '); + } + } + } + + /* Correct column size in case the sequence is as small peptide */ + var numCols = this.opt.columns.size; + if (this.opt.sequence.length < this.opt.columns.size) { + numCols = this.opt.sequence.length; + } + var opt = { + numLeft: true, + numLeftSize: 7, + numLeftPad: ' ', + numTop: true, + numTopEach: 5, + numCols: numCols, + numColsForSpace: 0, + spaceBetweenChars: true + }; + this._drawSequence(seq, opt); + + // Add footer. + if (this.opt.formatOptions !== undefined) { + if (this.opt.formatOptions.footer !== undefined) { + if (this.opt.formatOptions.footer != false) { + var footer = jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').addClass('footer').appendTo(this._contentDiv);
      +              footer.html('
      ///'); + } + } + } + this._drawAnnotations(opt); + }, + /* + * Function: Sequence._drawAnnotations + * Purpose: Paint the annotations on the sequence. + * Returns: - + * Inputs: settings -> {object} + */ + _drawAnnotations: function _drawAnnotations(settings) { + var self = this; + var a = this.opt.sequence.toLowerCase().split(''); + var annotations = this._annotations; + var leftSpaces = ''; + var row = ''; + var annot = ''; + + // Index at the left? + if (settings.numLeft) { + leftSpaces += this._formatIndex(' ', settings.numLeftSize + 2, ' '); + } + for (var i = 0; i < a.length; i += settings.numCols) { + row = ''; + for (var key in annotations) { + annotations[key].id = this.getId() + '_' + key; + annot = this._getHTMLRowAnnot(i + 1, annotations[key], settings); + if (annot.length > 0) { + row += '
      '; + row += leftSpaces; + row += annot; + row += '
      '; + } + } + var numCols = settings.numCols; + var charRemaining = a.length - i; + if (charRemaining < numCols) { + numCols = charRemaining; + } + if (settings.numRight) { + jQuery(row).insertAfter('div#' + self.opt.target + ' div pre span#numRight_' + this.getId() + '_' + (i + numCols)); + } else { + jQuery(row).insertAfter('div#' + self.opt.target + ' div pre span#' + this.getId() + '_' + (i + numCols)); + } + } + + // add tool tips and background' coloring effect + jQuery(this._contentDiv).find('.annotation').each(function () { + self._addToolTip(this, function () { + return self._getAnnotationString(jQuery(this).attr('id')); + }); + jQuery(this).mouseover(function (e) { + jQuery('.annotation.' + jQuery(e.target).attr('id')).each(function () { + jQuery(this).css('background-color', jQuery(this).attr('color')); + }); + }).mouseout(function () { + jQuery('.annotation').css('background-color', 'transparent'); + }).click(function (e) { + var name = undefined; + var id = jQuery(e.target).attr('id'); + for (var i = 0; i < self._annotations.length; i++) { + if (self._annotations[i].id == id) { + name = self._annotations[i].name; + continue; + } + } + self.trigger(EVT_ON_ANNOTATION_CLICKED, { + 'name': name + //"pos": parseInt( jQuery(e.target).attr("pos") ) + }); + }); + }); + }, + /* + * Function: Sequence._getAnnotationString + * Purpose: Get the annotation text message for the tooltip + * Returns: {string} Annotation text for the annotation + * Inputs: id -> {int} index of the internal annotation array + */ + _getAnnotationString: function _getAnnotationString(id) { + var annotation = this._annotations[id.substr(id.indexOf('_') + 1)]; + return annotation.name + '
      ' + (annotation.html ? annotation.html : ''); + }, + /* + * Function: Sequence._getHTMLRowAnnot + * Purpose: Build an annotation + * Returns: HTML of the annotation + * Inputs: currentPos -> {int} + * annotation -> {Object} + * settings -> {Object} + */ + _getHTMLRowAnnot: function _getHTMLRowAnnot(currentPos, annotation, settings) { + var styleBegin = 'border-left:1px solid; border-bottom:1px solid; border-color:'; + var styleOn = 'border-bottom:1px solid; border-color:'; + var styleEnd = 'border-bottom:1px solid; border-right:1px solid; border-color:'; + var styleBeginAndEnd = 'border-left:1px solid; border-right:1px solid; border-bottom:1px solid; border-color:'; + var row = []; + var end = currentPos + settings.numCols; + var spaceBetweenChars = settings.spaceBetweenChars ? ' ' : ''; + var defaultColor = annotation.color; + var id = annotation.id; + for (var pos = currentPos; pos < end; pos++) { + // regions + for (var r in annotation.regions) { + region = annotation.regions[r]; + spaceAfter = ''; + spaceAfter += pos % settings.numColsForSpace == 0 ? ' ' : ''; + spaceAfter += spaceBetweenChars; + color = region.color ? region.color : defaultColor; + data = 'class="annotation ' + id + '" id="' + id + '" color="' + color + '" pos="' + pos + '"'; + if (pos == region.start && pos == region.end) { + row[pos] = ' '; + row[pos] += spaceAfter; + row[pos] += ''; + } else if (pos == region.start) { + row[pos] = ' '; + row[pos] += spaceAfter; + row[pos] += ''; + } else if (pos == region.end) { + row[pos] = ' '; + //row[pos] += spaceAfter; + row[pos] += ''; + } else if (pos > region.start && pos < region.end) { + row[pos] = ' '; + row[pos] += spaceAfter; + row[pos] += ''; + } else if (!row[pos]) { + row[pos] = ' '; + row[pos] += spaceAfter; + } + } + } + var str = row.join(''); + return str.indexOf('span') == -1 ? '' : str; + }, + /* + * Function: Sequence._drawRaw + * Purpose: Repaint the current sequence using RAW format. + * Returns: - + * Inputs: - + */ + _drawRaw: function _drawRaw() { + var self = this; + var a = this.opt.sequence.toLowerCase().split(''); + var i = 0; + var arr = []; + var pre = jQuery('
      ').appendTo(this._contentDiv);
      +
      +        /* Correct column size in case the sequence is as small peptide */
      +        var numCols = this.opt.columns.size;
      +        if (this.opt.sequence.length < this.opt.columns.size) {
      +          numCols = this.opt.sequence.length;
      +        }
      +        var opt = {
      +          numCols: numCols
      +        };
      +        pre.html(this._drawSequence(a, opt));
      +        this._drawAnnotations(opt);
      +      },
      +      /*
      +      * Function: Sequence._drawPride
      +      * Purpose:  Repaint the current sequence using PRIDE format.
      +      * Returns:  -
      +      * Inputs: -
      +      */
      +      _drawPride: function _drawPride() {
      +        var seq = this.opt.sequence.toUpperCase().split('');
      +
      +        /* Correct column size in case the sequence is as small peptide */
      +        var numCols = this.opt.columns.size;
      +        if (this.opt.sequence.length < this.opt.columns.size) {
      +          numCols = this.opt.sequence.length;
      +        }
      +        var opt = {
      +          numLeft: true,
      +          numLeftSize: 5,
      +          numLeftPad: ' ',
      +          numRight: false,
      +          numRightSize: 5,
      +          numRightPad: '',
      +          numCols: numCols,
      +          numColsForSpace: this.opt.columns.spacedEach
      +        };
      +        this._drawSequence(seq, opt);
      +        this._drawAnnotations(opt);
      +      },
      +      /*
      +      * Function: Sequence._drawSequence
      +      * Purpose:  Repaint the current sequence using CUSTOM format.
      +      * Returns:  -
      +      * Inputs:   a -> {char[]} a The sequence strand.
      +      * 			 opt -> {Object} opt The CUSTOM format.
      +      */
      +      _drawSequence: function _drawSequence(a, opt) {
      +        var indL = '';
      +        var indT = '';
      +        var indR = '\n';
      +        var str = '';
      +
      +        // Index at top?
      +        if (opt.numTop) {
      +          indT += '';
      +          var size = opt.spaceBetweenChars ? opt.numTopEach * 2 : opt.numTopEach;
      +          if (opt.numLeft) {
      +            indT += this._formatIndex(' ', opt.numLeftSize, ' ');
      +          }
      +          indT += this._formatIndex(' ', size, ' ');
      +          for (var x = opt.numTopEach; x < opt.numCols; x += opt.numTopEach) {
      +            indT += this._formatIndex(x, size, ' ', true);
      +          }
      +          indT += '';
      +        }
      +
      +        // Index at the left?
      +        if (opt.numLeft) {
      +          indL += '' + a[i - 1] + '';
      +            if (opt.numRight) {
      +              indR += ' 0) {
      +              indL += '';
      +        }
      +        var ret = [];
      +        if (opt.numTop) {
      +          jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').html(indT).addClass('indT').css({
      +            color: '#aaa'
      +          }).appendTo(this._contentDiv);
      +        }
      +        if (opt.numLeft) {
      +          jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').html(indL).addClass('indL hidden sm:inline-block').appendTo(this._contentDiv);
      +        }
      +        jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').html(str).addClass('seqF inline-block').appendTo(this._contentDiv);
      +        if (opt.numRight) {
      +          jquery__WEBPACK_IMPORTED_MODULE_0___default()('
      ').html(indR).addClass('indR').css({
      +            color: '#aaa',
      +            display: 'inline-block'
      +          }).appendTo(this._contentDiv);
      +        }
      +        return str;
      +      },
      +      /*
      +      * Function: Sequence._formatIndex
      +      * Purpose:  Build the HTML corresponding to counting numbers (top, left, right) in the strand.
      +      * Returns:  -
      +      * Inputs:   number -> {int} The number
      +      * 			 size -> {int} Number of bins to suit the number.
      +      * 			 fillingChar -> {char} Character to be used for filling out blank bins.
      +      * 			 alignLeft -> {bool} Tell if aligned to the left.
      +      */
      +      _formatIndex: function _formatIndex(number, size, fillingChar, alignLeft) {
      +        var str = number.toString();
      +        var filling = '';
      +        var padding = size - str.length;
      +        if (padding > 0) {
      +          while (padding-- > 0) {
      +            filling += '' + fillingChar + '';
      +          }
      +          if (alignLeft) {
      +            str = number + filling;
      +          } else {
      +            str = filling + number;
      +          }
      +        }
      +        return str;
      +      },
      +      /*
      +      * Function: Sequence._addSpanEvents
      +      * Purpose:  Add the event handlers to the strand.
      +      * Returns:  -
      +      * Inputs:   -
      +      */
      +      _addSpanEvents: function _addSpanEvents() {
      +        var self = this;
      +        var isMouseDown = false;
      +        var clickPos;
      +        var currentPos;
      +        self._contentDiv.find('.sequence').each(function () {
      +          // Register the starting position
      +          jQuery(this).mousedown(function () {
      +            var id = jQuery(this).attr('id');
      +            currentPos = parseInt(id.substr(id.indexOf('_') + 1));
      +            clickPos = currentPos;
      +            self._setSelection(clickPos, currentPos);
      +            isMouseDown = true;
      +
      +            // Selection is happening, raise an event
      +            self.trigger(EVT_ON_SELECTION_CHANGE, {
      +              'start': self.opt.selection.start,
      +              'end': self.opt.selection.end
      +            });
      +          }).mouseover(function () {
      +            // Update selection
      +            // Show tooltip containing the position
      +            var id = jQuery(this).attr('id');
      +            currentPos = parseInt(id.substr(id.indexOf('_') + 1));
      +            if (isMouseDown) {
      +              if (currentPos > clickPos) {
      +                self._setSelection(clickPos, currentPos);
      +              } else {
      +                self._setSelection(currentPos, clickPos);
      +              }
      +
      +              // Selection is happening, raise an event
      +              self.trigger(EVT_ON_SELECTION_CHANGE, {
      +                'start': self.opt.selection.start,
      +                'end': self.opt.selection.end
      +              });
      +            }
      +          }).mouseup(function () {
      +            isMouseDown = false;
      +            // Selection is done, raise an event
      +            self.trigger(EVT_ON_SELECTION_CHANGED, {
      +              'start': self.opt.selection.start,
      +              'end': self.opt.selection.end
      +            });
      +          });
      +
      +          // Add a tooltip for this sequence base.
      +          self._addToolTip.call(self, this, function () {
      +            if (isMouseDown) {
      +              return '[' + self.opt.selection.start + ', ' + self.opt.selection.end + ']';
      +            } else {
      +              return currentPos;
      +            }
      +          });
      +        }).css('cursor', 'pointer');
      +      },
      +      /*
      +      * Function: Sequence._addTooltip
      +      * Purpose:  Add a tooltip around the target DOM element provided as argument
      +      * Returns:  -
      +      * Inputs:   target -> {Element} DOM element wich is the targeted focus for the tooltip.
      +      * 			 cbGetMessageFunction -> {function} A callback function wich returns the message to be displayed in the tip.
      +      */
      +      _addToolTip: function _addToolTip(target, cbGetMessageFunction) {
      +        var tipId = this.opt._tooltip;
      +        jQuery(target).mouseover(function (e) {
      +          var offset = jQuery(e.target).offset();
      +          var containerOffset = jQuery(e.target).closest('.seqF').offset();
      +          if (!jQuery(tipId).is(':visible')) {
      +            jQuery(tipId).css({
      +              'background-color': '#000',
      +              'padding': '3px 10px 3px 10px',
      +              'top': offset.top - containerOffset.top + jQuery(e.target).height() + 15 + 'px',
      +              'left': offset.left - containerOffset.left + jQuery(e.target).width() + 70 + 'px',
      +              'color': '#fff',
      +              'font-size': '12px',
      +              'position': 'absolute'
      +            }).animate({
      +              opacity: '0.85'
      +            }, 10).html(cbGetMessageFunction.call(target)).show();
      +          }
      +        }).mouseout(function () {
      +          //Remove the appended tooltip template
      +          jQuery(tipId).hide();
      +        });
      +      },
      +      /**
      +      * Annotate a set of intervals provided in the argument.
      +      *
      +      * @example
      +      * // Annotations using regions with different colors.
      +      * mySequence.addAnnotation({
      +      *    name:"UNIPROT",
      +      *    html:"<br> Example of <b>HTML</b>",
      +      *    color:"green",
      +      *    regions: [
      +      *       {start: 540, end: 560},
      +      *       {start: 561, end:580, color: "#FFA010"},
      +      *       {start: 581, end:590, color: "red"},
      +      *       {start: 690, end:710}]
      +      * });
      +      *
      +      *
      +      * @param {Object} annotation The intervals belonging to the same annotation.
      +      * Syntax: { name: <value>, color: <HTMLColorCode>, html: <HTMLString>, regions: [{ start: <startVal1>, end: <endVal1>}, ...,  { start: <startValN>, end: <endValN>}] }
      +      */
      +      addAnnotation: function addAnnotation(annotation) {
      +        this._annotations.push(annotation);
      +        this._redraw();
      +      },
      +      /**
      +      * Removes an annotation by means of its name.
      +      *
      +      * @example
      +      * // Remove the UNIPROT annotation.
      +      * mySequence.removeAnnotation('UNIPROT');
      +      *
      +      * @param {string} name The name of the annotation to be removed.
      +      *
      +      */
      +      removeAnnotation: function removeAnnotation(name) {
      +        for (var i = 0; i < this._annotations.length; i++) {
      +          if (name != this._annotations[i].name) {
      +            this._annotations.splice(i, 1);
      +            this._redraw();
      +            break;
      +          }
      +        }
      +      },
      +      /**
      +      * Removes all the current annotations.
      +      *
      +      * @example
      +      * mySequence.removeAllAnnotations();
      +      *
      +      */
      +      removeAllAnnotations: function removeAllAnnotations() {
      +        this._annotations = [];
      +        this._redraw();
      +      }
      +    });
      +    require('biojs-events').mixin(Sequence.prototype);
      +  }, {
      +    'biojs-events': 2,
      +    'jquery-browser-plugin': 20,
      +    'js-class': 22
      +  }],
      +  2: [function (require, module, exports) {
      +    var events = require('backbone-events-standalone');
      +    events.onAll = function (callback, context) {
      +      this.on('all', callback, context);
      +      return this;
      +    };
      +
      +    // Mixin utility
      +    events.oldMixin = events.mixin;
      +    events.mixin = function (proto) {
      +      events.oldMixin(proto);
      +      // add custom onAll
      +      var exports = ['onAll'];
      +      for (var i = 0; i < exports.length; i++) {
      +        var name = exports[i];
      +        proto[name] = this[name];
      +      }
      +      return proto;
      +    };
      +    module.exports = events;
      +  }, {
      +    'backbone-events-standalone': 4
      +  }],
      +  3: [function (require, module, exports) {
      +    /**
      +     * Standalone extraction of Backbone.Events, no external dependency required.
      +     * Degrades nicely when Backone/underscore are already available in the current
      +     * global context.
      +     *
      +     * Note that docs suggest to use underscore's `_.extend()` method to add Events
      +     * support to some given object. A `mixin()` method has been added to the Events
      +     * prototype to avoid using underscore for that sole purpose:
      +     *
      +     *     var myEventEmitter = BackboneEvents.mixin({});
      +     *
      +     * Or for a function constructor:
      +     *
      +     *     function MyConstructor(){}
      +     *     MyConstructor.prototype.foo = function(){}
      +     *     BackboneEvents.mixin(MyConstructor.prototype);
      +     *
      +     * (c) 2009-2013 Jeremy Ashkenas, DocumentCloud Inc.
      +     * (c) 2013 Nicolas Perriault
      +     */
      +    /* global exports:true, define, module */
      +    (function () {
      +      var root = this,
      +        breaker = {},
      +        nativeForEach = Array.prototype.forEach,
      +        hasOwnProperty = Object.prototype.hasOwnProperty,
      +        slice = Array.prototype.slice,
      +        idCounter = 0;
      +
      +      // Returns a partial implementation matching the minimal API subset required
      +      // by Backbone.Events
      +      function miniscore() {
      +        return {
      +          keys: Object.keys || function (obj) {
      +            if (_typeof(obj) !== 'object' && typeof obj !== 'function' || obj === null) {
      +              throw new TypeError('keys() called on a non-object');
      +            }
      +            var key,
      +              keys = [];
      +            for (key in obj) {
      +              if (obj.hasOwnProperty(key)) {
      +                keys[keys.length] = key;
      +              }
      +            }
      +            return keys;
      +          },
      +          uniqueId: function uniqueId(prefix) {
      +            var id = ++idCounter + '';
      +            return prefix ? prefix + id : id;
      +          },
      +          has: function has(obj, key) {
      +            return hasOwnProperty.call(obj, key);
      +          },
      +          each: function each(obj, iterator, context) {
      +            if (obj == null) return;
      +            if (nativeForEach && obj.forEach === nativeForEach) {
      +              obj.forEach(iterator, context);
      +            } else if (obj.length === +obj.length) {
      +              for (var i = 0, l = obj.length; i < l; i++) {
      +                if (iterator.call(context, obj[i], i, obj) === breaker) return;
      +              }
      +            } else {
      +              for (var key in obj) {
      +                if (this.has(obj, key)) {
      +                  if (iterator.call(context, obj[key], key, obj) === breaker) return;
      +                }
      +              }
      +            }
      +          },
      +          once: function once(func) {
      +            var ran = false,
      +              memo;
      +            return function () {
      +              if (ran) return memo;
      +              ran = true;
      +              memo = func.apply(this, arguments);
      +              func = null;
      +              return memo;
      +            };
      +          }
      +        };
      +      }
      +      var _ = miniscore(),
      +        Events;
      +
      +      // Backbone.Events
      +      // ---------------
      +
      +      // A module that can be mixed in to *any object* in order to provide it with
      +      // custom events. You may bind with `on` or remove with `off` callback
      +      // functions to an event; `trigger`-ing an event fires all callbacks in
      +      // succession.
      +      //
      +      //     var object = {};
      +      //     _.extend(object, Backbone.Events);
      +      //     object.on('expand', function(){ alert('expanded'); });
      +      //     object.trigger('expand');
      +      //
      +      Events = {
      +        // Bind an event to a `callback` function. Passing `"all"` will bind
      +        // the callback to all events fired.
      +        on: function on(name, callback, context) {
      +          if (!eventsApi(this, 'on', name, [callback, context]) || !callback) return this;
      +          this._events || (this._events = {});
      +          var events = this._events[name] || (this._events[name] = []);
      +          events.push({
      +            callback: callback,
      +            context: context,
      +            ctx: context || this
      +          });
      +          return this;
      +        },
      +        // Bind an event to only be triggered a single time. After the first time
      +        // the callback is invoked, it will be removed.
      +        once: function once(name, callback, context) {
      +          if (!eventsApi(this, 'once', name, [callback, context]) || !callback) return this;
      +          var self = this;
      +          var once = _.once(function () {
      +            self.off(name, once);
      +            callback.apply(this, arguments);
      +          });
      +          once._callback = callback;
      +          return this.on(name, once, context);
      +        },
      +        // Remove one or many callbacks. If `context` is null, removes all
      +        // callbacks with that function. If `callback` is null, removes all
      +        // callbacks for the event. If `name` is null, removes all bound
      +        // callbacks for all events.
      +        off: function off(name, callback, context) {
      +          var retain, ev, events, names, i, l, j, k;
      +          if (!this._events || !eventsApi(this, 'off', name, [callback, context])) return this;
      +          if (!name && !callback && !context) {
      +            this._events = {};
      +            return this;
      +          }
      +          names = name ? [name] : _.keys(this._events);
      +          for (i = 0, l = names.length; i < l; i++) {
      +            name = names[i];
      +            if (events = this._events[name]) {
      +              this._events[name] = retain = [];
      +              if (callback || context) {
      +                for (j = 0, k = events.length; j < k; j++) {
      +                  ev = events[j];
      +                  if (callback && callback !== ev.callback && callback !== ev.callback._callback || context && context !== ev.context) {
      +                    retain.push(ev);
      +                  }
      +                }
      +              }
      +              if (!retain.length) delete this._events[name];
      +            }
      +          }
      +          return this;
      +        },
      +        // Trigger one or many events, firing all bound callbacks. Callbacks are
      +        // passed the same arguments as `trigger` is, apart from the event name
      +        // (unless you're listening on `"all"`, which will cause your callback to
      +        // receive the true name of the event as the first argument).
      +        trigger: function trigger(name) {
      +          if (!this._events) return this;
      +          var args = slice.call(arguments, 1);
      +          if (!eventsApi(this, 'trigger', name, args)) return this;
      +          var events = this._events[name];
      +          var allEvents = this._events.all;
      +          if (events) triggerEvents(events, args);
      +          if (allEvents) triggerEvents(allEvents, arguments);
      +          return this;
      +        },
      +        // Tell this object to stop listening to either specific events ... or
      +        // to every object it's currently listening to.
      +        stopListening: function stopListening(obj, name, callback) {
      +          var listeners = this._listeners;
      +          if (!listeners) return this;
      +          var deleteListener = !name && !callback;
      +          if (_typeof(name) === 'object') callback = this;
      +          if (obj) (listeners = {})[obj._listenerId] = obj;
      +          for (var id in listeners) {
      +            listeners[id].off(name, callback, this);
      +            if (deleteListener) delete this._listeners[id];
      +          }
      +          return this;
      +        }
      +      };
      +
      +      // Regular expression used to split event strings.
      +      var eventSplitter = /\s+/;
      +
      +      // Implement fancy features of the Events API such as multiple event
      +      // names `"change blur"` and jQuery-style event maps `{change: action}`
      +      // in terms of the existing API.
      +      var eventsApi = function eventsApi(obj, action, name, rest) {
      +        if (!name) return true;
      +
      +        // Handle event maps.
      +        if (_typeof(name) === 'object') {
      +          for (var key in name) {
      +            obj[action].apply(obj, [key, name[key]].concat(rest));
      +          }
      +          return false;
      +        }
      +
      +        // Handle space separated event names.
      +        if (eventSplitter.test(name)) {
      +          var names = name.split(eventSplitter);
      +          for (var i = 0, l = names.length; i < l; i++) {
      +            obj[action].apply(obj, [names[i]].concat(rest));
      +          }
      +          return false;
      +        }
      +        return true;
      +      };
      +
      +      // A difficult-to-believe, but optimized internal dispatch function for
      +      // triggering events. Tries to keep the usual cases speedy (most internal
      +      // Backbone events have 3 arguments).
      +      var triggerEvents = function triggerEvents(events, args) {
      +        var ev,
      +          i = -1,
      +          l = events.length,
      +          a1 = args[0],
      +          a2 = args[1],
      +          a3 = args[2];
      +        switch (args.length) {
      +          case 0:
      +            while (++i < l) (ev = events[i]).callback.call(ev.ctx);
      +            return;
      +          case 1:
      +            while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1);
      +            return;
      +          case 2:
      +            while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2);
      +            return;
      +          case 3:
      +            while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3);
      +            return;
      +          default:
      +            while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args);
      +        }
      +      };
      +      var listenMethods = {
      +        listenTo: 'on',
      +        listenToOnce: 'once'
      +      };
      +
      +      // Inversion-of-control versions of `on` and `once`. Tell *this* object to
      +      // listen to an event in another object ... keeping track of what it's
      +      // listening to.
      +      _.each(listenMethods, function (implementation, method) {
      +        Events[method] = function (obj, name, callback) {
      +          var listeners = this._listeners || (this._listeners = {});
      +          var id = obj._listenerId || (obj._listenerId = _.uniqueId('l'));
      +          listeners[id] = obj;
      +          if (_typeof(name) === 'object') callback = this;
      +          obj[implementation](name, callback, this);
      +          return this;
      +        };
      +      });
      +
      +      // Aliases for backwards compatibility.
      +      Events.bind = Events.on;
      +      Events.unbind = Events.off;
      +
      +      // Mixin utility
      +      Events.mixin = function (proto) {
      +        var exports = ['on', 'once', 'off', 'trigger', 'stopListening', 'listenTo', 'listenToOnce', 'bind', 'unbind'];
      +        _.each(exports, function (name) {
      +          proto[name] = this[name];
      +        }, this);
      +        return proto;
      +      };
      +
      +      // Export Events as BackboneEvents depending on current context
      +      if (typeof define === 'function') {
      +        define(function () {
      +          return Events;
      +        });
      +      } else if (typeof exports !== 'undefined') {
      +        if (typeof module !== 'undefined' && module.exports) {
      +          exports = module.exports = Events;
      +        }
      +        exports.BackboneEvents = Events;
      +      } else {
      +        root.BackboneEvents = Events;
      +      }
      +    })(this);
      +  }, {}],
      +  4: [function (require, module, exports) {
      +    module.exports = require('./backbone-events-standalone');
      +  }, {
      +    './backbone-events-standalone': 3
      +  }],
      +  5: [function (require, module, exports) {
      +    // Generated by CoffeeScript 1.8.0
      +    var GenericReader, xhr;
      +    xhr = require('nets');
      +    module.exports = GenericReader = function () {
      +      function GenericReader() {}
      +      GenericReader.read = function (url, callback) {
      +        var onret;
      +        onret = function (_this) {
      +          return function (err, response, text) {
      +            return _this._onRetrieval(text, callback);
      +          };
      +        }(this);
      +        return xhr(url, onret);
      +      };
      +      GenericReader._onRetrieval = function (text, callback) {
      +        var rText;
      +        rText = this.parse(text);
      +        return callback(rText);
      +      };
      +      return GenericReader;
      +    }();
      +  }, {
      +    'nets': 12
      +  }],
      +  6: [function (require, module, exports) {
      +    // Generated by CoffeeScript 1.8.0
      +    var Fasta,
      +      GenericReader,
      +      Seq,
      +      Str,
      +      __hasProp = {}.hasOwnProperty,
      +      __extends = function __extends(child, parent) {
      +        for (var key in parent) {
      +          if (__hasProp.call(parent, key)) child[key] = parent[key];
      +        }
      +        function ctor() {
      +          this.constructor = child;
      +        }
      +        ctor.prototype = parent.prototype;
      +        child.prototype = new ctor();
      +        child.__super__ = parent.prototype;
      +        return child;
      +      };
      +    Str = require('./strings');
      +    GenericReader = require('./generic_reader');
      +    Seq = require('biojs-model').seq;
      +    module.exports = Fasta = function (_super) {
      +      __extends(Fasta, _super);
      +      function Fasta() {
      +        return Fasta.__super__.constructor.apply(this, arguments);
      +      }
      +      Fasta.parse = function (text) {
      +        var currentSeq, database, databaseID, identifiers, k, label, line, seqs, _i, _len;
      +        seqs = [];
      +        if (Object.prototype.toString.call(text) !== '[object Array]') {
      +          text = text.split('\n');
      +        }
      +        for (_i = 0, _len = text.length; _i < _len; _i++) {
      +          line = text[_i];
      +          if (line[0] === '>' || line[0] === ';') {
      +            label = line.slice(1);
      +            currentSeq = new Seq('', label, seqs.length);
      +            seqs.push(currentSeq);
      +            if (Str.contains('|', line)) {
      +              identifiers = label.split('|');
      +              k = 1;
      +              while (k < identifiers.length) {
      +                database = identifiers[k];
      +                databaseID = identifiers[k + 1];
      +                currentSeq.meta[database] = databaseID;
      +                k += 2;
      +              }
      +              currentSeq.name = identifiers[identifiers.length - 1];
      +            }
      +          } else {
      +            currentSeq.seq += line;
      +          }
      +        }
      +        return seqs;
      +      };
      +      return Fasta;
      +    }(GenericReader);
      +  }, {
      +    './generic_reader': 5,
      +    './strings': 7,
      +    'biojs-model': 10
      +  }],
      +  7: [function (require, module, exports) {
      +    // Generated by CoffeeScript 1.8.0
      +    var strings;
      +    strings = {
      +      contains: function contains(text, search) {
      +        return ''.indexOf.call(text, search, 0) !== -1;
      +      }
      +    };
      +    module.exports = strings;
      +  }, {}],
      +  8: [function (require, module, exports) {
      +    // Generated by CoffeeScript 1.8.0
      +    var Utils;
      +    Utils = {};
      +    Utils.splitNChars = function (txt, num) {
      +      var i, result, _i, _ref;
      +      result = [];
      +      for (i = _i = 0, _ref = txt.length - 1; num > 0 ? _i <= _ref : _i >= _ref; i = _i += num) {
      +        result.push(txt.substr(i, num));
      +      }
      +      return result;
      +    };
      +    module.exports = Utils;
      +  }, {}],
      +  9: [function (require, module, exports) {
      +    // Generated by CoffeeScript 1.8.0
      +    var FastaExporter, Utils;
      +    Utils = require('./utils');
      +    module.exports = FastaExporter = function () {
      +      function FastaExporter() {}
      +      FastaExporter['export'] = function (seqs, access) {
      +        var seq, text, _i, _len;
      +        text = '';
      +        for (_i = 0, _len = seqs.length; _i < _len; _i++) {
      +          seq = seqs[_i];
      +          if (access != null) {
      +            seq = access(seq);
      +          }
      +          text += '>' + seq.name + '\n';
      +          text += Utils.splitNChars(seq.seq, 80).join('\n');
      +          text += '\n';
      +        }
      +        return text;
      +      };
      +      return FastaExporter;
      +    }();
      +  }, {
      +    './utils': 8
      +  }],
      +  10: [function (require, module, exports) {
      +    module.exports.seq = require('./seq');
      +  }, {
      +    './seq': 11
      +  }],
      +  11: [function (require, module, exports) {
      +    module.exports = function (seq, name, id) {
      +      this.seq = seq;
      +      this.name = name;
      +      this.id = id;
      +      this.meta = {};
      +    };
      +  }, {}],
      +  12: [function (require, module, exports) {
      +    var req = require('request');
      +    module.exports = Nets;
      +    function Nets(uri, opts, cb) {
      +      req(uri, opts, cb);
      +    }
      +  }, {
      +    'request': 13
      +  }],
      +  13: [function (require, module, exports) {
      +    var window = require('global/window');
      +    var once = require('once');
      +    var parseHeaders = require('parse-headers');
      +    var messages = {
      +      '0': 'Internal XMLHttpRequest Error',
      +      '4': '4xx Client Error',
      +      '5': '5xx Server Error'
      +    };
      +    var XHR = window.XMLHttpRequest || noop;
      +    var XDR = 'withCredentials' in new XHR() ? XHR : window.XDomainRequest;
      +    module.exports = createXHR;
      +    function createXHR(options, callback) {
      +      if (typeof options === 'string') {
      +        options = {
      +          uri: options
      +        };
      +      }
      +      options = options || {};
      +      callback = once(callback);
      +      var xhr = options.xhr || null;
      +      if (!xhr) {
      +        if (options.cors || options.useXDR) {
      +          xhr = new XDR();
      +        } else {
      +          xhr = new XHR();
      +        }
      +      }
      +      var uri = xhr.url = options.uri || options.url;
      +      var method = xhr.method = options.method || 'GET';
      +      var body = options.body || options.data;
      +      var headers = xhr.headers = options.headers || {};
      +      var sync = !!options.sync;
      +      var isJson = false;
      +      var key;
      +      var load = options.response ? loadResponse : loadXhr;
      +      if ('json' in options) {
      +        isJson = true;
      +        headers['Accept'] = 'application/json';
      +        if (method !== 'GET' && method !== 'HEAD') {
      +          headers['Content-Type'] = 'application/json';
      +          body = JSON.stringify(options.json);
      +        }
      +      }
      +      xhr.onreadystatechange = readystatechange;
      +      xhr.onload = load;
      +      xhr.onerror = error;
      +      // IE9 must have onprogress be set to a unique function.
      +      xhr.onprogress = function () {
      +        // IE must die
      +      };
      +      // hate IE
      +      xhr.ontimeout = noop;
      +      xhr.open(method, uri, !sync);
      +      //backward compatibility
      +      if (options.withCredentials || options.cors && options.withCredentials !== false) {
      +        xhr.withCredentials = true;
      +      }
      +
      +      // Cannot set timeout with sync request
      +      if (!sync) {
      +        xhr.timeout = 'timeout' in options ? options.timeout : 5000;
      +      }
      +      if (xhr.setRequestHeader) {
      +        for (key in headers) {
      +          if (headers.hasOwnProperty(key)) {
      +            xhr.setRequestHeader(key, headers[key]);
      +          }
      +        }
      +      } else if (options.headers) {
      +        throw new Error('Headers cannot be set on an XDomainRequest object');
      +      }
      +      if ('responseType' in options) {
      +        xhr.responseType = options.responseType;
      +      }
      +      if ('beforeSend' in options && typeof options.beforeSend === 'function') {
      +        options.beforeSend(xhr);
      +      }
      +      xhr.send(body);
      +      return xhr;
      +      function readystatechange() {
      +        if (xhr.readyState === 4) {
      +          load();
      +        }
      +      }
      +      function getBody() {
      +        // Chrome with requestType=blob throws errors arround when even testing access to responseText
      +        var body = null;
      +        if (xhr.response) {
      +          body = xhr.response;
      +        } else if (xhr.responseType === 'text' || !xhr.responseType) {
      +          body = xhr.responseText || xhr.responseXML;
      +        }
      +        if (isJson) {
      +          try {
      +            body = JSON.parse(body);
      +          } catch (e) {}
      +        }
      +        return body;
      +      }
      +      function getStatusCode() {
      +        return xhr.status === 1223 ? 204 : xhr.status;
      +      }
      +
      +      // if we're getting a none-ok statusCode, build & return an error
      +      function errorFromStatusCode(status, body) {
      +        var error = null;
      +        if (status === 0 || status >= 400 && status < 600) {
      +          var message = (typeof body === 'string' ? body : false) || messages[String(status).charAt(0)];
      +          error = new Error(message);
      +          error.statusCode = status;
      +        }
      +        return error;
      +      }
      +
      +      // will load the data & process the response in a special response object
      +      function loadResponse() {
      +        var status = getStatusCode();
      +        var body = getBody();
      +        var error = errorFromStatusCode(status, body);
      +        var response = {
      +          body: body,
      +          statusCode: status,
      +          statusText: xhr.statusText,
      +          raw: xhr
      +        };
      +        if (xhr.getAllResponseHeaders) {
      +          //remember xhr can in fact be XDR for CORS in IE
      +          response.headers = parseHeaders(xhr.getAllResponseHeaders());
      +        } else {
      +          response.headers = {};
      +        }
      +        callback(error, response, response.body);
      +      }
      +
      +      // will load the data and add some response properties to the source xhr
      +      // and then respond with that
      +      function loadXhr() {
      +        var status = getStatusCode();
      +        var error = errorFromStatusCode(status);
      +        xhr.status = xhr.statusCode = status;
      +        xhr.body = getBody();
      +        xhr.headers = parseHeaders(xhr.getAllResponseHeaders());
      +        callback(error, xhr, xhr.body);
      +      }
      +      function error(evt) {
      +        callback(evt, xhr);
      +      }
      +    }
      +    function noop() {}
      +  }, {
      +    'global/window': 14,
      +    'once': 15,
      +    'parse-headers': 19
      +  }],
      +  14: [function (require, module, exports) {
      +    (function (global) {
      +      if (typeof window !== 'undefined') {
      +        module.exports = window;
      +      } else if (typeof global !== 'undefined') {
      +        module.exports = global;
      +      } else if (typeof self !== 'undefined') {
      +        module.exports = self;
      +      } else {
      +        module.exports = {};
      +      }
      +    }).call(this, typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {});
      +  }, {}],
      +  15: [function (require, module, exports) {
      +    module.exports = once;
      +    once.proto = once(function () {
      +      Object.defineProperty(Function.prototype, 'once', {
      +        value: function value() {
      +          return once(this);
      +        },
      +        configurable: true
      +      });
      +    });
      +    function once(fn) {
      +      var called = false;
      +      return function () {
      +        if (called) return;
      +        called = true;
      +        return fn.apply(this, arguments);
      +      };
      +    }
      +  }, {}],
      +  16: [function (require, module, exports) {
      +    var isFunction = require('is-function');
      +    module.exports = forEach;
      +    var toString = Object.prototype.toString;
      +    var hasOwnProperty = Object.prototype.hasOwnProperty;
      +    function forEach(list, iterator, context) {
      +      if (!isFunction(iterator)) {
      +        throw new TypeError('iterator must be a function');
      +      }
      +      if (arguments.length < 3) {
      +        context = this;
      +      }
      +      if (toString.call(list) === '[object Array]') forEachArray(list, iterator, context);else if (typeof list === 'string') forEachString(list, iterator, context);else forEachObject(list, iterator, context);
      +    }
      +    function forEachArray(array, iterator, context) {
      +      for (var i = 0, len = array.length; i < len; i++) {
      +        if (hasOwnProperty.call(array, i)) {
      +          iterator.call(context, array[i], i, array);
      +        }
      +      }
      +    }
      +    function forEachString(string, iterator, context) {
      +      for (var i = 0, len = string.length; i < len; i++) {
      +        // no such thing as a sparse string.
      +        iterator.call(context, string.charAt(i), i, string);
      +      }
      +    }
      +    function forEachObject(object, iterator, context) {
      +      for (var k in object) {
      +        if (hasOwnProperty.call(object, k)) {
      +          iterator.call(context, object[k], k, object);
      +        }
      +      }
      +    }
      +  }, {
      +    'is-function': 17
      +  }],
      +  17: [function (require, module, exports) {
      +    module.exports = isFunction;
      +    var toString = Object.prototype.toString;
      +    function isFunction(fn) {
      +      var string = toString.call(fn);
      +      return string === '[object Function]' || typeof fn === 'function' && string !== '[object RegExp]' || typeof window !== 'undefined' && (
      +      // IE8 and below
      +      fn === window.setTimeout || fn === window.alert || fn === window.confirm || fn === window.prompt);
      +    }
      +  }, {}],
      +  18: [function (require, module, exports) {
      +    exports = module.exports = trim;
      +    function trim(str) {
      +      return str.replace(/^\s*|\s*$/g, '');
      +    }
      +    exports.left = function (str) {
      +      return str.replace(/^\s*/, '');
      +    };
      +    exports.right = function (str) {
      +      return str.replace(/\s*$/, '');
      +    };
      +  }, {}],
      +  19: [function (require, module, exports) {
      +    var trim = require('trim'),
      +      forEach = require('for-each'),
      +      isArray = function isArray(arg) {
      +        return Object.prototype.toString.call(arg) === '[object Array]';
      +      };
      +    module.exports = function (headers) {
      +      if (!headers) return {};
      +      var result = {};
      +      forEach(trim(headers).split('\n'), function (row) {
      +        var index = row.indexOf(':'),
      +          key = trim(row.slice(0, index)).toLowerCase(),
      +          value = trim(row.slice(index + 1));
      +        if (typeof result[key] === 'undefined') {
      +          result[key] = value;
      +        } else if (isArray(result[key])) {
      +          result[key].push(value);
      +        } else {
      +          result[key] = [result[key], value];
      +        }
      +      });
      +      return result;
      +    };
      +  }, {
      +    'for-each': 16,
      +    'trim': 18
      +  }],
      +  20: [function (require, module, exports) {
      +    module.exports = require('./jquery.browser');
      +  }, {
      +    './jquery.browser': 21
      +  }],
      +  21: [function (require, module, exports) {
      +    /*!
      +     * jQuery Browser Plugin v0.0.6
      +     * https://github.com/gabceb/jquery-browser-plugin
      +     *
      +     * Original jquery-browser code Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
      +     * http://jquery.org/license
      +     *
      +     * Modifications Copyright 2013 Gabriel Cebrian
      +     * https://github.com/gabceb
      +     *
      +     * Released under the MIT license
      +     *
      +     * Date: 2013-07-29T17:23:27-07:00
      +     */
      +
      +    var matched, browser;
      +    var uaMatch = function uaMatch(ua) {
      +      ua = ua.toLowerCase();
      +      var match = /(opr)[\/]([\w.]+)/.exec(ua) || /(chrome)[ \/]([\w.]+)/.exec(ua) || /(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(ua) || /(webkit)[ \/]([\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || /(msie) ([\w.]+)/.exec(ua) || ua.indexOf('trident') >= 0 && /(rv)(?::| )([\w.]+)/.exec(ua) || ua.indexOf('compatible') < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || [];
      +      var platform_match = /(ipad)/.exec(ua) || /(iphone)/.exec(ua) || /(android)/.exec(ua) || /(windows phone)/.exec(ua) || /(win)/.exec(ua) || /(mac)/.exec(ua) || /(linux)/.exec(ua) || /(cros)/i.exec(ua) || [];
      +      return {
      +        browser: match[3] || match[1] || '',
      +        version: match[2] || '0',
      +        platform: platform_match[0] || ''
      +      };
      +    };
      +    matched = uaMatch(window.navigator.userAgent);
      +    browser = {};
      +    browser.uaMatch = uaMatch;
      +    if (matched.browser) {
      +      browser[matched.browser] = true;
      +      browser.version = matched.version;
      +      browser.versionNumber = parseInt(matched.version);
      +    }
      +    if (matched.platform) {
      +      browser[matched.platform] = true;
      +    }
      +
      +    // These are all considered mobile platforms, meaning they run a mobile browser
      +    if (browser.android || browser.ipad || browser.iphone || browser['windows phone']) {
      +      browser.mobile = true;
      +    }
      +
      +    // These are all considered desktop platforms, meaning they run a desktop browser
      +    if (browser.cros || browser.mac || browser.linux || browser.win) {
      +      browser.desktop = true;
      +    }
      +
      +    // Chrome, Opera 15+ and Safari are webkit based browsers
      +    if (browser.chrome || browser.opr || browser.safari) {
      +      browser.webkit = true;
      +    }
      +
      +    // IE11 has a new token so we will assign it msie to avoid breaking changes
      +    if (browser.rv) {
      +      var ie = 'msie';
      +      matched.browser = ie;
      +      browser[ie] = true;
      +    }
      +
      +    // Opera 15+ are identified as opr
      +    if (browser.opr) {
      +      var opera = 'opera';
      +      matched.browser = opera;
      +      browser[opera] = true;
      +    }
      +
      +    // Stock Android browsers are marked as Safari on Android.
      +    if (browser.safari && browser.android) {
      +      var android = 'android';
      +      matched.browser = android;
      +      browser[android] = true;
      +    }
      +
      +    // Assign the name and platform variable
      +    browser.name = matched.browser;
      +    browser.platform = matched.platform;
      +    module.exports = browser;
      +  }, {}],
      +  22: [function (require, module, exports) {
      +    (function (global) {
      +      /** @preserve http://github.com/easeway/js-class */
      +
      +      // Class Definition using ECMA5 prototype chain
      +
      +      function inherit(dest, src, noParent) {
      +        while (src && src !== Object.prototype) {
      +          Object.getOwnPropertyNames(src).forEach(function (name) {
      +            if (name != '.class' && !dest.hasOwnProperty(name)) {
      +              var desc = Object.getOwnPropertyDescriptor(src, name);
      +              Object.defineProperty(dest, name, desc);
      +            }
      +          });
      +          if (noParent) {
      +            break;
      +          }
      +          src = src.__proto__;
      +        }
      +        return dest;
      +      }
      +      var _Class = function Class(base, proto, options) {
      +        if (typeof base != 'function') {
      +          options = proto;
      +          proto = base;
      +          base = Object;
      +        }
      +        if (!proto) {
      +          proto = {};
      +        }
      +        if (!options) {
      +          options = {};
      +        }
      +        var meta = {
      +          name: options.name,
      +          base: base,
      +          "implements": []
      +        };
      +        var classProto = _Class.clone(proto);
      +        if (options["implements"]) {
      +          (Array.isArray(options["implements"]) ? options["implements"] : [options["implements"]]).forEach(function (implementedType) {
      +            if (typeof implementedType == 'function' && implementedType.prototype) {
      +              meta["implements"].push(implementedType);
      +              _Class.extend(classProto, implementedType.prototype);
      +            }
      +          });
      +        }
      +        classProto.__proto__ = base.prototype;
      +        var theClass = function theClass() {
      +          if (typeof this.constructor == 'function') {
      +            this.constructor.apply(this, arguments);
      +          }
      +        };
      +        meta.type = theClass;
      +        theClass.prototype = classProto;
      +        Object.defineProperty(theClass, '.class.meta', {
      +          value: meta,
      +          enumerable: false,
      +          configurable: false,
      +          writable: false
      +        });
      +        Object.defineProperty(classProto, '.class', {
      +          value: theClass,
      +          enumerable: false,
      +          configurable: false,
      +          writable: false
      +        });
      +        if (options.statics) {
      +          _Class.extend(theClass, options.statics);
      +        }
      +        return theClass;
      +      };
      +      _Class.extend = inherit;
      +      _Class.clone = function (object) {
      +        return inherit({}, object);
      +      };
      +      function findType(meta, type) {
      +        while (meta) {
      +          if (meta.type.prototype === type.prototype) {
      +            return true;
      +          }
      +          for (var i in meta["implements"]) {
      +            var implType = meta["implements"][i];
      +            var implMeta = implType['.class.meta'];
      +            if (implMeta) {
      +              if (findType(implMeta, type)) {
      +                return true;
      +              }
      +            } else {
      +              for (var proto = implType.prototype; proto; proto = proto.__proto__) {
      +                if (proto === type.prototype) {
      +                  return true;
      +                }
      +              }
      +            }
      +          }
      +          meta = meta.base ? meta.base['.class.meta'] : undefined;
      +        }
      +        return false;
      +      }
      +      var Checker = _Class({
      +        constructor: function constructor(object) {
      +          this.object = object;
      +        },
      +        typeOf: function typeOf(type) {
      +          if (this.object instanceof type) {
      +            return true;
      +          }
      +          var meta = _Class.typeInfo(this.object);
      +          return meta && findType(meta, type);
      +        }
      +      });
      +
      +      // aliases
      +      Checker.prototype.a = Checker.prototype.typeOf;
      +      Checker.prototype.an = Checker.prototype.typeOf;
      +      _Class.is = function (object) {
      +        return new Checker(object);
      +      };
      +      _Class.typeInfo = function (object) {
      +        var theClass = object.__proto__['.class'];
      +        return theClass ? theClass['.class.meta'] : undefined;
      +      };
      +      _Class.VERSION = [0, 0, 2];
      +      if (module) {
      +        module.exports = _Class;
      +      } else {
      +        global.Class = _Class; // for browser
      +      }
      +    }).call(this, typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : {});
      +  }, {}],
      +  'biojs-io-fasta': [function (require, module, exports) {
      +    // Generated by CoffeeScript 1.8.0
      +    module.exports.parse = require('./parser');
      +    module.exports.writer = require('./writer');
      +  }, {
      +    './parser': 6,
      +    './writer': 9
      +  }],
      +  'biojs-vis-sequence': [function (require, module, exports) {
      +    module.exports = require('./lib/index');
      +  }, {
      +    './lib/index': 1
      +  }]
      +}, {}, ['biojs-vis-sequence']);
      +
      +/***/ }),
      +
      +/***/ "./public/js/sequence_modal.js":
      +/*!*************************************!*\
      +  !*** ./public/js/sequence_modal.js ***!
      +  \*************************************/
      +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
      +
      +"use strict";
      +__webpack_require__.r(__webpack_exports__);
      +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
      +/* harmony export */   "default": () => (/* binding */ SequenceModal)
      +/* harmony export */ });
      +/* harmony import */ var _sequence__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sequence */ "./public/js/sequence.js");
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
      +/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! underscore */ "./node_modules/underscore/modules/index-all.js");
      +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
      +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
      +function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
      +function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
      +function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
      +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
      +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
      +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
      +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
      +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
      +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
      +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
      +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
      +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
      +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
      +function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
      +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
      +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
      +
      +
      +
      +
      +/**
      + * Takes sequence accession as props, fetches the sequence from the server, and
      + * displays it in a modal.
      + */
      +
      +var SequenceModal = /*#__PURE__*/function (_React$Component) {
      +  function SequenceModal(props) {
      +    var _this;
      +    _classCallCheck(this, SequenceModal);
      +    _this = _callSuper(this, SequenceModal, [props]);
      +    /**
      +     * Shows sequence viewer.
      +     */
      +    _defineProperty(_this, "show", function (url) {
      +      var _this$modalRef$curren;
      +      (_this$modalRef$curren = _this.modalRef.current) === null || _this$modalRef$curren === void 0 || _this$modalRef$curren.showModal();
      +      _this.setState({
      +        requestCompleted: false
      +      });
      +      _this.loadJSON(url);
      +    });
      +    /**
      +     * Hide sequence viewer.
      +     */
      +    _defineProperty(_this, "hide", function () {
      +      var _this$modalRef$curren2;
      +      (_this$modalRef$curren2 = _this.modalRef.current) === null || _this$modalRef$curren2 === void 0 || _this$modalRef$curren2.close();
      +    });
      +    _this.state = {
      +      error_msgs: [],
      +      sequences: [],
      +      requestCompleted: false,
      +      isModalVisible: false
      +    };
      +    _this.modalRef = /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_1__.createRef)();
      +    return _this;
      +  }
      +
      +  // Lifecycle methods. //
      +  _inherits(SequenceModal, _React$Component);
      +  return _createClass(SequenceModal, [{
      +    key: "render",
      +    value: function render() {
      +      var _this$state = this.state,
      +        isModalVisible = _this$state.isModalVisible,
      +        requestCompleted = _this$state.requestCompleted;
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +        className: "relative sequence-viewer-wrap",
      +        children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("dialog", {
      +          ref: this.modalRef,
      +          className: "sequence-viewer fixed p-4 w-full max-w-2xl bg-transparent focus:outline-none overflow-visible z-50",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
      +            className: "relative flex flex-col rounded-lg bg-white shadow",
      +            children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
      +              className: "flex items-start justify-between rounded-t border-b p-5",
      +              children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h3", {
      +                className: "text-xl font-medium text-gray-900",
      +                children: "View sequence"
      +              }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("button", {
      +                className: "sequence-viewer-close ml-auto inline-flex items-center rounded-lg bg-transparent p-1.5 text-gray-400 hover:bg-gray-200",
      +                onClick: this.hide,
      +                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("i", {
      +                  className: "fa-solid fa-xmark hover:text-black"
      +                })
      +              })]
      +            }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +              className: "sequence-viewer-content max-h-[80vh] overflow-y-scroll",
      +              children: requestCompleted && this.resultsJSX() || this.loadingJSX()
      +            })]
      +          })
      +        })
      +      });
      +    }
      +  }, {
      +    key: "loadJSON",
      +    value: (
      +    /**
      +     * Loads sequence using AJAX and updates modal state.
      +     */
      +    function () {
      +      var _loadJSON = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url) {
      +        var response, data;
      +        return _regeneratorRuntime().wrap(function _callee$(_context) {
      +          while (1) switch (_context.prev = _context.next) {
      +            case 0:
      +              _context.prev = 0;
      +              _context.next = 3;
      +              return fetch(url);
      +            case 3:
      +              response = _context.sent;
      +              _context.next = 6;
      +              return response.json();
      +            case 6:
      +              data = _context.sent;
      +              this.setState({
      +                sequences: data.sequences,
      +                error_msgs: data.error_msgs,
      +                requestCompleted: true
      +              });
      +              _context.next = 15;
      +              break;
      +            case 10:
      +              _context.prev = 10;
      +              _context.t0 = _context["catch"](0);
      +              console.log('Error fetching sequence:', _context.t0);
      +              this.hide();
      +              this.props.showErrorModal(_context.t0);
      +            case 15:
      +            case "end":
      +              return _context.stop();
      +          }
      +        }, _callee, this, [[0, 10]]);
      +      }));
      +      function loadJSON(_x) {
      +        return _loadJSON.apply(this, arguments);
      +      }
      +      return loadJSON;
      +    }())
      +  }, {
      +    key: "resultsJSX",
      +    value: function resultsJSX() {
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
      +        className: "pt-2 px-6 pb-6 mt-2",
      +        children: [this.state.error_msgs.map(function (error_msg, index) {
      +          return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
      +            className: "fastan",
      +            children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +              className: "section-header border-b border-seqorange pl-px table mb-0 w-full pb-2",
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("h4", {
      +                className: "text-sm table-cell",
      +                children: error_msg[0]
      +              })
      +            }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +              className: "pt-0 px-0 pb-px",
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("pre", {
      +                className: "m-0 p-0 rounded-none border-0 bg-inherit whitespace-pre-wrap break-keep",
      +                children: error_msg[1]
      +              })
      +            })]
      +          }, "error-message-".concat(index));
      +        }), this.state.sequences.map(function (sequence, index) {
      +          return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(SequenceViewer, {
      +            sequence: sequence
      +          }, "sequence-viewer-".concat(index));
      +        })]
      +      });
      +    }
      +  }, {
      +    key: "loadingJSX",
      +    value: function loadingJSX() {
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +        className: "my-4 text-center",
      +        children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("i", {
      +          className: "fa fa-spinner fa-3x fa-spin"
      +        })
      +      });
      +    }
      +  }]);
      +}((react__WEBPACK_IMPORTED_MODULE_1___default().Component));
      +
      +var SequenceViewer = /*#__PURE__*/function (_React$Component2) {
      +  function SequenceViewer() {
      +    _classCallCheck(this, SequenceViewer);
      +    return _callSuper(this, SequenceViewer, arguments);
      +  }
      +  _inherits(SequenceViewer, _React$Component2);
      +  return _createClass(SequenceViewer, [{
      +    key: "render",
      +    value: function render() {
      +      this.widgetID = this.widgetClass + "-" + new Date().getUTCMilliseconds();
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
      +        className: "fastan",
      +        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +          className: "section-header border-b border-seqorange pl-px table mb-0 w-full pb-2",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("h4", {
      +            className: "text-sm table-cell",
      +            children: [this.props.sequence.id, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("small", {
      +              className: "text-inherit",
      +              children: ["\xA0 ", this.props.sequence.title]
      +            })]
      +          })
      +        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +          className: "fastan-content relative pt-0 px-0 pb-px",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
      +            className: this.widgetClass,
      +            id: this.widgetID
      +          })
      +        })]
      +      });
      +    }
      +  }, {
      +    key: "componentDidMount",
      +    value: function componentDidMount() {
      +      // attach BioJS sequence viewer
      +      var widget = new Sequence({
      +        sequence: this.props.sequence.value,
      +        target: this.widgetID,
      +        format: "PRIDE",
      +        columns: {
      +          size: 40,
      +          spacedEach: 0
      +        },
      +        formatOptions: {
      +          title: false,
      +          footer: false
      +        }
      +      });
      +      setTimeout(function () {
      +        requestAnimationFrame(function () {
      +          widget.hideFormatSelector();
      +        }); // ensure React is done painting the DOM of the element before calling a function on it.
      +      });
      +    }
      +  }], [{
      +    key: "widgetClass",
      +    value:
      +    /**
      +     * The CSS class name that will be assigned to the widget container. ID
      +     * assigned to the widget container is derived from the same.
      +     */
      +    function widgetClass() {
      +      return "biojs-vis-sequence";
      +    }
      +  }]);
      +}((react__WEBPACK_IMPORTED_MODULE_1___default().Component));
      +
      +/***/ }),
      +
      +/***/ "./public/js/share_url.js":
      +/*!********************************!*\
      +  !*** ./public/js/share_url.js ***!
      +  \********************************/
      +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
      +
      +"use strict";
      +__webpack_require__.r(__webpack_exports__);
      +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
      +/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
      +/* harmony export */ });
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
      +/* harmony import */ var _mailto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mailto */ "./public/js/mailto.js");
      +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
      +function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
      +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
      +function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
      +function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
      +function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
      +function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
      +
      +
      +
      +var ShareURLComponent = function ShareURLComponent(_ref) {
      +  var querydb = _ref.querydb,
      +    program = _ref.program,
      +    queryLength = _ref.queryLength,
      +    url = _ref.url;
      +  var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false),
      +    _useState2 = _slicedToArray(_useState, 2),
      +    copied = _useState2[0],
      +    setCopied = _useState2[1];
      +  var copyToClipboard = function copyToClipboard() {
      +    navigator.clipboard.writeText(url);
      +    setCopied(true);
      +  };
      +  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
      +    className: "px-6 share-url-component",
      +    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("input", {
      +      className: "w-full mb-3 pt-3",
      +      name: "shareableUrl",
      +      type: "text",
      +      value: url,
      +      readOnly: true
      +    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
      +      className: "py-4 flex justify-between items-center",
      +      children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("button", {
      +        className: "py-2 px-3 border border-transparent rounded-md shadow-sm text-white bg-seqblue hover:bg-seqorange focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-seqorange",
      +        onClick: copyToClipboard,
      +        children: copied ? 'Copied!' : 'Copy to Clipboard'
      +      }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("a", {
      +        href: (0,_mailto__WEBPACK_IMPORTED_MODULE_1__["default"])(querydb, program, queryLength, url, true),
      +        children: "Share via email"
      +      })]
      +    })]
      +  });
      +};
      +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ShareURLComponent);
      +
      +/***/ }),
      +
      +/***/ "./public/js/sidebar.js":
      +/*!******************************!*\
      +  !*** ./public/js/sidebar.js ***!
      +  \******************************/
      +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
      +
      +"use strict";
      +__webpack_require__.r(__webpack_exports__);
      +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
      +/* harmony export */   "default": () => (/* binding */ _default)
      +/* harmony export */ });
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
      +/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! underscore */ "./node_modules/underscore/modules/index-all.js");
      +/* harmony import */ var _download_fasta__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./download_fasta */ "./public/js/download_fasta.js");
      +/* harmony import */ var _mailto__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mailto */ "./public/js/mailto.js");
      +/* harmony import */ var _cloud_share_modal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cloud_share_modal */ "./public/js/cloud_share_modal.js");
      +/* harmony import */ var download_links__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! download_links */ "./public/js/null_plugins/download_links.js");
      +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
      +/* provided dependency */ var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
      +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
      +function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
      +function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
      +function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
      +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
      +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
      +function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
      +function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
      +function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
      +function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
      +function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
      +function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
      +function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
      +
      +
      +
      +
      +
      +
      +/**
      + * checks whether code is being run by jest
      + */
      +// eslint-disable-next-line no-undef
      +
      +var isTestMode = function isTestMode() {
      +  return ({}).JEST_WORKER_ID !== undefined || "development" === 'test';
      +};
      +/**
      + * Renders links for downloading hit information in different formats.
      + * Renders links for navigating to each query.
      + */
      +var _default = /*#__PURE__*/function (_Component) {
      +  function _default(props) {
      +    var _this;
      +    _classCallCheck(this, _default);
      +    _this = _callSuper(this, _default, [props]);
      +    _this.downloadFastaOfAll = _this.downloadFastaOfAll.bind(_this);
      +    _this.downloadFastaOfSelected = _this.downloadFastaOfSelected.bind(_this);
      +    _this.topPanelJSX = _this.topPanelJSX.bind(_this);
      +    _this.summaryString = _this.summaryString.bind(_this);
      +    _this.indexJSX = _this.indexJSX.bind(_this);
      +    _this.downloadsPanelJSX = _this.downloadsPanelJSX.bind(_this);
      +    _this.handleQueryIndexChange = _this.handleQueryIndexChange.bind(_this);
      +    _this.isElementInViewPort = _this.isElementInViewPort.bind(_this);
      +    _this.setVisibleQueryIndex = _this.setVisibleQueryIndex.bind(_this);
      +    _this.debounceScrolling = _this.debounceScrolling.bind(_this);
      +    _this.scrollListener = _this.scrollListener.bind(_this);
      +    _this.copyURL = _this.copyURL.bind(_this);
      +    _this.shareCloudInit = _this.shareCloudInit.bind(_this);
      +    _this.sharingPanelJSX = _this.sharingPanelJSX.bind(_this);
      +    _this.cloudShareModal = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createRef();
      +    _this.timeout = null;
      +    _this.queryElems = [];
      +    _this.state = {
      +      queryIndex: 1
      +    };
      +    return _this;
      +  }
      +  _inherits(_default, _Component);
      +  return _createClass(_default, [{
      +    key: "componentDidMount",
      +    value: function componentDidMount() {
      +      //keep track of the current queryIndex so it doesn't get lost on page reload
      +      var urlMatch = window.location.href.match(/#Query_(\d+)/);
      +      if (urlMatch && urlMatch.length > 1) {
      +        var queryNumber = +urlMatch[1];
      +        var index = this.props.data.queries.findIndex(function (query) {
      +          return query.number === queryNumber;
      +        });
      +        this.setState({
      +          queryIndex: index + 1
      +        });
      +      }
      +      window.addEventListener('scroll', this.scrollListener);
      +      $('a[href^="#Query_"]').on('click', this.animateAnchorElements);
      +    }
      +  }, {
      +    key: "componentWillUnmount",
      +    value: function componentWillUnmount() {
      +      window.removeEventListener('scroll', this.scrollListener);
      +    }
      +  }, {
      +    key: "componentDidUpdate",
      +    value: function componentDidUpdate(prevProps) {
      +      if (this.props.allQueriesLoaded && !prevProps.allQueriesLoaded) {
      +        /**
      +         * storing all query elements in this variable once they all become available so we don't have to fetch them all over again
      +         */
      +        this.queryElems = Array.from(document.querySelectorAll('.resultn'));
      +      }
      +    }
      +
      +    /**
      +     * to avoid unnecessary computations, we debounce the scroll listener so it only fires after user has stopped scrolling for some milliseconds
      +     */
      +  }, {
      +    key: "scrollListener",
      +    value: function scrollListener() {
      +      this.debounceScrolling(this.setVisibleQueryIndex, 500);
      +    }
      +  }, {
      +    key: "debounceScrolling",
      +    value: function debounceScrolling(callback, timer) {
      +      if (this.timeout) {
      +        clearTimeout(this.timeout);
      +      }
      +      this.timeout = setTimeout(callback, timer);
      +    }
      +
      +    /**
      +     * This method makes the page aware of what query is visible so that clicking previous / next button at any point
      +     * navigates to the proper query
      +     */
      +  }, {
      +    key: "setVisibleQueryIndex",
      +    value: function setVisibleQueryIndex() {
      +      var queryElems = this.queryElems.length ? this.queryElems : Array.from(document.querySelectorAll('.resultn'));
      +      var hits = Array.from(document.querySelectorAll('.hit[id^=Query_]'));
      +      // get the first visible element and marks it as the current query
      +      var topmostEl = queryElems.find(this.isElementInViewPort) || hits.find(this.isElementInViewPort);
      +      if (topmostEl) {
      +        var queryIndex = Number(topmostEl.id.match(/Query_(\d+)/)[1]);
      +        var hash = "#Query_".concat(queryIndex);
      +        // if we can guarantee that the browser can handle change in url hash without the page jumping,
      +        // then we update the url hash after scroll. else, hash is only updated on click of next or prev button
      +        if (window.history.pushState) {
      +          window.history.pushState(null, null, hash);
      +        }
      +        this.setState({
      +          queryIndex: queryIndex
      +        });
      +      }
      +    }
      +  }, {
      +    key: "animateAnchorElements",
      +    value: function animateAnchorElements(e) {
      +      // allow normal behavior in test mode to prevent warnings or errors from jquery
      +      if (isTestMode()) return;
      +      e.preventDefault();
      +      $('html, body').animate({
      +        scrollTop: $(this.hash).offset().top
      +      }, 300);
      +      if (window.history.pushState) {
      +        window.history.pushState(null, null, this.hash);
      +      } else {
      +        window.location.hash = this.hash;
      +      }
      +    }
      +  }, {
      +    key: "isElementInViewPort",
      +    value: function isElementInViewPort(elem) {
      +      var _elem$getBoundingClie = elem.getBoundingClientRect(),
      +        top = _elem$getBoundingClie.top,
      +        left = _elem$getBoundingClie.left,
      +        right = _elem$getBoundingClie.right,
      +        bottom = _elem$getBoundingClie.bottom;
      +      return top >= 0 && left >= 0 && bottom <= (window.innerHeight || document.documentElement.clientHeight) && right <= (window.innerWidth || document.documentElement.clientWidth);
      +    }
      +    /**
      +         * Clear sessionStorage - useful to initiate a new search in the same tab.
      +         * Passing sessionStorage.clear directly as onclick callback didn't work
      +         * (on macOS Chrome).
      +        */
      +  }, {
      +    key: "clearSession",
      +    value: function clearSession() {
      +      sessionStorage.clear();
      +    }
      +    /**
      +     *
      +     * handle next and previous query button clicks
      +     */
      +  }, {
      +    key: "handleQueryIndexChange",
      +    value: function handleQueryIndexChange(nextQuery) {
      +      if (nextQuery < 1 || nextQuery > this.props.data.queries.length) return;
      +      var anchorEl = document.createElement('a');
      +      //indexing at [nextQuery - 1] because array is 0-indexed
      +      anchorEl.setAttribute('href', '#Query_' + this.props.data.queries[nextQuery - 1].number);
      +      anchorEl.setAttribute('hidden', true);
      +      document.body.appendChild(anchorEl);
      +      // add smooth scrolling animation with jquery
      +      $(anchorEl).on('click', this.animateAnchorElements);
      +      anchorEl.click();
      +      document.body.removeChild(anchorEl);
      +      this.setState({
      +        queryIndex: nextQuery
      +      });
      +    }
      +    /**
      +     * Event-handler for downloading fasta of all hits.
      +     */
      +  }, {
      +    key: "downloadFastaOfAll",
      +    value: function downloadFastaOfAll() {
      +      var sequence_ids = [];
      +      this.props.data.queries.forEach(function (query) {
      +        return query.hits.forEach(function (hit) {
      +          return sequence_ids.push(hit.id);
      +        });
      +      });
      +      var database_ids = this.props.data.querydb.map(function (querydb) {
      +        return querydb.id;
      +      });
      +      (0,_download_fasta__WEBPACK_IMPORTED_MODULE_2__["default"])(sequence_ids, database_ids);
      +      return false;
      +    }
      +
      +    /**
      +     * Handles downloading fasta of selected hits.
      +     */
      +  }, {
      +    key: "downloadFastaOfSelected",
      +    value: function downloadFastaOfSelected() {
      +      var sequence_ids = $('.hit-links :checkbox:checked').map(function () {
      +        return this.value;
      +      }).get();
      +      if (sequence_ids.length === 0) {
      +        return false;
      +      }
      +      var database_ids = underscore__WEBPACK_IMPORTED_MODULE_1__["default"].map(this.props.data.querydb, underscore__WEBPACK_IMPORTED_MODULE_1__["default"].iteratee('id'));
      +      (0,_download_fasta__WEBPACK_IMPORTED_MODULE_2__["default"])(sequence_ids, database_ids);
      +      return false;
      +    }
      +
      +    /**
      +     * Handles copying the URL into the user's clipboard. Modified from: https://stackoverflow.com/a/49618964/18117380
      +     * Hides the 'Copied!' tooltip after 3 seconds
      +     */
      +  }, {
      +    key: "copyURL",
      +    value: function copyURL() {
      +      var element = document.createElement('input');
      +      var url = window.location.href;
      +      document.body.appendChild(element);
      +      element.value = url;
      +      element.select();
      +      document.execCommand('copy');
      +      document.body.removeChild(element);
      +      var tooltip = document.getElementById('tooltip');
      +      tooltip.classList.remove('hidden');
      +      setTimeout(function () {
      +        tooltip.classList.add('hidden');
      +      }, 3000);
      +    }
      +  }, {
      +    key: "shareCloudInit",
      +    value: function shareCloudInit() {
      +      this.cloudShareModal.current.show();
      +    }
      +  }, {
      +    key: "topPanelJSX",
      +    value: function topPanelJSX() {
      +      var path = location.pathname.split('/');
      +      // Get job id.
      +      var job_id = path.pop();
      +      // Deriving rootURL this way is required for subURI deployments
      +      // - we cannot just send to '/'.
      +      var rootURL = path.join('/');
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +        className: "sidebar-top-panel",
      +        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +          className: "pl-px table mb-0 w-full",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("h4", {
      +            className: "text-sm font-bold mb-0 mt-0.5",
      +            children: this.summaryString()
      +          })
      +        }), this.props.data.queries.length > 12 && this.queryIndexButtons(), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +          children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("a", {
      +            href: "".concat(rootURL, "/?job_id=").concat(job_id),
      +            className: "text-sm text-seqblue hover:text-seqorange cursor-pointer",
      +            children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i", {
      +              className: "fa fa-pencil"
      +            }), " Edit search"]
      +          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +            className: "text-seqorange px-1",
      +            children: "|"
      +          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("a", {
      +            href: "".concat(rootURL, "/"),
      +            onClick: this.clearSession,
      +            className: "text-sm text-seqblue hover:text-seqorange cursor-pointer",
      +            children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i", {
      +              className: "fa-regular fa-file"
      +            }), " New search"]
      +          })]
      +        }), this.props.shouldShowIndex && this.indexJSX()]
      +      });
      +    }
      +  }, {
      +    key: "summaryString",
      +    value: function summaryString() {
      +      var program = this.props.data.program;
      +      var numqueries = this.props.data.queries.length;
      +      var numquerydb = this.props.data.querydb.length;
      +      return program.toUpperCase() + ': ' + numqueries + ' ' + (numqueries > 1 ? 'queries' : 'query') + ', ' + numquerydb + ' ' + (numquerydb > 1 ? 'databases' : 'database');
      +    }
      +  }, {
      +    key: "queryIndexButtons",
      +    value: function queryIndexButtons() {
      +      var _this2 = this;
      +      var buttonStyle = {
      +        outline: 'none',
      +        border: 'none',
      +        background: 'none'
      +      };
      +      var buttonClasses = 'text-sm text-seqblue hover:text-seqorange hover:bg-gray-200';
      +      var handlePreviousBtnClick = function handlePreviousBtnClick() {
      +        return _this2.handleQueryIndexChange(_this2.state.queryIndex - 1);
      +      };
      +      var handleNextBtnClick = function handleNextBtnClick() {
      +        return _this2.handleQueryIndexChange(_this2.state.queryIndex + 1);
      +      };
      +
      +      // eslint-disable-next-line no-unused-vars
      +      var NavButton = function NavButton(_ref) {
      +        var text = _ref.text,
      +          onClick = _ref.onClick;
      +        return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("button", {
      +          className: buttonClasses,
      +          onClick: onClick,
      +          style: buttonStyle,
      +          children: text
      +        });
      +      };
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +        style: {
      +          display: 'flex',
      +          width: '100%',
      +          margin: '7px 0'
      +        },
      +        children: [this.state.queryIndex > 1 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(NavButton, {
      +          text: "Previous Query",
      +          onClick: handlePreviousBtnClick
      +        }), this.state.queryIndex > 1 && this.state.queryIndex < this.props.data.queries.length && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +          className: "text-seqorange px-1",
      +          children: "|"
      +        }), this.state.queryIndex < this.props.data.queries.length && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(NavButton, {
      +          onClick: handleNextBtnClick,
      +          text: "Next Query"
      +        })]
      +      });
      +    }
      +  }, {
      +    key: "indexJSX",
      +    value: function indexJSX() {
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("ul", {
      +        className: "w-full",
      +        children: [" ", underscore__WEBPACK_IMPORTED_MODULE_1__["default"].map(this.props.data.queries, function (query) {
      +          return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              className: "side-nav text-sm text-seqblue hover:text-seqorange focus:text-seqorange active:text-seqorange cursor-pointer hover-bold line-clamp-1 mb-1.5",
      +              title: 'Query= ' + query.id + ' ' + query.title,
      +              href: '#Query_' + query.number,
      +              children: 'Query= ' + query.id
      +            })
      +          }, 'Side_bar_' + query.id);
      +        })]
      +      });
      +    }
      +  }, {
      +    key: "downloadsPanelJSX",
      +    value: function downloadsPanelJSX() {
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +        className: "downloads",
      +        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +          className: "pl-px table mb-0 w-full",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("h4", {
      +            className: "text-sm font-bold mb-0 mt-2.5",
      +            children: "Download FASTA, XML, TSV"
      +          })
      +        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("ul", {
      +          children: [!(this.props.data.imported_xml || this.props.data.non_parse_seqids) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:bg-gray-200 mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              href: "#",
      +              className: "text-sm text-seqblue download-fasta-of-all hover:text-seqorange cursor-pointer py-0.5 px-0.5 ".concat(!this.props.atLeastOneHit && 'disabled'),
      +              onClick: this.props.atLeastOneHit ? this.downloadFastaOfAll : function (e) {
      +                return e.preventDefault();
      +              },
      +              children: "FASTA of all hits"
      +            })
      +          }), !(this.props.data.imported_xml || this.props.data.non_parse_seqids) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("a", {
      +              href: "#",
      +              className: "flex text-sm download-fasta-of-selected text-seqblue disabled py-0.5 px-0.5",
      +              onClick: this.downloadFastaOfSelected,
      +              children: ["FASTA of ", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                className: "font-bold px-0.5"
      +              }), " selected hit(s)"]
      +            })
      +          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:bg-gray-200 mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              href: "#",
      +              className: "text-sm text-seqblue download-alignment-of-all hover:text-seqorange cursor-pointer py-0.5 px-0.5 ".concat(!this.props.atLeastOneHit && 'disabled'),
      +              children: "Alignment of all hits"
      +            })
      +          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("a", {
      +              href: "#",
      +              className: "flex text-sm download-alignment-of-selected text-seqblue disabled py-0.5 px-0.5",
      +              children: ["Alignment of ", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                className: "font-bold px-0.5"
      +              }), " selected hit(s)"]
      +            })
      +          }), !this.props.data.imported_xml && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:bg-gray-200 mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              href: 'download/' + this.props.data.search_id + '.std_tsv',
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                className: "relative flex flex-col items-center group",
      +                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center w-full",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full text-sm text-seqblue hover:text-seqorange download cursor-pointer py-0.5 px-0.5",
      +                    children: "Standard tabular report"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                    className: "absolute hidden left-full ml-2 items-center group-hover:flex tooltip-wrap",
      +                    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                      className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                      className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                      children: "15 columns: query and subject ID; scientific name, alignment length, mismatches, gaps, identity, start and end coordinates, e value, bitscore, query coverage per subject and per HSP."
      +                    })]
      +                  })]
      +                })
      +              })
      +            })
      +          }), !this.props.data.imported_xml && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:bg-gray-200 mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              href: 'download/' + this.props.data.search_id + '.full_tsv',
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                className: "relative flex flex-col items-center group",
      +                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center w-full",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full text-sm text-seqblue hover:text-seqorange download cursor-pointer py-0.5 px-0.5",
      +                    children: "Full tabular report"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                    className: "absolute hidden left-full ml-2 items-center group-hover:flex tooltip-wrap",
      +                    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                      className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                      className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                      children: "44 columns: query and subject ID, GI, accessions, and length; alignment details; taxonomy details of subject sequence(s) and query coverage per subject and per HSP."
      +                    })]
      +                  })]
      +                })
      +              })
      +            })
      +          }), !this.props.data.imported_xml && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:bg-gray-200 mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              href: 'download/' + this.props.data.search_id + '.xml',
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                className: "relative flex flex-col items-center group",
      +                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center w-full",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full text-sm text-seqblue hover:text-seqorange download cursor-pointer py-0.5 px-0.5",
      +                    children: "Full XML report"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                    className: "absolute hidden left-full ml-2 items-center group-hover:flex tooltip-wrap",
      +                    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                      className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                      className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                      children: "Results in XML format."
      +                    })]
      +                  })]
      +                })
      +              })
      +            })
      +          }), !this.props.data.imported_xml && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:bg-gray-200 mb-1",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              href: 'download/' + this.props.data.search_id + '.pairwise',
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                className: "relative flex flex-col items-center group",
      +                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center w-full",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full text-sm text-seqblue hover:text-seqorange download cursor-pointer py-0.5 px-0.5",
      +                    children: "Full Text report"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                    className: "absolute hidden left-full ml-2 items-center group-hover:flex tooltip-wrap",
      +                    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                      className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                      className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                      children: "Results in text format."
      +                    })]
      +                  })]
      +                })
      +              })
      +            })
      +          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(download_links__WEBPACK_IMPORTED_MODULE_5__["default"], {
      +            imported_xml: this.props.data.imported_xml,
      +            search_id: this.props.data.search_id
      +          })]
      +        })]
      +      });
      +    }
      +  }, {
      +    key: "sharingPanelJSX",
      +    value: function sharingPanelJSX() {
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +        className: "sharing-panel",
      +        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +          className: "pl-px table mb-0 w-full",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("h4", {
      +            className: "text-sm font-bold mb-0 mt-2.5",
      +            children: "Share results"
      +          })
      +        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("ul", {
      +          children: [!this.props.cloudSharingEnabled && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:text-seqorange hover:bg-gray-200",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              id: "copyURL",
      +              className: "flex text-sm text-seqblue hover:text-seqorange copy-URL cursor-pointer py-0.5 px-0.5 w-full",
      +              onClick: this.copyURL,
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                className: "relative flex gap-2 items-center group w-full",
      +                children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i", {
      +                  className: "fa fa-copy"
      +                }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full",
      +                    children: "Copy URL to clipboard"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                    id: "tooltip",
      +                    className: "absolute hidden left-full ml-2 items-center",
      +                    children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                      className: "flex items-center",
      +                      children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                        className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                      }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                        className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                        children: "Copied!"
      +                      })]
      +                    })
      +                  })]
      +                })]
      +              })
      +            })
      +          }), !this.props.cloudSharingEnabled && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:text-seqorange hover:bg-gray-200",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +              id: "sendEmail",
      +              className: "flex text-sm text-seqblue hover:text-seqorange email-URL cursor-pointer py-0.5 px-0.5 w-full",
      +              href: (0,_mailto__WEBPACK_IMPORTED_MODULE_3__["default"])(this.props.data.querydb, this.props.data.program, this.props.data.queries.length, window.location.href),
      +              target: "_blank",
      +              rel: "noopener noreferrer",
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                className: "relative flex gap-2 items-center group w-full",
      +                children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i", {
      +                  className: "fa fa-envelope"
      +                }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center w-full",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full",
      +                    children: "Send by email"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                    className: "absolute hidden left-full ml-2 items-center group-hover:flex tooltip-wrap",
      +                    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                      className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                      className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                      children: "Send by email"
      +                    })]
      +                  })]
      +                })]
      +              })
      +            })
      +          }), this.props.cloudSharingEnabled && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("li", {
      +            className: "hover:text-seqorange hover:bg-gray-200",
      +            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("button", {
      +              className: "flex text-sm text-seqblue hover:text-seqorange cloud-Post cursor-pointer py-0.5 px-0.5 w-full",
      +              onClick: this.shareCloudInit,
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                className: "relative flex gap-2 items-center group w-full",
      +                children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("i", {
      +                  className: "fa fa-cloud"
      +                }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                  className: "flex items-center",
      +                  children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                    className: "w-full",
      +                    children: "Share to cloud"
      +                  }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +                    className: "absolute hidden left-full ml-2 items-center group-hover:flex tooltip-wrap",
      +                    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +                      className: "w-0 h-0 border-y-8 border-r-8 border-t-transparent border-b-transparent border-r-black -mr-px"
      +                    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("span", {
      +                      className: "relative z-10 p-2 side-tooltip-text leading-4 text-center text-white whitespace-no-wrap bg-black shadow-lg rounded-md",
      +                      children: "Results in pairwise format Upload results to SequenceServer Cloud where it will become accessable to everyone who has a link."
      +                    })]
      +                  })]
      +                })]
      +              })
      +            })
      +          })]
      +        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)(_cloud_share_modal__WEBPACK_IMPORTED_MODULE_4__["default"], {
      +          ref: this.cloudShareModal,
      +          querydb: this.props.data.querydb,
      +          program: this.props.data.program,
      +          queryLength: this.props.data.queries.length
      +        })]
      +      });
      +    }
      +  }, {
      +    key: "render",
      +    value: function render() {
      +      return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +        className: "sidebar sticky top-0",
      +        children: [this.topPanelJSX(), this.downloadsPanelJSX(), this.sharingPanelJSX(), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("div", {
      +          className: "referral-panel",
      +          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsxs)("div", {
      +            className: "pl-px table mb-0 w-full text-sm",
      +            children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("h4", {
      +              className: "font-bold mb-0 mt-2.5",
      +              children: "Recommend SequenceServer"
      +            }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("p", {
      +              children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_6__.jsx)("a", {
      +                href: "https://sequenceserver.com/referral-program",
      +                target: "_blank",
      +                className: "text-seqblue hover:text-seqorange",
      +                children: "Earn up to $400 per signup"
      +              })
      +            })]
      +          })
      +        })]
      +      });
      +    }
      +  }]);
      +}(react__WEBPACK_IMPORTED_MODULE_0__.Component);
      +
      +
      +/***/ }),
      +
      +/***/ "./public/js/svgExporter.js":
      +/*!**********************************!*\
      +  !*** ./public/js/svgExporter.js ***!
      +  \**********************************/
      +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
      +
      +"use strict";
      +__webpack_require__.r(__webpack_exports__);
      +/* harmony import */ var _exporter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./exporter */ "./public/js/exporter.js");
      +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "./node_modules/d3/src/index.js");
      +/* provided dependency */ var $ = __webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js");
      +/**
      + * svgExporter.js
      + *
      + * Exports  as .svg or .png.
      + *
      + * Borrowed and modified from Kablammo which in turn is based on
      + * https://github.com/NYTimes/svg-crowbar.
      + *
      + */
      +
      +
      +
      +/**
      + * Exports the given  DOM node as a .svg file.
      + */
      +var export_as_svg = function export_as_svg(svg, filename) {
      +  var blob = new Blob([serialize_svg(svg)], {
      +    type: 'text/xml'
      +  });
      +  filename = _exporter__WEBPACK_IMPORTED_MODULE_0__.sanitize_filename(filename) + '.svg';
      +  _exporter__WEBPACK_IMPORTED_MODULE_0__.download_blob(blob, filename);
      +};
      +
      +/**
      + * Exports the given  DOM node as a .png file.
      + */
      +var export_as_png = function export_as_png(svg, filename) {
      +  if (typeof window.navigator.msSaveOrOpenBlob !== 'undefined') {
      +    alert('Exporting PNG images is not supported in Internet Explorer. Please use Chrome or Firefox.');
      +    return;
      +  }
      +  var raster_scale_factor = 5;
      +  var canvas = document.getElementById('png-exporter');
      +  var $svg = $(svg);
      +  canvas.height = $svg.height() * raster_scale_factor;
      +  canvas.width = $svg.width() * raster_scale_factor;
      +  var img = new Image();
      +  img.onload = function () {
      +    var context = canvas.getContext('2d');
      +    context.drawImage(img, 0, 0, canvas.width, canvas.height);
      +    filename = _exporter__WEBPACK_IMPORTED_MODULE_0__.sanitize_filename(filename) + '.png';
      +    _exporter__WEBPACK_IMPORTED_MODULE_0__.download_url(canvas.toDataURL('image/png'), filename);
      +  };
      +  var svgString = serialize_svg(svg);
      +  var encodedSvg = encodeURIComponent(svgString).replace(/%([0-9A-F]{2})/gi, function (match, p1) {
      +    return String.fromCharCode('0x' + p1);
      +  });
      +  img.src = 'data:image/svg+xml;base64,' + window.btoa(encodedSvg);
      +};
      +var serialize_svg = function serialize_svg(svg) {
      +  // Clone svg first so that none of our changes to affect the actual SVG.
      +  svg = svg.cloneNode(true);
      +  d3__WEBPACK_IMPORTED_MODULE_1__.select(svg).attr('version', '1.1').insert('defs', ':first-child').append('style').attr('class', 'exported-css').attr('type', 'text/css').node().textContent = get_styles();
      +  svg.removeAttribute('xmlns');
      +  svg.removeAttribute('xlink');
      +  svg.setAttributeNS(d3__WEBPACK_IMPORTED_MODULE_1__.namespaces.xmlns, 'xmlns', d3__WEBPACK_IMPORTED_MODULE_1__.namespaces.svg);
      +  svg.setAttributeNS(d3__WEBPACK_IMPORTED_MODULE_1__.namespaces.xmlns, 'xmlns:xlink', d3__WEBPACK_IMPORTED_MODULE_1__.namespaces.xlink);
      +  var source = new XMLSerializer().serializeToString(svg);
      +  var doctype = '';
      +  return doctype + source;
      +};
      +var get_styles = function get_styles() {
      +  var styles = '';
      +  for (var i = 0; i < document.styleSheets.length; i++) {
      +    (function process_ss(ss) {
      +      // See if we can access ss.cssRules. Note that cssRules respects
      +      // same-origin policy, as per
      +      // https://code.google.com/p/chromium/issues/detail?id=49001#c10.
      +      try {
      +        // In IE and Chrome, if stylesheet originates from a different
      +        // domain, ss.cssRules simply won't exist. In Firefox, if
      +        // stylesheet originates from a different domain, trying
      +        // to access ss.cssRules will throw a SecurityError.
      +        // Hence, we must use // try/catch to detect this
      +        // condition in Firefox.
      +        if (!ss.cssRules) return;
      +      } catch (e) {
      +        // Rethrow exception if it's not a SecurityError.
      +        if (e.name !== 'SecurityError') throw e;
      +        return;
      +      }
      +
      +      // Stylesheet should be included in SVG and has accessible cssRules, so
      +      // serialize rules into string.
      +      for (var i = 0; i < ss.cssRules.length; i++) {
      +        var rule = ss.cssRules[i];
      +        if (rule.type === CSSRule.IMPORT_RULE) {
      +          process_ss(rule.styleSheet);
      +        } else {
      +          // TODO: Illustrator will crash on descendant selectors. To
      +          // circumvent this, we should ignore such selectors.
      +
      +          var selectorText = rule.selectorText;
      +          if (selectorText && selectorText.indexOf('svg') !== -1) styles += '\n' + rule.cssText;
      +        }
      +      }
      +    })(document.styleSheets[i]);
      +  }
      +  return styles;
      +};
      +var handle_click = function handle_click(export_callback) {
      +  return function () {
      +    var $svg = $(this).parents('.grapher').find('svg');
      +    export_callback($svg[0], $svg.attr('data-name'));
      +    return false;
      +  };
      +};
      +var $body = $('body');
      +$body.on('click', '.export-to-svg', handle_click(export_as_svg));
      +$body.on('click', '.export-to-png', handle_click(export_as_png));
      +
      +/***/ }),
      +
      +/***/ "./public/js/utils.js":
      +/*!****************************!*\
      +  !*** ./public/js/utils.js ***!
      +  \****************************/
      +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
      +
      +"use strict";
      +__webpack_require__.r(__webpack_exports__);
      +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
      +/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
      +/* harmony export */ });
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
      +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
      +/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/react/jsx-runtime.js");
      +
      +
      +var Utils = {
      +  /***********************************
      +   * Formatters for hits & hsp table *
      +   ***********************************/
      +
      +  // Formats an array of two elements as "first (last)".
      +  format_2_tuple: function format_2_tuple(tuple) {
      +    return tuple[0] + ' (' + tuple[tuple.length - 1] + ')';
      +  },
      +  /**
      +   * Returns fraction as percentage
      +   */
      +  inPercentage: function inPercentage(num, den) {
      +    var x = (num * 100.0 / den).toFixed(1);
      +    if (x % 1 == 0) {
      +      x = parseInt(x, 10);
      +      return "".concat(x, "%");
      +    } else {
      +      return "".concat(x, "%");
      +    }
      +  },
      +  /**
      +   * Returns fractional representation as String.
      +   */
      +  inFraction: function inFraction(num, den) {
      +    return num + '/' + den;
      +  },
      +  /**
      +   * Returns given Float as String formatted to two decimal places.
      +   */
      +  inTwoDecimal: function inTwoDecimal(num) {
      +    return num.toFixed(2);
      +  },
      +  /**
      +   * Returns zero if num is zero. Returns two decimal representation of num
      +   * if num is between [1..10). Returns num in scientific notation otherwise.
      +   */
      +  inExponential: function inExponential(num) {
      +    // Nothing to do if num is 0.
      +    if (num === 0) {
      +      return 0;
      +    }
      +
      +    // Round to two decimal places if in the rane [1..10).
      +    if (num >= 1 && num < 10) {
      +      return this.inTwoDecimal(num);
      +    }
      +
      +    // Return numbers in the range [0..1) and [10..Inf] in
      +    // scientific format.
      +    var exp = num.toExponential(2);
      +    var parts = exp.split('e');
      +    var base = parts[0];
      +    var power = parts[1];
      +    return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("span", {
      +      children: [base, "\xD710", /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("sup", {
      +        children: power
      +      })]
      +    });
      +  }
      +};
      +/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Utils);
      +
      +/***/ }),
      +
      +/***/ "./public/js/visualisation_helpers.js":
      +/*!********************************************!*\
      +  !*** ./public/js/visualisation_helpers.js ***!
      +  \********************************************/
      +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
      +
      +"use strict";
      +__webpack_require__.r(__webpack_exports__);
      +/* harmony export */ __webpack_require__.d(__webpack_exports__, {
      +/* harmony export */   getPrefix: () => (/* binding */ getPrefix),
      +/* harmony export */   get_colors_for_evalue: () => (/* binding */ get_colors_for_evalue),
      +/* harmony export */   get_seq_type: () => (/* binding */ get_seq_type),
      +/* harmony export */   prettify_evalue: () => (/* binding */ prettify_evalue),
      +/* harmony export */   tick_formatter: () => (/* binding */ tick_formatter),
      +/* harmony export */   toLetters: () => (/* binding */ toLetters)
      +/* harmony export */ });
      +/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! underscore */ "./node_modules/underscore/modules/index-all.js");
      +/* harmony import */ var d3__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! d3 */ "./node_modules/d3/src/index.js");
      +
      +
      +function get_colors_for_evalue(evalue, hits) {
      +  var colors = d3__WEBPACK_IMPORTED_MODULE_1__.scaleLog().domain([d3__WEBPACK_IMPORTED_MODULE_1__.min([1e-5, d3__WEBPACK_IMPORTED_MODULE_1__.min(hits.map(function (d) {
      +    if (parseFloat(d.evalue) === 0.0) return undefined;
      +    return d.evalue;
      +  }))]), d3__WEBPACK_IMPORTED_MODULE_1__.max(hits.map(function (d) {
      +    return d.evalue;
      +  }))]).range([0, 0.8]);
      +  var rgb = colors(evalue);
      +  return d3__WEBPACK_IMPORTED_MODULE_1__.hsl(20, 0.82, rgb);
      +}
      +function toLetters(num) {
      +  var mod = num % 26,
      +    pow = num / 26 | 0,
      +    out = mod ? String.fromCharCode(96 + mod) : (--pow, 'z');
      +  return pow ? toLetters(pow) + out : out;
      +}
      +function getPrefix(str) {
      +  if (str.length === 0) return '';
      +  var lastChar = str.charAt(str.length - 1);
      +  return /[a-zA-Z]/.test(lastChar) ? lastChar : '';
      +}
      +
      +/**
      + * Defines how ticks will be formatted.
      + *
      + * Examples: 200 aa, 2.4 kbp, 7.6 Mbp.
      + *
      + * Borrowed from Kablammo. Modified by Priyam based on https://github.com/mbostock/d3/issues/1722.
      + */
      +function tick_formatter(scale, seq_type) {
      +  var prefix = d3__WEBPACK_IMPORTED_MODULE_1__.format('~s');
      +  var suffixes = {
      +    amino_acid: 'aa',
      +    nucleic_acid: 'bp'
      +  };
      +  return function (d) {
      +    return "".concat(prefix(d)).concat(suffixes[seq_type]).replace(/([a-zA-Z]+)/, ' $1');
      +  };
      +}
      +function get_seq_type(algorithm) {
      +  var SEQ_TYPES = {
      +    blastn: {
      +      query_seq_type: 'nucleic_acid',
      +      subject_seq_type: 'nucleic_acid'
      +    },
      +    blastp: {
      +      query_seq_type: 'amino_acid',
      +      subject_seq_type: 'amino_acid'
      +    },
      +    blastx: {
      +      query_seq_type: 'nucleic_acid',
      +      subject_seq_type: 'amino_acid'
      +    },
      +    tblastx: {
      +      query_seq_type: 'nucleic_acid',
      +      subject_seq_type: 'nucleic_acid'
      +    },
      +    tblastn: {
      +      query_seq_type: 'amino_acid',
      +      subject_seq_type: 'nucleic_acid'
      +    }
      +  };
      +  return SEQ_TYPES[algorithm];
      +}
      +function prettify_evalue(evalue) {
      +  var matches = evalue.toString().split('e');
      +  var base = matches[0];
      +  var power = matches[1];
      +  if (power) {
      +    var s = parseFloat(base).toFixed(2);
      +    var element = '' + s + ' × 10' + power + '';
      +    return element;
      +  } else {
      +    if (!(base % 1 == 0)) return parseFloat(base).toFixed(2);else return base;
      +  }
      +}
      +
      +/***/ }),
      +
      +/***/ "./public/packages/jquery-ui@1.13.3.js":
      +/*!*********************************************!*\
      +  !*** ./public/packages/jquery-ui@1.13.3.js ***!
      +  \*********************************************/
      +/***/ ((module, exports, __webpack_require__) => {
      +
      +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}/*! jQuery UI - v1.13.3 - 2024-04-26
      +* https://jqueryui.com
      +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
      +* Copyright OpenJS Foundation and other contributors; Licensed MIT */(function(factory){"use strict";if(true){// AMD. Register as an anonymous module.
      +!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! jquery */ "./node_modules/jquery/dist/jquery.js")], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
      +		__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
      +		(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
      +		__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));}else{}})(function($){"use strict";$.ui=$.ui||{};var version=$.ui.version="1.13.3";/*!
      + * jQuery UI Widget 1.13.3
      + * https://jqueryui.com
      + *
      + * Copyright OpenJS Foundation and other contributors
      + * Released under the MIT license.
      + * https://jquery.org/license
      + */ //>>label: Widget
      +//>>group: Core
      +//>>description: Provides a factory for creating stateful widgets with a common API.
      +//>>docs: https://api.jqueryui.com/jQuery.widget/
      +//>>demos: https://jqueryui.com/widget/
      +var widgetUuid=0;var widgetHasOwnProperty=Array.prototype.hasOwnProperty;var widgetSlice=Array.prototype.slice;$.cleanData=function(orig){return function(elems){var events,elem,i;for(i=0;(elem=elems[i])!=null;i++){// Only trigger remove when necessary to save time
      +events=$._data(elem,"events");if(events&&events.remove){$(elem).triggerHandler("remove");}}orig(elems);};}($.cleanData);$.widget=function(name,base,prototype){var existingConstructor,constructor,basePrototype;// ProxiedPrototype allows the provided prototype to remain unmodified
      +// so that it can be used as a mixin for multiple widgets (#8876)
      +var proxiedPrototype={};var namespace=name.split(".")[0];name=name.split(".")[1];var fullName=namespace+"-"+name;if(!prototype){prototype=base;base=$.Widget;}if(Array.isArray(prototype)){prototype=$.extend.apply(null,[{}].concat(prototype));}// Create selector for plugin
      +$.expr.pseudos[fullName.toLowerCase()]=function(elem){return!!$.data(elem,fullName);};$[namespace]=$[namespace]||{};existingConstructor=$[namespace][name];constructor=$[namespace][name]=function(options,element){// Allow instantiation without "new" keyword
      +if(!this||!this._createWidget){return new constructor(options,element);}// Allow instantiation without initializing for simple inheritance
      +// must use "new" keyword (the code above always passes args)
      +if(arguments.length){this._createWidget(options,element);}};// Extend with the existing constructor to carry over any static properties
      +$.extend(constructor,existingConstructor,{version:prototype.version,// Copy the object used to create the prototype in case we need to
      +// redefine the widget later
      +_proto:$.extend({},prototype),// Track widgets that inherit from this widget in case this widget is
      +// redefined after a widget inherits from it
      +_childConstructors:[]});basePrototype=new base();// We need to make the options hash a property directly on the new instance
      +// otherwise we'll modify the options hash on the prototype that we're
      +// inheriting from
      +basePrototype.options=$.widget.extend({},basePrototype.options);$.each(prototype,function(prop,value){if(typeof value!=="function"){proxiedPrototype[prop]=value;return;}proxiedPrototype[prop]=function(){function _super(){return base.prototype[prop].apply(this,arguments);}function _superApply(args){return base.prototype[prop].apply(this,args);}return function(){var __super=this._super;var __superApply=this._superApply;var returnValue;this._super=_super;this._superApply=_superApply;returnValue=value.apply(this,arguments);this._super=__super;this._superApply=__superApply;return returnValue;};}();});constructor.prototype=$.widget.extend(basePrototype,{// TODO: remove support for widgetEventPrefix
      +// always use the name + a colon as the prefix, e.g., draggable:start
      +// don't prefix for widgets that aren't DOM-based
      +widgetEventPrefix:existingConstructor?basePrototype.widgetEventPrefix||name:name},proxiedPrototype,{constructor:constructor,namespace:namespace,widgetName:name,widgetFullName:fullName});// If this widget is being redefined then we need to find all widgets that
      +// are inheriting from it and redefine all of them so that they inherit from
      +// the new version of this widget. We're essentially trying to replace one
      +// level in the prototype chain.
      +if(existingConstructor){$.each(existingConstructor._childConstructors,function(i,child){var childPrototype=child.prototype;// Redefine the child widget using the same prototype that was
      +// originally used, but inherit from the new version of the base
      +$.widget(childPrototype.namespace+"."+childPrototype.widgetName,constructor,child._proto);});// Remove the list of existing child constructors from the old constructor
      +// so the old child constructors can be garbage collected
      +delete existingConstructor._childConstructors;}else{base._childConstructors.push(constructor);}$.widget.bridge(name,constructor);return constructor;};$.widget.extend=function(target){var input=widgetSlice.call(arguments,1);var inputIndex=0;var inputLength=input.length;var key;var value;for(;inputIndex",options:{classes:{},disabled:false,// Callbacks
      +create:null},_createWidget:function _createWidget(options,element){element=$(element||this.defaultElement||this)[0];this.element=$(element);this.uuid=widgetUuid++;this.eventNamespace="."+this.widgetName+this.uuid;this.bindings=$();this.hoverable=$();this.focusable=$();this.classesElementLookup={};if(element!==this){$.data(element,this.widgetFullName,this);this._on(true,this.element,{remove:function remove(event){if(event.target===element){this.destroy();}}});this.document=$(element.style?// Element within the document
      +element.ownerDocument:// Element is window or document
      +element.document||element);this.window=$(this.document[0].defaultView||this.document[0].parentWindow);}this.options=$.widget.extend({},this.options,this._getCreateOptions(),options);this._create();if(this.options.disabled){this._setOptionDisabled(this.options.disabled);}this._trigger("create",null,this._getCreateEventData());this._init();},_getCreateOptions:function _getCreateOptions(){return{};},_getCreateEventData:$.noop,_create:$.noop,_init:$.noop,destroy:function destroy(){var that=this;this._destroy();$.each(this.classesElementLookup,function(key,value){that._removeClass(value,key);});// We can probably remove the unbind calls in 2.0
      +// all event bindings should go through this._on()
      +this.element.off(this.eventNamespace).removeData(this.widgetFullName);this.widget().off(this.eventNamespace).removeAttr("aria-disabled");// Clean up events and states
      +this.bindings.off(this.eventNamespace);},_destroy:$.noop,widget:function widget(){return this.element;},option:function option(key,value){var options=key;var parts;var curOption;var i;if(arguments.length===0){// Don't return a reference to the internal hash
      +return $.widget.extend({},this.options);}if(typeof key==="string"){// Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
      +options={};parts=key.split(".");key=parts.shift();if(parts.length){curOption=options[key]=$.widget.extend({},this.options[key]);for(i=0;i>label: Position
      +//>>group: Core
      +//>>description: Positions elements relative to other elements.
      +//>>docs: https://api.jqueryui.com/position/
      +//>>demos: https://jqueryui.com/position/
      +(function(){var cachedScrollbarWidth,max=Math.max,abs=Math.abs,rhorizontal=/left|center|right/,rvertical=/top|center|bottom/,roffset=/[\+\-]\d+(\.[\d]+)?%?/,rposition=/^\w+/,rpercent=/%$/,_position=$.fn.position;function getOffsets(offsets,width,height){return[parseFloat(offsets[0])*(rpercent.test(offsets[0])?width/100:1),parseFloat(offsets[1])*(rpercent.test(offsets[1])?height/100:1)];}function parseCss(element,property){return parseInt($.css(element,property),10)||0;}function isWindow(obj){return obj!=null&&obj===obj.window;}function getDimensions(elem){var raw=elem[0];if(raw.nodeType===9){return{width:elem.width(),height:elem.height(),offset:{top:0,left:0}};}if(isWindow(raw)){return{width:elem.width(),height:elem.height(),offset:{top:elem.scrollTop(),left:elem.scrollLeft()}};}if(raw.preventDefault){return{width:0,height:0,offset:{top:raw.pageY,left:raw.pageX}};}return{width:elem.outerWidth(),height:elem.outerHeight(),offset:elem.offset()};}$.position={scrollbarWidth:function scrollbarWidth(){if(cachedScrollbarWidth!==undefined){return cachedScrollbarWidth;}var w1,w2,div=$("
      "+"
      "),innerDiv=div.children()[0];$("body").append(div);w1=innerDiv.offsetWidth;div.css("overflow","scroll");w2=innerDiv.offsetWidth;if(w1===w2){w2=div[0].clientWidth;}div.remove();return cachedScrollbarWidth=w1-w2;},getScrollInfo:function getScrollInfo(within){var overflowX=within.isWindow||within.isDocument?"":within.element.css("overflow-x"),overflowY=within.isWindow||within.isDocument?"":within.element.css("overflow-y"),hasOverflowX=overflowX==="scroll"||overflowX==="auto"&&within.width0?"right":"center",vertical:bottom<0?"top":top>0?"bottom":"middle"};if(targetWidthmax(abs(top),abs(bottom))){feedback.important="horizontal";}else{feedback.important="vertical";}options.using.call(this,props,feedback);};}elem.offset($.extend(position,{using:using}));});};$.ui.position={fit:{left:function left(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollLeft:within.offset.left,outerWidth=within.width,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=withinOffset-collisionPosLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-withinOffset,newOverRight;// Element is wider than within +if(data.collisionWidth>outerWidth){// Element is initially over the left side of within +if(overLeft>0&&overRight<=0){newOverRight=position.left+overLeft+data.collisionWidth-outerWidth-withinOffset;position.left+=overLeft-newOverRight;// Element is initially over right side of within +}else if(overRight>0&&overLeft<=0){position.left=withinOffset;// Element is initially over both left and right sides of within +}else{if(overLeft>overRight){position.left=withinOffset+outerWidth-data.collisionWidth;}else{position.left=withinOffset;}}// Too far left -> align with left edge +}else if(overLeft>0){position.left+=overLeft;// Too far right -> align with right edge +}else if(overRight>0){position.left-=overRight;// Adjust based on position and margin +}else{position.left=max(position.left-collisionPosLeft,position.left);}},top:function top(position,data){var within=data.within,withinOffset=within.isWindow?within.scrollTop:within.offset.top,outerHeight=data.within.height,collisionPosTop=position.top-data.collisionPosition.marginTop,overTop=withinOffset-collisionPosTop,overBottom=collisionPosTop+data.collisionHeight-outerHeight-withinOffset,newOverBottom;// Element is taller than within +if(data.collisionHeight>outerHeight){// Element is initially over the top of within +if(overTop>0&&overBottom<=0){newOverBottom=position.top+overTop+data.collisionHeight-outerHeight-withinOffset;position.top+=overTop-newOverBottom;// Element is initially over bottom of within +}else if(overBottom>0&&overTop<=0){position.top=withinOffset;// Element is initially over both top and bottom of within +}else{if(overTop>overBottom){position.top=withinOffset+outerHeight-data.collisionHeight;}else{position.top=withinOffset;}}// Too far up -> align with top +}else if(overTop>0){position.top+=overTop;// Too far down -> align with bottom edge +}else if(overBottom>0){position.top-=overBottom;// Adjust based on position and margin +}else{position.top=max(position.top-collisionPosTop,position.top);}}},flip:{left:function left(position,data){var within=data.within,withinOffset=within.offset.left+within.scrollLeft,outerWidth=within.width,offsetLeft=within.isWindow?within.scrollLeft:within.offset.left,collisionPosLeft=position.left-data.collisionPosition.marginLeft,overLeft=collisionPosLeft-offsetLeft,overRight=collisionPosLeft+data.collisionWidth-outerWidth-offsetLeft,myOffset=data.my[0]==="left"?-data.elemWidth:data.my[0]==="right"?data.elemWidth:0,atOffset=data.at[0]==="left"?data.targetWidth:data.at[0]==="right"?-data.targetWidth:0,offset=-2*data.offset[0],newOverRight,newOverLeft;if(overLeft<0){newOverRight=position.left+myOffset+atOffset+offset+data.collisionWidth-outerWidth-withinOffset;if(newOverRight<0||newOverRight0){newOverLeft=position.left-data.collisionPosition.marginLeft+myOffset+atOffset+offset-offsetLeft;if(newOverLeft>0||abs(newOverLeft)0){newOverTop=position.top-data.collisionPosition.marginTop+myOffset+atOffset+offset-offsetTop;if(newOverTop>0||abs(newOverTop)>label: :data Selector +//>>group: Core +//>>description: Selects elements which have data stored under the specified key. +//>>docs: https://api.jqueryui.com/data-selector/ +var data=$.extend($.expr.pseudos,{data:$.expr.createPseudo?$.expr.createPseudo(function(dataName){return function(elem){return!!$.data(elem,dataName);};}):// Support: jQuery <1.8 +function(elem,i,match){return!!$.data(elem,match[3]);}});/*! + * jQuery UI Disable Selection 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: disableSelection +//>>group: Core +//>>description: Disable selection of text content within the set of matched elements. +//>>docs: https://api.jqueryui.com/disableSelection/ +// This file is deprecated +var disableSelection=$.fn.extend({disableSelection:function(){var eventType="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(eventType+".ui-disableSelection",function(event){event.preventDefault();});};}(),enableSelection:function enableSelection(){return this.off(".ui-disableSelection");}});// Create a local jQuery because jQuery Color relies on it and the +// global may not exist with AMD and a custom build (#10199). +// This module is a noop if used as a regular AMD module. +// eslint-disable-next-line no-unused-vars +var jQuery=$;/*! + * jQuery Color Animations v2.2.0 + * https://github.com/jquery/jquery-color + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + * + * Date: Sun May 10 09:02:36 2020 +0200 + */var stepHooks="backgroundColor borderBottomColor borderLeftColor borderRightColor "+"borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",class2type={},toString=class2type.toString,// plusequals test for += 100 -= 100 +rplusequals=/^([\-+])=\s*(\d+\.?\d*)/,// a set of RE's that can match strings and generate color tuples. +stringParsers=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function parse(execResult){return[execResult[1],execResult[2],execResult[3],execResult[4]];}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function parse(execResult){return[execResult[1]*2.55,execResult[2]*2.55,execResult[3]*2.55,execResult[4]];}},{// this regex ignores A-F because it's compared against an already lowercased string +re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?/,parse:function parse(execResult){return[parseInt(execResult[1],16),parseInt(execResult[2],16),parseInt(execResult[3],16),execResult[4]?(parseInt(execResult[4],16)/255).toFixed(2):1];}},{// this regex ignores A-F because it's compared against an already lowercased string +re:/#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?/,parse:function parse(execResult){return[parseInt(execResult[1]+execResult[1],16),parseInt(execResult[2]+execResult[2],16),parseInt(execResult[3]+execResult[3],16),execResult[4]?(parseInt(execResult[4]+execResult[4],16)/255).toFixed(2):1];}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function parse(execResult){return[execResult[1],execResult[2]/100,execResult[3]/100,execResult[4]];}}],// jQuery.Color( ) +color=jQuery.Color=function(color,green,blue,alpha){return new jQuery.Color.fn.parse(color,green,blue,alpha);},spaces={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},propTypes={"byte":{floor:true,max:255},"percent":{max:1},"degrees":{mod:360,floor:true}},support=color.support={},// element for support tests +supportElem=jQuery("

      ")[0],// colors = jQuery.Color.names +colors,// local aliases of functions called often +each=jQuery.each;// determine rgba support immediately +supportElem.style.cssText="background-color:rgba(1,1,1,.5)";support.rgba=supportElem.style.backgroundColor.indexOf("rgba")>-1;// define cache name and alpha properties +// for rgba and hsla spaces +each(spaces,function(spaceName,space){space.cache="_"+spaceName;space.props.alpha={idx:3,type:"percent",def:1};});// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(_i,name){class2type["[object "+name+"]"]=name.toLowerCase();});function getType(obj){if(obj==null){return obj+"";}return _typeof(obj)==="object"?class2type[toString.call(obj)]||"object":_typeof(obj);}function clamp(value,prop,allowEmpty){var type=propTypes[prop.type]||{};if(value==null){return allowEmpty||!prop.def?null:prop.def;}// ~~ is an short way of doing floor for positive numbers +value=type.floor?~~value:parseFloat(value);// IE will pass in empty strings as value for alpha, +// which will hit this case +if(isNaN(value)){return prop.def;}if(type.mod){// we add mod before modding to make sure that negatives values +// get converted properly: -10 -> 350 +return(value+type.mod)%type.mod;}// for now all property types without mod have min and max +return Math.min(type.max,Math.max(0,value));}function stringParse(string){var inst=color(),rgba=inst._rgba=[];string=string.toLowerCase();each(stringParsers,function(_i,parser){var parsed,match=parser.re.exec(string),values=match&&parser.parse(match),spaceName=parser.space||"rgba";if(values){parsed=inst[spaceName](values);// if this was an rgba parse the assignment might happen twice +// oh well.... +inst[spaces[spaceName].cache]=parsed[spaces[spaceName].cache];rgba=inst._rgba=parsed._rgba;// exit each( stringParsers ) here because we matched +return false;}});// Found a stringParser that handled it +if(rgba.length){// if this came from a parsed string, force "transparent" when alpha is 0 +// chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) +if(rgba.join()==="0,0,0,0"){jQuery.extend(rgba,colors.transparent);}return inst;}// named colors +return colors[string];}color.fn=jQuery.extend(color.prototype,{parse:function parse(red,green,blue,alpha){if(red===undefined){this._rgba=[null,null,null,null];return this;}if(red.jquery||red.nodeType){red=jQuery(red).css(green);green=undefined;}var inst=this,type=getType(red),rgba=this._rgba=[];// more than 1 argument specified - assume ( red, green, blue, alpha ) +if(green!==undefined){red=[red,green,blue,alpha];type="array";}if(type==="string"){return this.parse(stringParse(red)||colors._default);}if(type==="array"){each(spaces.rgba.props,function(_key,prop){rgba[prop.idx]=clamp(red[prop.idx],prop);});return this;}if(type==="object"){if(red instanceof color){each(spaces,function(_spaceName,space){if(red[space.cache]){inst[space.cache]=red[space.cache].slice();}});}else{each(spaces,function(_spaceName,space){var cache=space.cache;each(space.props,function(key,prop){// if the cache doesn't exist, and we know how to convert +if(!inst[cache]&&space.to){// if the value was null, we don't need to copy it +// if the key was alpha, we don't need to copy it either +if(key==="alpha"||red[key]==null){return;}inst[cache]=space.to(inst._rgba);}// this is the only case where we allow nulls for ALL properties. +// call clamp with alwaysAllowEmpty +inst[cache][prop.idx]=clamp(red[key],prop,true);});// everything defined but alpha? +if(inst[cache]&&jQuery.inArray(null,inst[cache].slice(0,3))<0){// use the default of 1 +if(inst[cache][3]==null){inst[cache][3]=1;}if(space.from){inst._rgba=space.from(inst[cache]);}}});}return this;}},is:function is(compare){var is=color(compare),same=true,inst=this;each(spaces,function(_,space){var localCache,isCache=is[space.cache];if(isCache){localCache=inst[space.cache]||space.to&&space.to(inst._rgba)||[];each(space.props,function(_,prop){if(isCache[prop.idx]!=null){same=isCache[prop.idx]===localCache[prop.idx];return same;}});}return same;});return same;},_space:function _space(){var used=[],inst=this;each(spaces,function(spaceName,space){if(inst[space.cache]){used.push(spaceName);}});return used.pop();},transition:function transition(other,distance){var end=color(other),spaceName=end._space(),space=spaces[spaceName],startColor=this.alpha()===0?color("transparent"):this,start=startColor[space.cache]||space.to(startColor._rgba),result=start.slice();end=end[space.cache];each(space.props,function(_key,prop){var index=prop.idx,startValue=start[index],endValue=end[index],type=propTypes[prop.type]||{};// if null, don't override start value +if(endValue===null){return;}// if null - use end +if(startValue===null){result[index]=endValue;}else{if(type.mod){if(endValue-startValue>type.mod/2){startValue+=type.mod;}else if(startValue-endValue>type.mod/2){startValue-=type.mod;}}result[index]=clamp((endValue-startValue)*distance+startValue,prop);}});return this[spaceName](result);},blend:function blend(opaque){// if we are already opaque - return ourself +if(this._rgba[3]===1){return this;}var rgb=this._rgba.slice(),a=rgb.pop(),blend=color(opaque)._rgba;return color(jQuery.map(rgb,function(v,i){return(1-a)*blend[i]+a*v;}));},toRgbaString:function toRgbaString(){var prefix="rgba(",rgba=jQuery.map(this._rgba,function(v,i){if(v!=null){return v;}return i>2?1:0;});if(rgba[3]===1){rgba.pop();prefix="rgb(";}return prefix+rgba.join()+")";},toHslaString:function toHslaString(){var prefix="hsla(",hsla=jQuery.map(this.hsla(),function(v,i){if(v==null){v=i>2?1:0;}// catch 1 and 2 +if(i&&i<3){v=Math.round(v*100)+"%";}return v;});if(hsla[3]===1){hsla.pop();prefix="hsl(";}return prefix+hsla.join()+")";},toHexString:function toHexString(includeAlpha){var rgba=this._rgba.slice(),alpha=rgba.pop();if(includeAlpha){rgba.push(~~(alpha*255));}return"#"+jQuery.map(rgba,function(v){// default to 0 when nulls exist +v=(v||0).toString(16);return v.length===1?"0"+v:v;}).join("");},toString:function toString(){return this._rgba[3]===0?"transparent":this.toRgbaString();}});color.fn.parse.prototype=color.fn;// hsla conversions adapted from: +// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 +function hue2rgb(p,q,h){h=(h+1)%1;if(h*6<1){return p+(q-p)*h*6;}if(h*2<1){return q;}if(h*3<2){return p+(q-p)*(2/3-h)*6;}return p;}spaces.hsla.to=function(rgba){if(rgba[0]==null||rgba[1]==null||rgba[2]==null){return[null,null,null,rgba[3]];}var r=rgba[0]/255,g=rgba[1]/255,b=rgba[2]/255,a=rgba[3],max=Math.max(r,g,b),min=Math.min(r,g,b),diff=max-min,add=max+min,l=add*0.5,h,s;if(min===max){h=0;}else if(r===max){h=60*(g-b)/diff+360;}else if(g===max){h=60*(b-r)/diff+120;}else{h=60*(r-g)/diff+240;}// chroma (diff) == 0 means greyscale which, by definition, saturation = 0% +// otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) +if(diff===0){s=0;}else if(l<=0.5){s=diff/add;}else{s=diff/(2-add);}return[Math.round(h)%360,s,l,a==null?1:a];};spaces.hsla.from=function(hsla){if(hsla[0]==null||hsla[1]==null||hsla[2]==null){return[null,null,null,hsla[3]];}var h=hsla[0]/360,s=hsla[1],l=hsla[2],a=hsla[3],q=l<=0.5?l*(1+s):l+s-l*s,p=2*l-q;return[Math.round(hue2rgb(p,q,h+1/3)*255),Math.round(hue2rgb(p,q,h)*255),Math.round(hue2rgb(p,q,h-1/3)*255),a];};each(spaces,function(spaceName,space){var props=space.props,cache=space.cache,to=space.to,from=space.from;// makes rgba() and hsla() +color.fn[spaceName]=function(value){// generate a cache for this space if it doesn't exist +if(to&&!this[cache]){this[cache]=to(this._rgba);}if(value===undefined){return this[cache].slice();}var ret,type=getType(value),arr=type==="array"||type==="object"?value:arguments,local=this[cache].slice();each(props,function(key,prop){var val=arr[type==="object"?key:prop.idx];if(val==null){val=local[prop.idx];}local[prop.idx]=clamp(val,prop);});if(from){ret=color(from(local));ret[cache]=local;return ret;}else{return color(local);}};// makes red() green() blue() alpha() hue() saturation() lightness() +each(props,function(key,prop){// alpha is included in more than one space +if(color.fn[key]){return;}color.fn[key]=function(value){var local,cur,match,fn,vtype=getType(value);if(key==="alpha"){fn=this._hsla?"hsla":"rgba";}else{fn=spaceName;}local=this[fn]();cur=local[prop.idx];if(vtype==="undefined"){return cur;}if(vtype==="function"){value=value.call(this,cur);vtype=getType(value);}if(value==null&&prop.empty){return this;}if(vtype==="string"){match=rplusequals.exec(value);if(match){value=cur+parseFloat(match[2])*(match[1]==="+"?1:-1);}}local[prop.idx]=value;return this[fn](local);};});});// add cssHook and .fx.step function for each named hook. +// accept a space separated string of properties +color.hook=function(hook){var hooks=hook.split(" ");each(hooks,function(_i,hook){jQuery.cssHooks[hook]={set:function set(elem,value){var parsed,curElem,backgroundColor="";if(value!=="transparent"&&(getType(value)!=="string"||(parsed=stringParse(value)))){value=color(parsed||value);if(!support.rgba&&value._rgba[3]!==1){curElem=hook==="backgroundColor"?elem.parentNode:elem;while((backgroundColor===""||backgroundColor==="transparent")&&curElem&&curElem.style){try{backgroundColor=jQuery.css(curElem,"backgroundColor");curElem=curElem.parentNode;}catch(e){}}value=value.blend(backgroundColor&&backgroundColor!=="transparent"?backgroundColor:"_default");}value=value.toRgbaString();}try{elem.style[hook]=value;}catch(e){// wrapped to prevent IE from throwing errors on "invalid" values like 'auto' or 'inherit' +}}};jQuery.fx.step[hook]=function(fx){if(!fx.colorInit){fx.start=color(fx.elem,hook);fx.end=color(fx.end);fx.colorInit=true;}jQuery.cssHooks[hook].set(fx.elem,fx.start.transition(fx.end,fx.pos));};});};color.hook(stepHooks);jQuery.cssHooks.borderColor={expand:function expand(value){var expanded={};each(["Top","Right","Bottom","Left"],function(_i,part){expanded["border"+part+"Color"]=value;});return expanded;}};// Basic color names only. +// Usage of any of the other color names requires adding yourself or including +// jquery.color.svg-names.js. +colors=jQuery.Color.names={// 4.1. Basic color keywords +aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",// 4.2.3. "transparent" color keyword +transparent:[null,null,null,0],_default:"#ffffff"};/*! + * jQuery UI Effects 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Effects Core +//>>group: Effects +/* eslint-disable max-len */ //>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects. +/* eslint-enable max-len */ //>>docs: https://api.jqueryui.com/category/effects-core/ +//>>demos: https://jqueryui.com/effect/ +var dataSpace="ui-effects-",dataSpaceStyle="ui-effects-style",dataSpaceAnimated="ui-effects-animated";$.effects={effect:{}};/******************************************************************************/ /****************************** CLASS ANIMATIONS ******************************/ /******************************************************************************/(function(){var classAnimationActions=["add","remove","toggle"],shorthandStyles={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};$.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(_,prop){$.fx.step[prop]=function(fx){if(fx.end!=="none"&&!fx.setAttr||fx.pos===1&&!fx.setAttr){jQuery.style(fx.elem,prop,fx.end);fx.setAttr=true;}};});function camelCase(string){return string.replace(/-([\da-z])/gi,function(all,letter){return letter.toUpperCase();});}function getElementStyles(elem){var key,len,style=elem.ownerDocument.defaultView?elem.ownerDocument.defaultView.getComputedStyle(elem,null):elem.currentStyle,styles={};if(style&&style.length&&style[0]&&style[style[0]]){len=style.length;while(len--){key=style[len];if(typeof style[key]==="string"){styles[camelCase(key)]=style[key];}}// Support: Opera, IE <9 +}else{for(key in style){if(typeof style[key]==="string"){styles[key]=style[key];}}}return styles;}function styleDifference(oldStyle,newStyle){var diff={},name,value;for(name in newStyle){value=newStyle[name];if(oldStyle[name]!==value){if(!shorthandStyles[name]){if($.fx.step[name]||!isNaN(parseFloat(value))){diff[name]=value;}}}}return diff;}// Support: jQuery <1.8 +if(!$.fn.addBack){$.fn.addBack=function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector));};}$.effects.animateClass=function(value,duration,easing,callback){var o=$.speed(duration,easing,callback);return this.queue(function(){var animated=$(this),baseClass=animated.attr("class")||"",applyClassChange,allAnimations=o.children?animated.find("*").addBack():animated;// Map the animated objects to store the original styles. +allAnimations=allAnimations.map(function(){var el=$(this);return{el:el,start:getElementStyles(this)};});// Apply class change +applyClassChange=function applyClassChange(){$.each(classAnimationActions,function(i,action){if(value[action]){animated[action+"Class"](value[action]);}});};applyClassChange();// Map all animated objects again - calculate new styles and diff +allAnimations=allAnimations.map(function(){this.end=getElementStyles(this.el[0]);this.diff=styleDifference(this.start,this.end);return this;});// Apply original class +animated.attr("class",baseClass);// Map all animated objects again - this time collecting a promise +allAnimations=allAnimations.map(function(){var styleInfo=this,dfd=$.Deferred(),opts=$.extend({},o,{queue:false,complete:function complete(){dfd.resolve(styleInfo);}});this.el.animate(this.diff,opts);return dfd.promise();});// Once all animations have completed: +$.when.apply($,allAnimations.get()).done(function(){// Set the final class +applyClassChange();// For each animated element, +// clear all css properties that were animated +$.each(arguments,function(){var el=this.el;$.each(this.diff,function(key){el.css(key,"");});});// This is guarnteed to be there if you use jQuery.speed() +// it also handles dequeuing the next anim... +o.complete.call(animated[0]);});});};$.fn.extend({addClass:function(orig){return function(classNames,speed,easing,callback){return speed?$.effects.animateClass.call(this,{add:classNames},speed,easing,callback):orig.apply(this,arguments);};}($.fn.addClass),removeClass:function(orig){return function(classNames,speed,easing,callback){return arguments.length>1?$.effects.animateClass.call(this,{remove:classNames},speed,easing,callback):orig.apply(this,arguments);};}($.fn.removeClass),toggleClass:function(orig){return function(classNames,force,speed,easing,callback){if(typeof force==="boolean"||force===undefined){if(!speed){// Without speed parameter +return orig.apply(this,arguments);}else{return $.effects.animateClass.call(this,force?{add:classNames}:{remove:classNames},speed,easing,callback);}}else{// Without force parameter +return $.effects.animateClass.call(this,{toggle:classNames},force,speed,easing);}};}($.fn.toggleClass),switchClass:function switchClass(remove,add,speed,easing,callback){return $.effects.animateClass.call(this,{add:add,remove:remove},speed,easing,callback);}});})();/******************************************************************************/ /*********************************** EFFECTS **********************************/ /******************************************************************************/(function(){if($.expr&&$.expr.pseudos&&$.expr.pseudos.animated){$.expr.pseudos.animated=function(orig){return function(elem){return!!$(elem).data(dataSpaceAnimated)||orig(elem);};}($.expr.pseudos.animated);}if($.uiBackCompat!==false){$.extend($.effects,{// Saves a set of properties in a data storage +save:function save(element,set){var i=0,length=set.length;for(;i

      ").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),// Store the size in case width/height are defined in % - Fixes #5245 +size={width:element.width(),height:element.height()},active=document.activeElement;// Support: Firefox +// Firefox incorrectly exposes anonymous content +// https://bugzilla.mozilla.org/show_bug.cgi?id=561664 +try{// eslint-disable-next-line no-unused-expressions +active.id;}catch(e){active=document.body;}element.wrap(wrapper);// Fixes #7595 - Elements lose focus when wrapped. +if(element[0]===active||$.contains(element[0],active)){$(active).trigger("focus");}// Hotfix for jQuery 1.4 since some change in wrap() seems to actually +// lose the reference to the wrapped element +wrapper=element.parent();// Transfer positioning properties to the wrapper +if(element.css("position")==="static"){wrapper.css({position:"relative"});element.css({position:"relative"});}else{$.extend(props,{position:element.css("position"),zIndex:element.css("z-index")});$.each(["top","left","bottom","right"],function(i,pos){props[pos]=element.css(pos);if(isNaN(parseInt(props[pos],10))){props[pos]="auto";}});element.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"});}element.css(size);return wrapper.css(props).show();},removeWrapper:function removeWrapper(element){var active=document.activeElement;if(element.parent().is(".ui-effects-wrapper")){element.parent().replaceWith(element);// Fixes #7595 - Elements lose focus when wrapped. +if(element[0]===active||$.contains(element[0],active)){$(active).trigger("focus");}}return element;}});}$.extend($.effects,{version:"1.13.3",define:function define(name,mode,effect){if(!effect){effect=mode;mode="effect";}$.effects.effect[name]=effect;$.effects.effect[name].mode=mode;return effect;},scaledDimensions:function scaledDimensions(element,percent,direction){if(percent===0){return{height:0,width:0,outerHeight:0,outerWidth:0};}var x=direction!=="horizontal"?(percent||100)/100:1,y=direction!=="vertical"?(percent||100)/100:1;return{height:element.height()*y,width:element.width()*x,outerHeight:element.outerHeight()*y,outerWidth:element.outerWidth()*x};},clipToBox:function clipToBox(animation){return{width:animation.clip.right-animation.clip.left,height:animation.clip.bottom-animation.clip.top,left:animation.clip.left,top:animation.clip.top};},// Injects recently queued functions to be first in line (after "inprogress") +unshift:function unshift(element,queueLength,count){var queue=element.queue();if(queueLength>1){queue.splice.apply(queue,[1,0].concat(queue.splice(queueLength,count)));}element.dequeue();},saveStyle:function saveStyle(element){element.data(dataSpaceStyle,element[0].style.cssText);},restoreStyle:function restoreStyle(element){element[0].style.cssText=element.data(dataSpaceStyle)||"";element.removeData(dataSpaceStyle);},mode:function mode(element,_mode){var hidden=element.is(":hidden");if(_mode==="toggle"){_mode=hidden?"show":"hide";}if(hidden?_mode==="hide":_mode==="show"){_mode="none";}return _mode;},// Translates a [top,left] array into a baseline value +getBaseline:function getBaseline(origin,original){var y,x;switch(origin[0]){case"top":y=0;break;case"middle":y=0.5;break;case"bottom":y=1;break;default:y=origin[0]/original.height;}switch(origin[1]){case"left":x=0;break;case"center":x=0.5;break;case"right":x=1;break;default:x=origin[1]/original.width;}return{x:x,y:y};},// Creates a placeholder element so that the original element can be made absolute +createPlaceholder:function createPlaceholder(element){var placeholder,cssPosition=element.css("position"),position=element.position();// Lock in margins first to account for form elements, which +// will change margin if you explicitly set height +// see: https://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380 +// Support: Safari +element.css({marginTop:element.css("marginTop"),marginBottom:element.css("marginBottom"),marginLeft:element.css("marginLeft"),marginRight:element.css("marginRight")}).outerWidth(element.outerWidth()).outerHeight(element.outerHeight());if(/^(static|relative)/.test(cssPosition)){cssPosition="absolute";placeholder=$("<"+element[0].nodeName+">").insertAfter(element).css({// Convert inline to inline block to account for inline elements +// that turn to inline block based on content (like img) +display:/^(inline|ruby)/.test(element.css("display"))?"inline-block":"block",visibility:"hidden",// Margins need to be set to account for margin collapse +marginTop:element.css("marginTop"),marginBottom:element.css("marginBottom"),marginLeft:element.css("marginLeft"),marginRight:element.css("marginRight"),"float":element.css("float")}).outerWidth(element.outerWidth()).outerHeight(element.outerHeight()).addClass("ui-effects-placeholder");element.data(dataSpace+"placeholder",placeholder);}element.css({position:cssPosition,left:position.left,top:position.top});return placeholder;},removePlaceholder:function removePlaceholder(element){var dataKey=dataSpace+"placeholder",placeholder=element.data(dataKey);if(placeholder){placeholder.remove();element.removeData(dataKey);}},// Removes a placeholder if it exists and restores +// properties that were modified during placeholder creation +cleanUp:function cleanUp(element){$.effects.restoreStyle(element);$.effects.removePlaceholder(element);},setTransition:function setTransition(element,list,factor,value){value=value||{};$.each(list,function(i,x){var unit=element.cssUnit(x);if(unit[0]>0){value[x]=unit[0]*factor+unit[1];}});return value;}});// Return an effect options object for the given parameters: +function _normalizeArguments(effect,options,speed,callback){// Allow passing all options as the first parameter +if($.isPlainObject(effect)){options=effect;effect=effect.effect;}// Convert to an object +effect={effect:effect};// Catch (effect, null, ...) +if(options==null){options={};}// Catch (effect, callback) +if(typeof options==="function"){callback=options;speed=null;options={};}// Catch (effect, speed, ?) +if(typeof options==="number"||$.fx.speeds[options]){callback=speed;speed=options;options={};}// Catch (effect, options, callback) +if(typeof speed==="function"){callback=speed;speed=null;}// Add options to effect +if(options){$.extend(effect,options);}speed=speed||options.duration;effect.duration=$.fx.off?0:typeof speed==="number"?speed:speed in $.fx.speeds?$.fx.speeds[speed]:$.fx.speeds._default;effect.complete=callback||options.complete;return effect;}function standardAnimationOption(option){// Valid standard speeds (nothing, number, named speed) +if(!option||typeof option==="number"||$.fx.speeds[option]){return true;}// Invalid strings - treat as "normal" speed +if(typeof option==="string"&&!$.effects.effect[option]){return true;}// Complete callback +if(typeof option==="function"){return true;}// Options hash (but not naming an effect) +if(_typeof(option)==="object"&&!option.effect){return true;}// Didn't match any standard API +return false;}$.fn.extend({effect:function effect(/* effect, options, speed, callback */){var args=_normalizeArguments.apply(this,arguments),effectMethod=$.effects.effect[args.effect],defaultMode=effectMethod.mode,queue=args.queue,queueName=queue||"fx",complete=args.complete,mode=args.mode,modes=[],prefilter=function prefilter(next){var el=$(this),normalizedMode=$.effects.mode(el,mode)||defaultMode;// Sentinel for duck-punching the :animated pseudo-selector +el.data(dataSpaceAnimated,true);// Save effect mode for later use, +// we can't just call $.effects.mode again later, +// as the .show() below destroys the initial state +modes.push(normalizedMode);// See $.uiBackCompat inside of run() for removal of defaultMode in 1.14 +if(defaultMode&&(normalizedMode==="show"||normalizedMode===defaultMode&&normalizedMode==="hide")){el.show();}if(!defaultMode||normalizedMode!=="none"){$.effects.saveStyle(el);}if(typeof next==="function"){next();}};if($.fx.off||!effectMethod){// Delegate to the original method (e.g., .show()) if possible +if(mode){return this[mode](args.duration,complete);}else{return this.each(function(){if(complete){complete.call(this);}});}}function run(next){var elem=$(this);function cleanup(){elem.removeData(dataSpaceAnimated);$.effects.cleanUp(elem);if(args.mode==="hide"){elem.hide();}done();}function done(){if(typeof complete==="function"){complete.call(elem[0]);}if(typeof next==="function"){next();}}// Override mode option on a per element basis, +// as toggle can be either show or hide depending on element state +args.mode=modes.shift();if($.uiBackCompat!==false&&!defaultMode){if(elem.is(":hidden")?mode==="hide":mode==="show"){// Call the core method to track "olddisplay" properly +elem[mode]();done();}else{effectMethod.call(elem[0],args,done);}}else{if(args.mode==="none"){// Call the core method to track "olddisplay" properly +elem[mode]();done();}else{effectMethod.call(elem[0],args,cleanup);}}}// Run prefilter on all elements first to ensure that +// any showing or hiding happens before placeholder creation, +// which ensures that any layout changes are correctly captured. +return queue===false?this.each(prefilter).each(run):this.queue(queueName,prefilter).queue(queueName,run);},show:function(orig){return function(option){if(standardAnimationOption(option)){return orig.apply(this,arguments);}else{var args=_normalizeArguments.apply(this,arguments);args.mode="show";return this.effect.call(this,args);}};}($.fn.show),hide:function(orig){return function(option){if(standardAnimationOption(option)){return orig.apply(this,arguments);}else{var args=_normalizeArguments.apply(this,arguments);args.mode="hide";return this.effect.call(this,args);}};}($.fn.hide),toggle:function(orig){return function(option){if(standardAnimationOption(option)||typeof option==="boolean"){return orig.apply(this,arguments);}else{var args=_normalizeArguments.apply(this,arguments);args.mode="toggle";return this.effect.call(this,args);}};}($.fn.toggle),cssUnit:function cssUnit(key){var style=this.css(key),val=[];$.each(["em","px","%","pt"],function(i,unit){if(style.indexOf(unit)>0){val=[parseFloat(style),unit];}});return val;},cssClip:function cssClip(clipObj){if(clipObj){return this.css("clip","rect("+clipObj.top+"px "+clipObj.right+"px "+clipObj.bottom+"px "+clipObj.left+"px)");}return parseClip(this.css("clip"),this);},transfer:function transfer(options,done){var element=$(this),target=$(options.to),targetFixed=target.css("position")==="fixed",body=$("body"),fixTop=targetFixed?body.scrollTop():0,fixLeft=targetFixed?body.scrollLeft():0,endPosition=target.offset(),animation={top:endPosition.top-fixTop,left:endPosition.left-fixLeft,height:target.innerHeight(),width:target.innerWidth()},startPosition=element.offset(),transfer=$("
      ");transfer.appendTo("body").addClass(options.className).css({top:startPosition.top-fixTop,left:startPosition.left-fixLeft,height:element.innerHeight(),width:element.innerWidth(),position:targetFixed?"fixed":"absolute"}).animate(animation,options.duration,options.easing,function(){transfer.remove();if(typeof done==="function"){done();}});}});function parseClip(str,element){var outerWidth=element.outerWidth(),outerHeight=element.outerHeight(),clipRegex=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,values=clipRegex.exec(str)||["",0,outerWidth,outerHeight,0];return{top:parseFloat(values[1])||0,right:values[2]==="auto"?outerWidth:parseFloat(values[2]),bottom:values[3]==="auto"?outerHeight:parseFloat(values[3]),left:parseFloat(values[4])||0};}$.fx.step.clip=function(fx){if(!fx.clipInit){fx.start=$(fx.elem).cssClip();if(typeof fx.end==="string"){fx.end=parseClip(fx.end,fx.elem);}fx.clipInit=true;}$(fx.elem).cssClip({top:fx.pos*(fx.end.top-fx.start.top)+fx.start.top,right:fx.pos*(fx.end.right-fx.start.right)+fx.start.right,bottom:fx.pos*(fx.end.bottom-fx.start.bottom)+fx.start.bottom,left:fx.pos*(fx.end.left-fx.start.left)+fx.start.left});};})();/******************************************************************************/ /*********************************** EASING ***********************************/ /******************************************************************************/(function(){// Based on easing equations from Robert Penner (http://robertpenner.com/easing) +var baseEasings={};$.each(["Quad","Cubic","Quart","Quint","Expo"],function(i,name){baseEasings[name]=function(p){return Math.pow(p,i+2);};});$.extend(baseEasings,{Sine:function Sine(p){return 1-Math.cos(p*Math.PI/2);},Circ:function Circ(p){return 1-Math.sqrt(1-p*p);},Elastic:function Elastic(p){return p===0||p===1?p:-Math.pow(2,8*(p-1))*Math.sin(((p-1)*80-7.5)*Math.PI/15);},Back:function Back(p){return p*p*(3*p-2);},Bounce:function Bounce(p){var pow2,bounce=4;while(p<((pow2=Math.pow(2,--bounce))-1)/11){}return 1/Math.pow(4,3-bounce)-7.5625*Math.pow((pow2*3-2)/22-p,2);}});$.each(baseEasings,function(name,easeIn){$.easing["easeIn"+name]=easeIn;$.easing["easeOut"+name]=function(p){return 1-easeIn(1-p);};$.easing["easeInOut"+name]=function(p){return p<0.5?easeIn(p*2)/2:1-easeIn(p*-2+2)/2;};});})();var effect=$.effects;/*! + * jQuery UI Effects Blind 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Blind Effect +//>>group: Effects +//>>description: Blinds the element. +//>>docs: https://api.jqueryui.com/blind-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectBlind=$.effects.define("blind","hide",function(options,done){var map={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},element=$(this),direction=options.direction||"up",start=element.cssClip(),animate={clip:$.extend({},start)},placeholder=$.effects.createPlaceholder(element);animate.clip[map[direction][0]]=animate.clip[map[direction][1]];if(options.mode==="show"){element.cssClip(animate.clip);if(placeholder){placeholder.css($.effects.clipToBox(animate));}animate.clip=start;}if(placeholder){placeholder.animate($.effects.clipToBox(animate),options.duration,options.easing);}element.animate(animate,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*! + * jQuery UI Effects Bounce 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Bounce Effect +//>>group: Effects +//>>description: Bounces an element horizontally or vertically n times. +//>>docs: https://api.jqueryui.com/bounce-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectBounce=$.effects.define("bounce",function(options,done){var upAnim,downAnim,refValue,element=$(this),// Defaults: +mode=options.mode,hide=mode==="hide",show=mode==="show",direction=options.direction||"up",distance=options.distance,times=options.times||5,// Number of internal animations +anims=times*2+(show||hide?1:0),speed=options.duration/anims,easing=options.easing,// Utility: +ref=direction==="up"||direction==="down"?"top":"left",motion=direction==="up"||direction==="left",i=0,queuelen=element.queue().length;$.effects.createPlaceholder(element);refValue=element.css(ref);// Default distance for the BIGGEST bounce is the outer Distance / 3 +if(!distance){distance=element[ref==="top"?"outerHeight":"outerWidth"]()/3;}if(show){downAnim={opacity:1};downAnim[ref]=refValue;// If we are showing, force opacity 0 and set the initial position +// then do the "first" animation +element.css("opacity",0).css(ref,motion?-distance*2:distance*2).animate(downAnim,speed,easing);}// Start at the smallest distance if we are hiding +if(hide){distance=distance/Math.pow(2,times-1);}downAnim={};downAnim[ref]=refValue;// Bounces up/down/left/right then back to 0 -- times * 2 animations happen here +for(;i>label: Clip Effect +//>>group: Effects +//>>description: Clips the element on and off like an old TV. +//>>docs: https://api.jqueryui.com/clip-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectClip=$.effects.define("clip","hide",function(options,done){var start,animate={},element=$(this),direction=options.direction||"vertical",both=direction==="both",horizontal=both||direction==="horizontal",vertical=both||direction==="vertical";start=element.cssClip();animate.clip={top:vertical?(start.bottom-start.top)/2:start.top,right:horizontal?(start.right-start.left)/2:start.right,bottom:vertical?(start.bottom-start.top)/2:start.bottom,left:horizontal?(start.right-start.left)/2:start.left};$.effects.createPlaceholder(element);if(options.mode==="show"){element.cssClip(animate.clip);animate.clip=start;}element.animate(animate,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*! + * jQuery UI Effects Drop 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Drop Effect +//>>group: Effects +//>>description: Moves an element in one direction and hides it at the same time. +//>>docs: https://api.jqueryui.com/drop-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectDrop=$.effects.define("drop","hide",function(options,done){var distance,element=$(this),mode=options.mode,show=mode==="show",direction=options.direction||"left",ref=direction==="up"||direction==="down"?"top":"left",motion=direction==="up"||direction==="left"?"-=":"+=",oppositeMotion=motion==="+="?"-=":"+=",animation={opacity:0};$.effects.createPlaceholder(element);distance=options.distance||element[ref==="top"?"outerHeight":"outerWidth"](true)/2;animation[ref]=motion+distance;if(show){element.css(animation);animation[ref]=oppositeMotion+distance;animation.opacity=1;}// Animate +element.animate(animation,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*! + * jQuery UI Effects Explode 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Explode Effect +//>>group: Effects +/* eslint-disable max-len */ //>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. +/* eslint-enable max-len */ //>>docs: https://api.jqueryui.com/explode-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectExplode=$.effects.define("explode","hide",function(options,done){var i,j,left,top,mx,my,rows=options.pieces?Math.round(Math.sqrt(options.pieces)):3,cells=rows,element=$(this),mode=options.mode,show=mode==="show",// Show and then visibility:hidden the element before calculating offset +offset=element.show().css("visibility","hidden").offset(),// Width and height of a piece +width=Math.ceil(element.outerWidth()/cells),height=Math.ceil(element.outerHeight()/rows),pieces=[];// Children animate complete: +function childComplete(){pieces.push(this);if(pieces.length===rows*cells){animComplete();}}// Clone the element for each row and cell. +for(i=0;i +top=offset.top+i*height;my=i-(rows-1)/2;for(j=0;j
      ").css({position:"absolute",visibility:"visible",left:-j*width,top:-i*height})// Select the wrapper - make it overflow: hidden and absolute positioned based on +// where the original was located +left and +top equal to the size of pieces +.parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:width,height:height,left:left+(show?mx*width:0),top:top+(show?my*height:0),opacity:show?0:1}).animate({left:left+(show?0:mx*width),top:top+(show?0:my*height),opacity:show?1:0},options.duration||500,options.easing,childComplete);}}function animComplete(){element.css({visibility:"visible"});$(pieces).remove();done();}});/*! + * jQuery UI Effects Fade 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Fade Effect +//>>group: Effects +//>>description: Fades the element. +//>>docs: https://api.jqueryui.com/fade-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectFade=$.effects.define("fade","toggle",function(options,done){var show=options.mode==="show";$(this).css("opacity",show?0:1).animate({opacity:show?1:0},{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*! + * jQuery UI Effects Fold 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Fold Effect +//>>group: Effects +//>>description: Folds an element first horizontally and then vertically. +//>>docs: https://api.jqueryui.com/fold-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectFold=$.effects.define("fold","hide",function(options,done){// Create element +var element=$(this),mode=options.mode,show=mode==="show",hide=mode==="hide",size=options.size||15,percent=/([0-9]+)%/.exec(size),horizFirst=!!options.horizFirst,ref=horizFirst?["right","bottom"]:["bottom","right"],duration=options.duration/2,placeholder=$.effects.createPlaceholder(element),start=element.cssClip(),animation1={clip:$.extend({},start)},animation2={clip:$.extend({},start)},distance=[start[ref[0]],start[ref[1]]],queuelen=element.queue().length;if(percent){size=parseInt(percent[1],10)/100*distance[hide?0:1];}animation1.clip[ref[0]]=size;animation2.clip[ref[0]]=size;animation2.clip[ref[1]]=0;if(show){element.cssClip(animation2.clip);if(placeholder){placeholder.css($.effects.clipToBox(animation2));}animation2.clip=start;}// Animate +element.queue(function(next){if(placeholder){placeholder.animate($.effects.clipToBox(animation1),duration,options.easing).animate($.effects.clipToBox(animation2),duration,options.easing);}next();}).animate(animation1,duration,options.easing).animate(animation2,duration,options.easing).queue(done);$.effects.unshift(element,queuelen,4);});/*! + * jQuery UI Effects Highlight 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Highlight Effect +//>>group: Effects +//>>description: Highlights the background of an element in a defined color for a custom duration. +//>>docs: https://api.jqueryui.com/highlight-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectHighlight=$.effects.define("highlight","show",function(options,done){var element=$(this),animation={backgroundColor:element.css("backgroundColor")};if(options.mode==="hide"){animation.opacity=0;}$.effects.saveStyle(element);element.css({backgroundImage:"none",backgroundColor:options.color||"#ffff99"}).animate(animation,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*! + * jQuery UI Effects Size 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Size Effect +//>>group: Effects +//>>description: Resize an element to a specified width and height. +//>>docs: https://api.jqueryui.com/size-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectSize=$.effects.define("size",function(options,done){// Create element +var baseline,factor,temp,element=$(this),// Copy for children +cProps=["fontSize"],vProps=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],hProps=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],// Set options +mode=options.mode,restore=mode!=="effect",scale=options.scale||"both",origin=options.origin||["middle","center"],position=element.css("position"),pos=element.position(),original=$.effects.scaledDimensions(element),from=options.from||original,to=options.to||$.effects.scaledDimensions(element,0);$.effects.createPlaceholder(element);if(mode==="show"){temp=from;from=to;to=temp;}// Set scaling factor +factor={from:{y:from.height/original.height,x:from.width/original.width},to:{y:to.height/original.height,x:to.width/original.width}};// Scale the css box +if(scale==="box"||scale==="both"){// Vertical props scaling +if(factor.from.y!==factor.to.y){from=$.effects.setTransition(element,vProps,factor.from.y,from);to=$.effects.setTransition(element,vProps,factor.to.y,to);}// Horizontal props scaling +if(factor.from.x!==factor.to.x){from=$.effects.setTransition(element,hProps,factor.from.x,from);to=$.effects.setTransition(element,hProps,factor.to.x,to);}}// Scale the content +if(scale==="content"||scale==="both"){// Vertical props scaling +if(factor.from.y!==factor.to.y){from=$.effects.setTransition(element,cProps,factor.from.y,from);to=$.effects.setTransition(element,cProps,factor.to.y,to);}}// Adjust the position properties based on the provided origin points +if(origin){baseline=$.effects.getBaseline(origin,original);from.top=(original.outerHeight-from.outerHeight)*baseline.y+pos.top;from.left=(original.outerWidth-from.outerWidth)*baseline.x+pos.left;to.top=(original.outerHeight-to.outerHeight)*baseline.y+pos.top;to.left=(original.outerWidth-to.outerWidth)*baseline.x+pos.left;}delete from.outerHeight;delete from.outerWidth;element.css(from);// Animate the children if desired +if(scale==="content"||scale==="both"){vProps=vProps.concat(["marginTop","marginBottom"]).concat(cProps);hProps=hProps.concat(["marginLeft","marginRight"]);// Only animate children with width attributes specified +// TODO: is this right? should we include anything with css width specified as well +element.find("*[width]").each(function(){var child=$(this),childOriginal=$.effects.scaledDimensions(child),childFrom={height:childOriginal.height*factor.from.y,width:childOriginal.width*factor.from.x,outerHeight:childOriginal.outerHeight*factor.from.y,outerWidth:childOriginal.outerWidth*factor.from.x},childTo={height:childOriginal.height*factor.to.y,width:childOriginal.width*factor.to.x,outerHeight:childOriginal.height*factor.to.y,outerWidth:childOriginal.width*factor.to.x};// Vertical props scaling +if(factor.from.y!==factor.to.y){childFrom=$.effects.setTransition(child,vProps,factor.from.y,childFrom);childTo=$.effects.setTransition(child,vProps,factor.to.y,childTo);}// Horizontal props scaling +if(factor.from.x!==factor.to.x){childFrom=$.effects.setTransition(child,hProps,factor.from.x,childFrom);childTo=$.effects.setTransition(child,hProps,factor.to.x,childTo);}if(restore){$.effects.saveStyle(child);}// Animate children +child.css(childFrom);child.animate(childTo,options.duration,options.easing,function(){// Restore children +if(restore){$.effects.restoreStyle(child);}});});}// Animate +element.animate(to,{queue:false,duration:options.duration,easing:options.easing,complete:function complete(){var offset=element.offset();if(to.opacity===0){element.css("opacity",from.opacity);}if(!restore){element.css("position",position==="static"?"relative":position).offset(offset);// Need to save style here so that automatic style restoration +// doesn't restore to the original styles from before the animation. +$.effects.saveStyle(element);}done();}});});/*! + * jQuery UI Effects Scale 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Scale Effect +//>>group: Effects +//>>description: Grows or shrinks an element and its content. +//>>docs: https://api.jqueryui.com/scale-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectScale=$.effects.define("scale",function(options,done){// Create element +var el=$(this),mode=options.mode,percent=parseInt(options.percent,10)||(parseInt(options.percent,10)===0?0:mode!=="effect"?0:100),newOptions=$.extend(true,{from:$.effects.scaledDimensions(el),to:$.effects.scaledDimensions(el,percent,options.direction||"both"),origin:options.origin||["middle","center"]},options);// Fade option to support puff +if(options.fade){newOptions.from.opacity=1;newOptions.to.opacity=0;}$.effects.effect.size.call(this,newOptions,done);});/*! + * jQuery UI Effects Puff 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Puff Effect +//>>group: Effects +//>>description: Creates a puff effect by scaling the element up and hiding it at the same time. +//>>docs: https://api.jqueryui.com/puff-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectPuff=$.effects.define("puff","hide",function(options,done){var newOptions=$.extend(true,{},options,{fade:true,percent:parseInt(options.percent,10)||150});$.effects.effect.scale.call(this,newOptions,done);});/*! + * jQuery UI Effects Pulsate 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Pulsate Effect +//>>group: Effects +//>>description: Pulsates an element n times by changing the opacity to zero and back. +//>>docs: https://api.jqueryui.com/pulsate-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectPulsate=$.effects.define("pulsate","show",function(options,done){var element=$(this),mode=options.mode,show=mode==="show",hide=mode==="hide",showhide=show||hide,// Showing or hiding leaves off the "last" animation +anims=(options.times||5)*2+(showhide?1:0),duration=options.duration/anims,animateTo=0,i=1,queuelen=element.queue().length;if(show||!element.is(":visible")){element.css("opacity",0).show();animateTo=1;}// Anims - 1 opacity "toggles" +for(;i>label: Shake Effect +//>>group: Effects +//>>description: Shakes an element horizontally or vertically n times. +//>>docs: https://api.jqueryui.com/shake-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectShake=$.effects.define("shake",function(options,done){var i=1,element=$(this),direction=options.direction||"left",distance=options.distance||20,times=options.times||3,anims=times*2+1,speed=Math.round(options.duration/anims),ref=direction==="up"||direction==="down"?"top":"left",positiveMotion=direction==="up"||direction==="left",animation={},animation1={},animation2={},queuelen=element.queue().length;$.effects.createPlaceholder(element);// Animation +animation[ref]=(positiveMotion?"-=":"+=")+distance;animation1[ref]=(positiveMotion?"+=":"-=")+distance*2;animation2[ref]=(positiveMotion?"-=":"+=")+distance*2;// Animate +element.animate(animation,speed,options.easing);// Shakes +for(;i>label: Slide Effect +//>>group: Effects +//>>description: Slides an element in and out of the viewport. +//>>docs: https://api.jqueryui.com/slide-effect/ +//>>demos: https://jqueryui.com/effect/ +var effectsEffectSlide=$.effects.define("slide","show",function(options,done){var startClip,startRef,element=$(this),map={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},mode=options.mode,direction=options.direction||"left",ref=direction==="up"||direction==="down"?"top":"left",positiveMotion=direction==="up"||direction==="left",distance=options.distance||element[ref==="top"?"outerHeight":"outerWidth"](true),animation={};$.effects.createPlaceholder(element);startClip=element.cssClip();startRef=element.position()[ref];// Define hide animation +animation[ref]=(positiveMotion?-1:1)*distance+startRef;animation.clip=element.cssClip();animation.clip[map[direction][1]]=animation.clip[map[direction][0]];// Reverse the animation if we're showing +if(mode==="show"){element.cssClip(animation.clip);element.css(ref,animation[ref]);animation.clip=startClip;animation[ref]=startRef;}// Actually animate +element.animate(animation,{queue:false,duration:options.duration,easing:options.easing,complete:done});});/*! + * jQuery UI Effects Transfer 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Transfer Effect +//>>group: Effects +//>>description: Displays a transfer effect from one element to another. +//>>docs: https://api.jqueryui.com/transfer-effect/ +//>>demos: https://jqueryui.com/effect/ +var effect;if($.uiBackCompat!==false){effect=$.effects.define("transfer",function(options,done){$(this).transfer(options,done);});}var effectsEffectTransfer=effect;/*! + * jQuery UI Focusable 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: :focusable Selector +//>>group: Core +//>>description: Selects elements which can be focused. +//>>docs: https://api.jqueryui.com/focusable-selector/ +// Selectors +$.ui.focusable=function(element,hasTabindex){var map,mapName,img,focusableIfVisible,fieldset,nodeName=element.nodeName.toLowerCase();if("area"===nodeName){map=element.parentNode;mapName=map.name;if(!element.href||!mapName||map.nodeName.toLowerCase()!=="map"){return false;}img=$("img[usemap='#"+mapName+"']");return img.length>0&&img.is(":visible");}if(/^(input|select|textarea|button|object)$/.test(nodeName)){focusableIfVisible=!element.disabled;if(focusableIfVisible){// Form controls within a disabled fieldset are disabled. +// However, controls within the fieldset's legend do not get disabled. +// Since controls generally aren't placed inside legends, we skip +// this portion of the check. +fieldset=$(element).closest("fieldset")[0];if(fieldset){focusableIfVisible=!fieldset.disabled;}}}else if("a"===nodeName){focusableIfVisible=element.href||hasTabindex;}else{focusableIfVisible=hasTabindex;}return focusableIfVisible&&$(element).is(":visible")&&visible($(element));};// Support: IE 8 only +// IE 8 doesn't resolve inherit to visible/hidden for computed values +function visible(element){var visibility=element.css("visibility");while(visibility==="inherit"){element=element.parent();visibility=element.css("visibility");}return visibility==="visible";}$.extend($.expr.pseudos,{focusable:function focusable(element){return $.ui.focusable(element,$.attr(element,"tabindex")!=null);}});var focusable=$.ui.focusable;// Support: IE8 Only +// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop +// with a string, so we need to find the proper form. +var form=$.fn._form=function(){return typeof this[0].form==="string"?this.closest("form"):$(this[0].form);};/*! + * jQuery UI Form Reset Mixin 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Form Reset Mixin +//>>group: Core +//>>description: Refresh input widgets when their form is reset +//>>docs: https://api.jqueryui.com/form-reset-mixin/ +var formResetMixin=$.ui.formResetMixin={_formResetHandler:function _formResetHandler(){var form=$(this);// Wait for the form reset to actually happen before refreshing +setTimeout(function(){var instances=form.data("ui-form-reset-instances");$.each(instances,function(){this.refresh();});});},_bindFormResetHandler:function _bindFormResetHandler(){this.form=this.element._form();if(!this.form.length){return;}var instances=this.form.data("ui-form-reset-instances")||[];if(!instances.length){// We don't use _on() here because we use a single event handler per form +this.form.on("reset.ui-form-reset",this._formResetHandler);}instances.push(this);this.form.data("ui-form-reset-instances",instances);},_unbindFormResetHandler:function _unbindFormResetHandler(){if(!this.form.length){return;}var instances=this.form.data("ui-form-reset-instances");instances.splice($.inArray(this,instances),1);if(instances.length){this.form.data("ui-form-reset-instances",instances);}else{this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset");}}};/*! + * jQuery UI Support for jQuery core 1.8.x and newer 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + * + */ //>>label: jQuery 1.8+ Support +//>>group: Core +//>>description: Support version 1.8.x and newer of jQuery core +// Support: jQuery 1.9.x or older +// $.expr[ ":" ] is deprecated. +if(!$.expr.pseudos){$.expr.pseudos=$.expr[":"];}// Support: jQuery 1.11.x or older +// $.unique has been renamed to $.uniqueSort +if(!$.uniqueSort){$.uniqueSort=$.unique;}// Support: jQuery 2.2.x or older. +// This method has been defined in jQuery 3.0.0. +// Code from https://github.com/jquery/jquery/blob/e539bac79e666bba95bba86d690b4e609dca2286/src/selector/escapeSelector.js +if(!$.escapeSelector){// CSS string/identifier serialization +// https://drafts.csswg.org/cssom/#common-serializing-idioms +var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;var fcssescape=function fcssescape(ch,asCodePoint){if(asCodePoint){// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER +if(ch==="\0"){return"\uFFFD";}// Control characters and (dependent upon position) numbers get escaped as code points +return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";}// Other potentially-special ASCII characters get backslash-escaped +return"\\"+ch;};$.escapeSelector=function(sel){return(sel+"").replace(rcssescape,fcssescape);};}// Support: jQuery 3.4.x or older +// These methods have been defined in jQuery 3.5.0. +if(!$.fn.even||!$.fn.odd){$.fn.extend({even:function even(){return this.filter(function(i){return i%2===0;});},odd:function odd(){return this.filter(function(i){return i%2===1;});}});};/*! + * jQuery UI Keycode 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Keycode +//>>group: Core +//>>description: Provide keycodes as keynames +//>>docs: https://api.jqueryui.com/jQuery.ui.keyCode/ +var keycode=$.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38};/*! + * jQuery UI Labels 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: labels +//>>group: Core +//>>description: Find all the labels associated with a given input +//>>docs: https://api.jqueryui.com/labels/ +var labels=$.fn.labels=function(){var ancestor,selector,id,labels,ancestors;if(!this.length){return this.pushStack([]);}// Check control.labels first +if(this[0].labels&&this[0].labels.length){return this.pushStack(this[0].labels);}// Support: IE <= 11, FF <= 37, Android <= 2.3 only +// Above browsers do not support control.labels. Everything below is to support them +// as well as document fragments. control.labels does not work on document fragments +labels=this.eq(0).parents("label");// Look for the label based on the id +id=this.attr("id");if(id){// We don't search against the document in case the element +// is disconnected from the DOM +ancestor=this.eq(0).parents().last();// Get a full set of top level ancestors +ancestors=ancestor.add(ancestor.length?ancestor.siblings():this.siblings());// Create a selector for the label based on the id +selector="label[for='"+$.escapeSelector(id)+"']";labels=labels.add(ancestors.find(selector).addBack(selector));}// Return whatever we have found for labels +return this.pushStack(labels);};/*! + * jQuery UI Scroll Parent 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: scrollParent +//>>group: Core +//>>description: Get the closest ancestor element that is scrollable. +//>>docs: https://api.jqueryui.com/scrollParent/ +var scrollParent=$.fn.scrollParent=function(includeHidden){var position=this.css("position"),excludeStaticParent=position==="absolute",overflowRegex=includeHidden?/(auto|scroll|hidden)/:/(auto|scroll)/,scrollParent=this.parents().filter(function(){var parent=$(this);if(excludeStaticParent&&parent.css("position")==="static"){return false;}return overflowRegex.test(parent.css("overflow")+parent.css("overflow-y")+parent.css("overflow-x"));}).eq(0);return position==="fixed"||!scrollParent.length?$(this[0].ownerDocument||document):scrollParent;};/*! + * jQuery UI Tabbable 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: :tabbable Selector +//>>group: Core +//>>description: Selects elements which can be tabbed to. +//>>docs: https://api.jqueryui.com/tabbable-selector/ +var tabbable=$.extend($.expr.pseudos,{tabbable:function tabbable(element){var tabIndex=$.attr(element,"tabindex"),hasTabindex=tabIndex!=null;return(!hasTabindex||tabIndex>=0)&&$.ui.focusable(element,hasTabindex);}});/*! + * jQuery UI Unique ID 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: uniqueId +//>>group: Core +//>>description: Functions to generate and remove uniqueId's +//>>docs: https://api.jqueryui.com/uniqueId/ +var uniqueId=$.fn.extend({uniqueId:function(){var uuid=0;return function(){return this.each(function(){if(!this.id){this.id="ui-id-"+ ++uuid;}});};}(),removeUniqueId:function removeUniqueId(){return this.each(function(){if(/^ui-id-\d+$/.test(this.id)){$(this).removeAttr("id");}});}});/*! + * jQuery UI Accordion 1.13.3 + * https://jqueryui.com + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license. + * https://jquery.org/license + */ //>>label: Accordion +//>>group: Widgets +/* eslint-disable max-len */ //>>description: Displays collapsible content panels for presenting information in a limited amount of space. +/* eslint-enable max-len */ //>>docs: https://api.jqueryui.com/accordion/ +//>>demos: https://jqueryui.com/accordion/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/accordion.css +//>>css.theme: ../../themes/base/theme.css +var widgetsAccordion=$.widget("ui.accordion",{version:"1.13.3",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:false,event:"click",header:function header(elem){return elem.find("> li > :first-child").add(elem.find("> :not(li)").even());},heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},// Callbacks +activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function _create(){var options=this.options;this.prevShow=this.prevHide=$();this._addClass("ui-accordion","ui-widget ui-helper-reset");this.element.attr("role","tablist");// Don't allow collapsible: false and active: false / null +if(!options.collapsible&&(options.active===false||options.active==null)){options.active=0;}this._processPanels();// handle negative values +if(options.active<0){options.active+=this.headers.length;}this._refresh();},_getCreateEventData:function _getCreateEventData(){return{header:this.active,panel:!this.active.length?$():this.active.next()};},_createIcons:function _createIcons(){var icon,children,icons=this.options.icons;if(icons){icon=$("");this._addClass(icon,"ui-accordion-header-icon","ui-icon "+icons.header);icon.prependTo(this.headers);children=this.active.children(".ui-accordion-header-icon");this._removeClass(children,icons.header)._addClass(children,null,icons.activeHeader)._addClass(this.headers,"ui-accordion-icons");}},_destroyIcons:function _destroyIcons(){this._removeClass(this.headers,"ui-accordion-icons");this.headers.children(".ui-accordion-header-icon").remove();},_destroy:function _destroy(){var contents;// Clean up main element +this.element.removeAttr("role");// Clean up headers +this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId();this._destroyIcons();// Clean up content panels +contents=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId();if(this.options.heightStyle!=="content"){contents.css("height","");}},_setOption:function _setOption(key,value){if(key==="active"){// _activate() will handle invalid values and update this.options +this._activate(value);return;}if(key==="event"){if(this.options.event){this._off(this.headers,this.options.event);}this._setupEvents(value);}this._super(key,value);// Setting collapsible: false while collapsed; open first panel +if(key==="collapsible"&&!value&&this.options.active===false){this._activate(0);}if(key==="icons"){this._destroyIcons();if(value){this._createIcons();}}},_setOptionDisabled:function _setOptionDisabled(value){this._super(value);this.element.attr("aria-disabled",value);// Support: IE8 Only +// #5332 / #6059 - opacity doesn't cascade to positioned elements in IE +// so we need to add the disabled class to the headers and panels +this._toggleClass(null,"ui-state-disabled",!!value);this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!value);},_keydown:function _keydown(event){if(event.altKey||event.ctrlKey){return;}var keyCode=$.ui.keyCode,length=this.headers.length,currentIndex=this.headers.index(event.target),toFocus=false;switch(event.keyCode){case keyCode.RIGHT:case keyCode.DOWN:toFocus=this.headers[(currentIndex+1)%length];break;case keyCode.LEFT:case keyCode.UP:toFocus=this.headers[(currentIndex-1+length)%length];break;case keyCode.SPACE:case keyCode.ENTER:this._eventHandler(event);break;case keyCode.HOME:toFocus=this.headers[0];break;case keyCode.END:toFocus=this.headers[length-1];break;}if(toFocus){$(event.target).attr("tabIndex",-1);$(toFocus).attr("tabIndex",0);$(toFocus).trigger("focus");event.preventDefault();}},_panelKeyDown:function _panelKeyDown(event){if(event.keyCode===$.ui.keyCode.UP&&event.ctrlKey){$(event.currentTarget).prev().trigger("focus");}},refresh:function refresh(){var options=this.options;this._processPanels();// Was collapsed or no panel +if(options.active===false&&options.collapsible===true||!this.headers.length){options.active=false;this.active=$();// active false only when collapsible is true +}else if(options.active===false){this._activate(0);// was active, but active panel is gone +}else if(this.active.length&&!$.contains(this.element[0],this.active[0])){// all remaining panel are disabled +if(this.headers.length===this.headers.find(".ui-state-disabled").length){options.active=false;this.active=$();// activate previous panel +}else{this._activate(Math.max(0,options.active-1));}// was active, active panel still exists +}else{// make sure active index is correct +options.active=this.headers.index(this.active);}this._destroyIcons();this._refresh();},_processPanels:function _processPanels(){var prevHeaders=this.headers,prevPanels=this.panels;if(typeof this.options.header==="function"){this.headers=this.options.header(this.element);}else{this.headers=this.element.find(this.options.header);}this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default");this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide();this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content");// Avoid memory leaks (#10056) +if(prevPanels){this._off(prevHeaders.not(this.headers));this._off(prevPanels.not(this.panels));}},_refresh:function _refresh(){var maxHeight,options=this.options,heightStyle=options.heightStyle,parent=this.element.parent();this.active=this._findActive(options.active);this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed");this._addClass(this.active.next(),"ui-accordion-content-active");this.active.next().show();this.headers.attr("role","tab").each(function(){var header=$(this),headerId=header.uniqueId().attr("id"),panel=header.next(),panelId=panel.uniqueId().attr("id");header.attr("aria-controls",panelId);panel.attr("aria-labelledby",headerId);}).next().attr("role","tabpanel");this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide();// Make sure at least one header is in the tab order +if(!this.active.length){this.headers.eq(0).attr("tabIndex",0);}else{this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"});}this._createIcons();this._setupEvents(options.event);if(heightStyle==="fill"){maxHeight=parent.height();this.element.siblings(":visible").each(function(){var elem=$(this),position=elem.css("position");if(position==="absolute"||position==="fixed"){return;}maxHeight-=elem.outerHeight(true);});this.headers.each(function(){maxHeight-=$(this).outerHeight(true);});this.headers.next().each(function(){$(this).height(Math.max(0,maxHeight-$(this).innerHeight()+$(this).height()));}).css("overflow","auto");}else if(heightStyle==="auto"){maxHeight=0;this.headers.next().each(function(){var isVisible=$(this).is(":visible");if(!isVisible){$(this).show();}maxHeight=Math.max(maxHeight,$(this).css("height","").height());if(!isVisible){$(this).hide();}}).height(maxHeight);}},_activate:function _activate(index){var active=this._findActive(index)[0];// Trying to activate the already active panel +if(active===this.active[0]){return;}// Trying to collapse, simulate a click on the currently active header +active=active||this.active[0];this._eventHandler({target:active,currentTarget:active,preventDefault:$.noop});},_findActive:function _findActive(selector){return typeof selector==="number"?this.headers.eq(selector):$();},_setupEvents:function _setupEvents(event){var events={keydown:"_keydown"};if(event){$.each(event.split(" "),function(index,eventName){events[eventName]="_eventHandler";});}this._off(this.headers.add(this.headers.next()));this._on(this.headers,events);this._on(this.headers.next(),{keydown:"_panelKeyDown"});this._hoverable(this.headers);this._focusable(this.headers);},_eventHandler:function _eventHandler(event){var activeChildren,clickedChildren,options=this.options,active=this.active,clicked=$(event.currentTarget),clickedIsActive=clicked[0]===active[0],collapsing=clickedIsActive&&options.collapsible,toShow=collapsing?$():clicked.next(),toHide=active.next(),eventData={oldHeader:active,oldPanel:toHide,newHeader:collapsing?$():clicked,newPanel:toShow};event.preventDefault();if(// click on active header, but not collapsible +clickedIsActive&&!options.collapsible||// allow canceling activation +this._trigger("beforeActivate",event,eventData)===false){return;}options.active=collapsing?false:this.headers.index(clicked);// When the call to ._toggle() comes after the class changes +// it causes a very odd bug in IE 8 (see #6720) +this.active=clickedIsActive?$():clicked;this._toggle(eventData);// Switch classes +// corner classes on the previously active header stay after the animation +this._removeClass(active,"ui-accordion-header-active","ui-state-active");if(options.icons){activeChildren=active.children(".ui-accordion-header-icon");this._removeClass(activeChildren,null,options.icons.activeHeader)._addClass(activeChildren,null,options.icons.header);}if(!clickedIsActive){this._removeClass(clicked,"ui-accordion-header-collapsed")._addClass(clicked,"ui-accordion-header-active","ui-state-active");if(options.icons){clickedChildren=clicked.children(".ui-accordion-header-icon");this._removeClass(clickedChildren,null,options.icons.header)._addClass(clickedChildren,null,options.icons.activeHeader);}this._addClass(clicked.next(),"ui-accordion-content-active");}},_toggle:function _toggle(data){var toShow=data.newPanel,toHide=this.prevShow.length?this.prevShow:data.oldPanel;// Handle activating a panel during the animation for another activation +this.prevShow.add(this.prevHide).stop(true,true);this.prevShow=toShow;this.prevHide=toHide;if(this.options.animate){this._animate(toShow,toHide,data);}else{toHide.hide();toShow.show();this._toggleComplete(data);}toHide.attr({"aria-hidden":"true"});toHide.prev().attr({"aria-selected":"false","aria-expanded":"false"});// if we're switching panels, remove the old header from the tab order +// if we're opening from collapsed state, remove the previous header from the tab order +// if we're collapsing, then keep the collapsing header in the tab order +if(toShow.length&&toHide.length){toHide.prev().attr({"tabIndex":-1,"aria-expanded":"false"});}else if(toShow.length){this.headers.filter(function(){return parseInt($(this).attr("tabIndex"),10)===0;}).attr("tabIndex",-1);}toShow.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0});},_animate:function _animate(toShow,toHide,data){var total,easing,duration,that=this,adjust=0,boxSizing=toShow.css("box-sizing"),down=toShow.length&&(!toHide.length||toShow.index() +try{activeElement=document.activeElement;}catch(error){activeElement=document.body;}// Support: IE 9 - 11 only +// IE may return null instead of an element +// Interestingly, this only seems to occur when NOT in an iframe +if(!activeElement){activeElement=document.body;}// Support: IE 11 only +// IE11 returns a seemingly empty object in some cases when accessing +// document.activeElement from an