[
  {
    "path": "Happy Birthday.html",
    "content": "<html class=\"gr__localhost\"><head>\n<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">\n    <title>Happy Birthday</title>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    \n    \n<link rel=\"stylesheet\" href=\"Happy%20Birthday_files/bootstrap.css\"><link rel=\"stylesheet\" href=\"Happy%20Birthday_files/style.css\"></head>\n\n<body data-gr-c-s-loaded=\"true\">\n    <div>\n        <div class=\"container\">\n            <div>\n                <div class=\"row\">\n                    <div class=\"loader\" style=\"display: none;\">\n                        <button id=\"play\">Start</button>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    <audio class=\"song\" controls=\"controls\" loop=\"\">\n        <source src=\"Happy%20Birthday_files/music.mp3\">\n        \n        Your browser isn't invited for super fun audio time.\n    </audio>\n\n    <canvas id=\"confetti\" width=\"438\" height=\"726\"></canvas>\n    <div class=\"container pt-5\">\n        <div class=\"row\">\n            <div class=\"col-12 col-xl-6 mx-auto\">\n                <img src=\"Happy%20Birthday_files/banner.png\" alt=\"\">\n            </div>\n            <div class=\"col-12  text-center\">\n                <div id=\"name\" class=\"area\">fdsafgfdsfsfdsgfg</div>\n            </div>\n\n            <div class=\"col-12 text-center\">\n                <div class=\"type-wrap\">\n                    <div id=\"typed-strings\" class=\"typing\" style=\"display: none;\">\n                        <h2>Happy Birthday <i id=\"nae\">fdsafgfdsfsfdsgfg</i></h2>\n                        <h2>Have a wonderful day</h2>\n                        <h2>Filled with joy and happiness.</h2>\n                    </div>\n                    <span id=\"typed\" style=\"white-space:pre;\">Happy Birthday <i id=\"nae\">fdsafgfdsfsfdsgf</i></span><span class=\"typed-cursor\">|</span>\n                </div>\n            </div>\n\n            <div class=\"col-12 col-xl-6 mx-auto\">\n                <img src=\"Happy%20Birthday_files/cake.svg\" alt=\"\">\n            </div>\n        </div>\n\n    </div>\n    <img src=\"Happy%20Birthday_files/Balloon-Border.png\" class=\"balloon-border\" style=\"top: -500px;\" width=\"100%\">\n\n\n<!-- Code injected by live-server -->\n<script type=\"text/javascript\">\n\t// <![CDATA[  <-- For SVG support\n\tif ('WebSocket' in window) {\n\t\t(function () {\n\t\t\tfunction refreshCSS() {\n\t\t\t\tvar sheets = [].slice.call(document.getElementsByTagName(\"link\"));\n\t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n\t\t\t\tfor (var i = 0; i < sheets.length; ++i) {\n\t\t\t\t\tvar elem = sheets[i];\n\t\t\t\t\tvar parent = elem.parentElement || head;\n\t\t\t\t\tparent.removeChild(elem);\n\t\t\t\t\tvar rel = elem.rel;\n\t\t\t\t\tif (elem.href && typeof rel != \"string\" || rel.length == 0 || rel.toLowerCase() == \"stylesheet\") {\n\t\t\t\t\t\tvar url = elem.href.replace(/(&|\\?)_cacheOverride=\\d+/, '');\n\t\t\t\t\t\telem.href = url + (url.indexOf('?') >= 0 ? '&' : '?') + '_cacheOverride=' + (new Date().valueOf());\n\t\t\t\t\t}\n\t\t\t\t\tparent.appendChild(elem);\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar protocol = window.location.protocol === 'http:' ? 'ws://' : 'wss://';\n\t\t\tvar address = protocol + window.location.host + window.location.pathname + '/ws';\n\t\t\tvar socket = new WebSocket(address);\n\t\t\tsocket.onmessage = function (msg) {\n\t\t\t\tif (msg.data == 'reload') window.location.reload();\n\t\t\t\telse if (msg.data == 'refreshcss') refreshCSS();\n\t\t\t};\n\t\t\tif (sessionStorage && !sessionStorage.getItem('IsThisFirstTime_Log_From_LiveServer')) {\n\t\t\t\tconsole.log('Live reload enabled.');\n\t\t\t\tsessionStorage.setItem('IsThisFirstTime_Log_From_LiveServer', true);\n\t\t\t}\n\t\t})();\n\t}\n\telse {\n\t\tconsole.error('Upgrade your browser. This Browser is NOT supported WebSocket for Live-Reloading.');\n\t}\n\t// ]]>\n</script>\n<script src=\"Happy%20Birthday_files/snowflakes.js\"></script>\n<script src=\"Happy%20Birthday_files/jquery.js\"></script>\n<script src=\"Happy%20Birthday_files/typed.js\"></script>\n<script src=\"Happy%20Birthday_files/script.js\"></script><style type=\"text/css\" data-typed-js-css=\"true\">\n        .typed-cursor{\n          opacity: 1;\n        }\n        .typed-cursor.typed-cursor--blink{\n          animation: typedjsBlink 0.7s infinite;\n          -webkit-animation: typedjsBlink 0.7s infinite;\n                  animation: typedjsBlink 0.7s infinite;\n        }\n        @keyframes typedjsBlink{\n          50% { opacity: 0.0; }\n        }\n        @-webkit-keyframes typedjsBlink{\n          0% { opacity: 1; }\n          50% { opacity: 0.0; }\n          100% { opacity: 1; }\n        }\n      </style>\n<script>\n\n</script>\n\n</body><span class=\"gr__tooltip\"><span class=\"gr__tooltip-content\"></span><i class=\"gr__tooltip-logo\"></i><span class=\"gr__triangle\"></span></span></html>"
  },
  {
    "path": "Happy Birthday_files/bootstrap.css",
    "content": "/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex=\"-1\"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:\"\\2014\\00A0\"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem);background:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px,url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 0%;flex:1 1 0%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:\"\";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right .75rem center/8px 10px;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal .list-group-item.active{margin-top:0}.list-group-horizontal .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm .list-group-item.active{margin-top:0}.list-group-horizontal-sm .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md .list-group-item.active{margin-top:0}.list-group-horizontal-md .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg .list-group-item.active{margin-top:0}.list-group-horizontal-lg .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl .list-group-item.active{margin-top:0}.list-group-horizontal-xl .list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl .list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush .list-group-item{border-right-width:0;border-left-width:0;border-radius:0}.list-group-flush .list-group-item:first-child{border-top-width:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:\"\"}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}\n/*# sourceMappingURL=bootstrap.min.css.map */"
  },
  {
    "path": "Happy Birthday_files/jquery.js",
    "content": "/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */ ! function(a, b) {\n    \"object\" == typeof module && \"object\" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) {\n        if (!a.document) throw new Error(\"jQuery requires a window with a document\");\n        return b(a)\n    } : b(a)\n}(\"undefined\" != typeof window ? window : this, function(a, b) {\n    var c = [],\n        d = a.document,\n        e = c.slice,\n        f = c.concat,\n        g = c.push,\n        h = c.indexOf,\n        i = {},\n        j = i.toString,\n        k = i.hasOwnProperty,\n        l = {},\n        m = \"2.2.4\",\n        n = function(a, b) {\n            return new n.fn.init(a, b)\n        },\n        o = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n        p = /^-ms-/,\n        q = /-([\\da-z])/gi,\n        r = function(a, b) {\n            return b.toUpperCase()\n        };\n    n.fn = n.prototype = {\n        jquery: m,\n        constructor: n,\n        selector: \"\",\n        length: 0,\n        toArray: function() {\n            return e.call(this)\n        },\n        get: function(a) {\n            return null != a ? 0 > a ? this[a + this.length] : this[a] : e.call(this)\n        },\n        pushStack: function(a) {\n            var b = n.merge(this.constructor(), a);\n            return b.prevObject = this, b.context = this.context, b\n        },\n        each: function(a) {\n            return n.each(this, a)\n        },\n        map: function(a) {\n            return this.pushStack(n.map(this, function(b, c) {\n                return a.call(b, c, b)\n            }))\n        },\n        slice: function() {\n            return this.pushStack(e.apply(this, arguments))\n        },\n        first: function() {\n            return this.eq(0)\n        },\n        last: function() {\n            return this.eq(-1)\n        },\n        eq: function(a) {\n            var b = this.length,\n                c = +a + (0 > a ? b : 0);\n            return this.pushStack(c >= 0 && b > c ? [this[c]] : [])\n        },\n        end: function() {\n            return this.prevObject || this.constructor()\n        },\n        push: g,\n        sort: c.sort,\n        splice: c.splice\n    }, n.extend = n.fn.extend = function() {\n        var a, b, c, d, e, f, g = arguments[0] || {},\n            h = 1,\n            i = arguments.length,\n            j = !1;\n        for (\"boolean\" == typeof g && (j = g, g = arguments[h] || {}, h++), \"object\" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++)\n            if (null != (a = arguments[h]))\n                for (b in a) c = g[b], d = a[b], g !== d && (j && d && (n.isPlainObject(d) || (e = n.isArray(d))) ? (e ? (e = !1, f = c && n.isArray(c) ? c : []) : f = c && n.isPlainObject(c) ? c : {}, g[b] = n.extend(j, f, d)) : void 0 !== d && (g[b] = d));\n        return g\n    }, n.extend({\n        expando: \"jQuery\" + (m + Math.random()).replace(/\\D/g, \"\"),\n        isReady: !0,\n        error: function(a) {\n            throw new Error(a)\n        },\n        noop: function() {},\n        isFunction: function(a) {\n            return \"function\" === n.type(a)\n        },\n        isArray: Array.isArray,\n        isWindow: function(a) {\n            return null != a && a === a.window\n        },\n        isNumeric: function(a) {\n            var b = a && a.toString();\n            return !n.isArray(a) && b - parseFloat(b) + 1 >= 0\n        },\n        isPlainObject: function(a) {\n            var b;\n            if (\"object\" !== n.type(a) || a.nodeType || n.isWindow(a)) return !1;\n            if (a.constructor && !k.call(a, \"constructor\") && !k.call(a.constructor.prototype || {}, \"isPrototypeOf\")) return !1;\n            for (b in a);\n            return void 0 === b || k.call(a, b)\n        },\n        isEmptyObject: function(a) {\n            var b;\n            for (b in a) return !1;\n            return !0\n        },\n        type: function(a) {\n            return null == a ? a + \"\" : \"object\" == typeof a || \"function\" == typeof a ? i[j.call(a)] || \"object\" : typeof a\n        },\n        globalEval: function(a) {\n            var b, c = eval;\n            a = n.trim(a), a && (1 === a.indexOf(\"use strict\") ? (b = d.createElement(\"script\"), b.text = a, d.head.appendChild(b).parentNode.removeChild(b)) : c(a))\n        },\n        camelCase: function(a) {\n            return a.replace(p, \"ms-\").replace(q, r)\n        },\n        nodeName: function(a, b) {\n            return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()\n        },\n        each: function(a, b) {\n            var c, d = 0;\n            if (s(a)) {\n                for (c = a.length; c > d; d++)\n                    if (b.call(a[d], d, a[d]) === !1) break\n            } else\n                for (d in a)\n                    if (b.call(a[d], d, a[d]) === !1) break;\n            return a\n        },\n        trim: function(a) {\n            return null == a ? \"\" : (a + \"\").replace(o, \"\")\n        },\n        makeArray: function(a, b) {\n            var c = b || [];\n            return null != a && (s(Object(a)) ? n.merge(c, \"string\" == typeof a ? [a] : a) : g.call(c, a)), c\n        },\n        inArray: function(a, b, c) {\n            return null == b ? -1 : h.call(b, a, c)\n        },\n        merge: function(a, b) {\n            for (var c = +b.length, d = 0, e = a.length; c > d; d++) a[e++] = b[d];\n            return a.length = e, a\n        },\n        grep: function(a, b, c) {\n            for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]);\n            return e\n        },\n        map: function(a, b, c) {\n            var d, e, g = 0,\n                h = [];\n            if (s(a))\n                for (d = a.length; d > g; g++) e = b(a[g], g, c), null != e && h.push(e);\n            else\n                for (g in a) e = b(a[g], g, c), null != e && h.push(e);\n            return f.apply([], h)\n        },\n        guid: 1,\n        proxy: function(a, b) {\n            var c, d, f;\n            return \"string\" == typeof b && (c = a[b], b = a, a = c), n.isFunction(a) ? (d = e.call(arguments, 2), f = function() {\n                return a.apply(b || this, d.concat(e.call(arguments)))\n            }, f.guid = a.guid = a.guid || n.guid++, f) : void 0\n        },\n        now: Date.now,\n        support: l\n    }), \"function\" == typeof Symbol && (n.fn[Symbol.iterator] = c[Symbol.iterator]), n.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function(a, b) {\n        i[\"[object \" + b + \"]\"] = b.toLowerCase()\n    });\n\n    function s(a) {\n        var b = !!a && \"length\" in a && a.length,\n            c = n.type(a);\n        return \"function\" === c || n.isWindow(a) ? !1 : \"array\" === c || 0 === b || \"number\" == typeof b && b > 0 && b - 1 in a\n    }\n    var t = function(a) {\n        var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = \"sizzle\" + 1 * new Date,\n            v = a.document,\n            w = 0,\n            x = 0,\n            y = ga(),\n            z = ga(),\n            A = ga(),\n            B = function(a, b) {\n                return a === b && (l = !0), 0\n            },\n            C = 1 << 31,\n            D = {}.hasOwnProperty,\n            E = [],\n            F = E.pop,\n            G = E.push,\n            H = E.push,\n            I = E.slice,\n            J = function(a, b) {\n                for (var c = 0, d = a.length; d > c; c++)\n                    if (a[c] === b) return c;\n                return -1\n            },\n            K = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n            L = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n            M = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n            N = \"\\\\[\" + L + \"*(\" + M + \")(?:\" + L + \"*([*^$|!~]?=)\" + L + \"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + M + \"))|)\" + L + \"*\\\\]\",\n            O = \":(\" + M + \")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + N + \")*)|.*)\\\\)|)\",\n            P = new RegExp(L + \"+\", \"g\"),\n            Q = new RegExp(\"^\" + L + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + L + \"+$\", \"g\"),\n            R = new RegExp(\"^\" + L + \"*,\" + L + \"*\"),\n            S = new RegExp(\"^\" + L + \"*([>+~]|\" + L + \")\" + L + \"*\"),\n            T = new RegExp(\"=\" + L + \"*([^\\\\]'\\\"]*?)\" + L + \"*\\\\]\", \"g\"),\n            U = new RegExp(O),\n            V = new RegExp(\"^\" + M + \"$\"),\n            W = {\n                ID: new RegExp(\"^#(\" + M + \")\"),\n                CLASS: new RegExp(\"^\\\\.(\" + M + \")\"),\n                TAG: new RegExp(\"^(\" + M + \"|[*])\"),\n                ATTR: new RegExp(\"^\" + N),\n                PSEUDO: new RegExp(\"^\" + O),\n                CHILD: new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + L + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + L + \"*(?:([+-]|)\" + L + \"*(\\\\d+)|))\" + L + \"*\\\\)|)\", \"i\"),\n                bool: new RegExp(\"^(?:\" + K + \")$\", \"i\"),\n                needsContext: new RegExp(\"^\" + L + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + L + \"*((?:-\\\\d)?\\\\d*)\" + L + \"*\\\\)|)(?=[^-]|$)\", \"i\")\n            },\n            X = /^(?:input|select|textarea|button)$/i,\n            Y = /^h\\d$/i,\n            Z = /^[^{]+\\{\\s*\\[native \\w/,\n            $ = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n            _ = /[+~]/,\n            aa = /'|\\\\/g,\n            ba = new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\" + L + \"?|(\" + L + \")|.)\", \"ig\"),\n            ca = function(a, b, c) {\n                var d = \"0x\" + b - 65536;\n                return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320)\n            },\n            da = function() {\n                m()\n            };\n        try {\n            H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType\n        } catch (ea) {\n            H = {\n                apply: E.length ? function(a, b) {\n                    G.apply(a, I.call(b))\n                } : function(a, b) {\n                    var c = a.length,\n                        d = 0;\n                    while (a[c++] = b[d++]);\n                    a.length = c - 1\n                }\n            }\n        }\n\n        function fa(a, b, d, e) {\n            var f, h, j, k, l, o, r, s, w = b && b.ownerDocument,\n                x = b ? b.nodeType : 9;\n            if (d = d || [], \"string\" != typeof a || !a || 1 !== x && 9 !== x && 11 !== x) return d;\n            if (!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) {\n                if (11 !== x && (o = $.exec(a)))\n                    if (f = o[1]) {\n                        if (9 === x) {\n                            if (!(j = b.getElementById(f))) return d;\n                            if (j.id === f) return d.push(j), d\n                        } else if (w && (j = w.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d\n                    } else {\n                        if (o[2]) return H.apply(d, b.getElementsByTagName(a)), d;\n                        if ((f = o[3]) && c.getElementsByClassName && b.getElementsByClassName) return H.apply(d, b.getElementsByClassName(f)), d\n                    }\n                if (c.qsa && !A[a + \" \"] && (!q || !q.test(a))) {\n                    if (1 !== x) w = b, s = a;\n                    else if (\"object\" !== b.nodeName.toLowerCase()) {\n                        (k = b.getAttribute(\"id\")) ? k = k.replace(aa, \"\\\\$&\"): b.setAttribute(\"id\", k = u), r = g(a), h = r.length, l = V.test(k) ? \"#\" + k : \"[id='\" + k + \"']\";\n                        while (h--) r[h] = l + \" \" + qa(r[h]);\n                        s = r.join(\",\"), w = _.test(a) && oa(b.parentNode) || b\n                    }\n                    if (s) try {\n                        return H.apply(d, w.querySelectorAll(s)), d\n                    } catch (y) {} finally {\n                        k === u && b.removeAttribute(\"id\")\n                    }\n                }\n            }\n            return i(a.replace(Q, \"$1\"), b, d, e)\n        }\n\n        function ga() {\n            var a = [];\n\n            function b(c, e) {\n                return a.push(c + \" \") > d.cacheLength && delete b[a.shift()], b[c + \" \"] = e\n            }\n            return b\n        }\n\n        function ha(a) {\n            return a[u] = !0, a\n        }\n\n        function ia(a) {\n            var b = n.createElement(\"div\");\n            try {\n                return !!a(b)\n            } catch (c) {\n                return !1\n            } finally {\n                b.parentNode && b.parentNode.removeChild(b), b = null\n            }\n        }\n\n        function ja(a, b) {\n            var c = a.split(\"|\"),\n                e = c.length;\n            while (e--) d.attrHandle[c[e]] = b\n        }\n\n        function ka(a, b) {\n            var c = b && a,\n                d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C);\n            if (d) return d;\n            if (c)\n                while (c = c.nextSibling)\n                    if (c === b) return -1;\n            return a ? 1 : -1\n        }\n\n        function la(a) {\n            return function(b) {\n                var c = b.nodeName.toLowerCase();\n                return \"input\" === c && b.type === a\n            }\n        }\n\n        function ma(a) {\n            return function(b) {\n                var c = b.nodeName.toLowerCase();\n                return (\"input\" === c || \"button\" === c) && b.type === a\n            }\n        }\n\n        function na(a) {\n            return ha(function(b) {\n                return b = +b, ha(function(c, d) {\n                    var e, f = a([], c.length, b),\n                        g = f.length;\n                    while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e]))\n                })\n            })\n        }\n\n        function oa(a) {\n            return a && \"undefined\" != typeof a.getElementsByTagName && a\n        }\n        c = fa.support = {}, f = fa.isXML = function(a) {\n            var b = a && (a.ownerDocument || a).documentElement;\n            return b ? \"HTML\" !== b.nodeName : !1\n        }, m = fa.setDocument = function(a) {\n            var b, e, g = a ? a.ownerDocument || a : v;\n            return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), (e = n.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener(\"unload\", da, !1) : e.attachEvent && e.attachEvent(\"onunload\", da)), c.attributes = ia(function(a) {\n                return a.className = \"i\", !a.getAttribute(\"className\")\n            }), c.getElementsByTagName = ia(function(a) {\n                return a.appendChild(n.createComment(\"\")), !a.getElementsByTagName(\"*\").length\n            }), c.getElementsByClassName = Z.test(n.getElementsByClassName), c.getById = ia(function(a) {\n                return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length\n            }), c.getById ? (d.find.ID = function(a, b) {\n                if (\"undefined\" != typeof b.getElementById && p) {\n                    var c = b.getElementById(a);\n                    return c ? [c] : []\n                }\n            }, d.filter.ID = function(a) {\n                var b = a.replace(ba, ca);\n                return function(a) {\n                    return a.getAttribute(\"id\") === b\n                }\n            }) : (delete d.find.ID, d.filter.ID = function(a) {\n                var b = a.replace(ba, ca);\n                return function(a) {\n                    var c = \"undefined\" != typeof a.getAttributeNode && a.getAttributeNode(\"id\");\n                    return c && c.value === b\n                }\n            }), d.find.TAG = c.getElementsByTagName ? function(a, b) {\n                return \"undefined\" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0\n            } : function(a, b) {\n                var c, d = [],\n                    e = 0,\n                    f = b.getElementsByTagName(a);\n                if (\"*\" === a) {\n                    while (c = f[e++]) 1 === c.nodeType && d.push(c);\n                    return d\n                }\n                return f\n            }, d.find.CLASS = c.getElementsByClassName && function(a, b) {\n                return \"undefined\" != typeof b.getElementsByClassName && p ? b.getElementsByClassName(a) : void 0\n            }, r = [], q = [], (c.qsa = Z.test(n.querySelectorAll)) && (ia(function(a) {\n                o.appendChild(a).innerHTML = \"<a id='\" + u + \"'></a><select id='\" + u + \"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\", a.querySelectorAll(\"[msallowcapture^='']\").length && q.push(\"[*^$]=\" + L + \"*(?:''|\\\"\\\")\"), a.querySelectorAll(\"[selected]\").length || q.push(\"\\\\[\" + L + \"*(?:value|\" + K + \")\"), a.querySelectorAll(\"[id~=\" + u + \"-]\").length || q.push(\"~=\"), a.querySelectorAll(\":checked\").length || q.push(\":checked\"), a.querySelectorAll(\"a#\" + u + \"+*\").length || q.push(\".#.+[+~]\")\n            }), ia(function(a) {\n                var b = n.createElement(\"input\");\n                b.setAttribute(\"type\", \"hidden\"), a.appendChild(b).setAttribute(\"name\", \"D\"), a.querySelectorAll(\"[name=d]\").length && q.push(\"name\" + L + \"*[*^$|!~]?=\"), a.querySelectorAll(\":enabled\").length || q.push(\":enabled\", \":disabled\"), a.querySelectorAll(\"*,:x\"), q.push(\",.*:\")\n            })), (c.matchesSelector = Z.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ia(function(a) {\n                c.disconnectedMatch = s.call(a, \"div\"), s.call(a, \"[s!='']:x\"), r.push(\"!=\", O)\n            }), q = q.length && new RegExp(q.join(\"|\")), r = r.length && new RegExp(r.join(\"|\")), b = Z.test(o.compareDocumentPosition), t = b || Z.test(o.contains) ? function(a, b) {\n                var c = 9 === a.nodeType ? a.documentElement : a,\n                    d = b && b.parentNode;\n                return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))\n            } : function(a, b) {\n                if (b)\n                    while (b = b.parentNode)\n                        if (b === a) return !0;\n                return !1\n            }, B = b ? function(a, b) {\n                if (a === b) return l = !0, 0;\n                var d = !a.compareDocumentPosition - !b.compareDocumentPosition;\n                return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v && t(v, a) ? -1 : b === n || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1)\n            } : function(a, b) {\n                if (a === b) return l = !0, 0;\n                var c, d = 0,\n                    e = a.parentNode,\n                    f = b.parentNode,\n                    g = [a],\n                    h = [b];\n                if (!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0;\n                if (e === f) return ka(a, b);\n                c = a;\n                while (c = c.parentNode) g.unshift(c);\n                c = b;\n                while (c = c.parentNode) h.unshift(c);\n                while (g[d] === h[d]) d++;\n                return d ? ka(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0\n            }, n) : n\n        }, fa.matches = function(a, b) {\n            return fa(a, null, null, b)\n        }, fa.matchesSelector = function(a, b) {\n            if ((a.ownerDocument || a) !== n && m(a), b = b.replace(T, \"='$1']\"), c.matchesSelector && p && !A[b + \" \"] && (!r || !r.test(b)) && (!q || !q.test(b))) try {\n                var d = s.call(a, b);\n                if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d\n            } catch (e) {}\n            return fa(b, n, null, [a]).length > 0\n        }, fa.contains = function(a, b) {\n            return (a.ownerDocument || a) !== n && m(a), t(a, b)\n        }, fa.attr = function(a, b) {\n            (a.ownerDocument || a) !== n && m(a);\n            var e = d.attrHandle[b.toLowerCase()],\n                f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;\n            return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null\n        }, fa.error = function(a) {\n            throw new Error(\"Syntax error, unrecognized expression: \" + a)\n        }, fa.uniqueSort = function(a) {\n            var b, d = [],\n                e = 0,\n                f = 0;\n            if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) {\n                while (b = a[f++]) b === a[f] && (e = d.push(f));\n                while (e--) a.splice(d[e], 1)\n            }\n            return k = null, a\n        }, e = fa.getText = function(a) {\n            var b, c = \"\",\n                d = 0,\n                f = a.nodeType;\n            if (f) {\n                if (1 === f || 9 === f || 11 === f) {\n                    if (\"string\" == typeof a.textContent) return a.textContent;\n                    for (a = a.firstChild; a; a = a.nextSibling) c += e(a)\n                } else if (3 === f || 4 === f) return a.nodeValue\n            } else\n                while (b = a[d++]) c += e(b);\n            return c\n        }, d = fa.selectors = {\n            cacheLength: 50,\n            createPseudo: ha,\n            match: W,\n            attrHandle: {},\n            find: {},\n            relative: {\n                \">\": {\n                    dir: \"parentNode\",\n                    first: !0\n                },\n                \" \": {\n                    dir: \"parentNode\"\n                },\n                \"+\": {\n                    dir: \"previousSibling\",\n                    first: !0\n                },\n                \"~\": {\n                    dir: \"previousSibling\"\n                }\n            },\n            preFilter: {\n                ATTR: function(a) {\n                    return a[1] = a[1].replace(ba, ca), a[3] = (a[3] || a[4] || a[5] || \"\").replace(ba, ca), \"~=\" === a[2] && (a[3] = \" \" + a[3] + \" \"), a.slice(0, 4)\n                },\n                CHILD: function(a) {\n                    return a[1] = a[1].toLowerCase(), \"nth\" === a[1].slice(0, 3) ? (a[3] || fa.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * (\"even\" === a[3] || \"odd\" === a[3])), a[5] = +(a[7] + a[8] || \"odd\" === a[3])) : a[3] && fa.error(a[0]), a\n                },\n                PSEUDO: function(a) {\n                    var b, c = !a[6] && a[2];\n                    return W.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || \"\" : c && U.test(c) && (b = g(c, !0)) && (b = c.indexOf(\")\", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))\n                }\n            },\n            filter: {\n                TAG: function(a) {\n                    var b = a.replace(ba, ca).toLowerCase();\n                    return \"*\" === a ? function() {\n                        return !0\n                    } : function(a) {\n                        return a.nodeName && a.nodeName.toLowerCase() === b\n                    }\n                },\n                CLASS: function(a) {\n                    var b = y[a + \" \"];\n                    return b || (b = new RegExp(\"(^|\" + L + \")\" + a + \"(\" + L + \"|$)\")) && y(a, function(a) {\n                        return b.test(\"string\" == typeof a.className && a.className || \"undefined\" != typeof a.getAttribute && a.getAttribute(\"class\") || \"\")\n                    })\n                },\n                ATTR: function(a, b, c) {\n                    return function(d) {\n                        var e = fa.attr(d, a);\n                        return null == e ? \"!=\" === b : b ? (e += \"\", \"=\" === b ? e === c : \"!=\" === b ? e !== c : \"^=\" === b ? c && 0 === e.indexOf(c) : \"*=\" === b ? c && e.indexOf(c) > -1 : \"$=\" === b ? c && e.slice(-c.length) === c : \"~=\" === b ? (\" \" + e.replace(P, \" \") + \" \").indexOf(c) > -1 : \"|=\" === b ? e === c || e.slice(0, c.length + 1) === c + \"-\" : !1) : !0\n                    }\n                },\n                CHILD: function(a, b, c, d, e) {\n                    var f = \"nth\" !== a.slice(0, 3),\n                        g = \"last\" !== a.slice(-4),\n                        h = \"of-type\" === b;\n                    return 1 === d && 0 === e ? function(a) {\n                        return !!a.parentNode\n                    } : function(b, c, i) {\n                        var j, k, l, m, n, o, p = f !== g ? \"nextSibling\" : \"previousSibling\",\n                            q = b.parentNode,\n                            r = h && b.nodeName.toLowerCase(),\n                            s = !i && !h,\n                            t = !1;\n                        if (q) {\n                            if (f) {\n                                while (p) {\n                                    m = b;\n                                    while (m = m[p])\n                                        if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1;\n                                    o = p = \"only\" === a && !o && \"nextSibling\"\n                                }\n                                return !0\n                            }\n                            if (o = [g ? q.firstChild : q.lastChild], g && s) {\n                                m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n && j[2], m = n && q.childNodes[n];\n                                while (m = ++n && m && m[p] || (t = n = 0) || o.pop())\n                                    if (1 === m.nodeType && ++t && m === b) {\n                                        k[a] = [w, n, t];\n                                        break\n                                    }\n                            } else if (s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n), t === !1)\n                                while (m = ++n && m && m[p] || (t = n = 0) || o.pop())\n                                    if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break;\n                            return t -= e, t === d || t % d === 0 && t / d >= 0\n                        }\n                    }\n                },\n                PSEUDO: function(a, b) {\n                    var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || fa.error(\"unsupported pseudo: \" + a);\n                    return e[u] ? e(b) : e.length > 1 ? (c = [a, a, \"\", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ha(function(a, c) {\n                        var d, f = e(a, b),\n                            g = f.length;\n                        while (g--) d = J(a, f[g]), a[d] = !(c[d] = f[g])\n                    }) : function(a) {\n                        return e(a, 0, c)\n                    }) : e\n                }\n            },\n            pseudos: {\n                not: ha(function(a) {\n                    var b = [],\n                        c = [],\n                        d = h(a.replace(Q, \"$1\"));\n                    return d[u] ? ha(function(a, b, c, e) {\n                        var f, g = d(a, null, e, []),\n                            h = a.length;\n                        while (h--)(f = g[h]) && (a[h] = !(b[h] = f))\n                    }) : function(a, e, f) {\n                        return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()\n                    }\n                }),\n                has: ha(function(a) {\n                    return function(b) {\n                        return fa(a, b).length > 0\n                    }\n                }),\n                contains: ha(function(a) {\n                    return a = a.replace(ba, ca),\n                        function(b) {\n                            return (b.textContent || b.innerText || e(b)).indexOf(a) > -1\n                        }\n                }),\n                lang: ha(function(a) {\n                    return V.test(a || \"\") || fa.error(\"unsupported lang: \" + a), a = a.replace(ba, ca).toLowerCase(),\n                        function(b) {\n                            var c;\n                            do\n                                if (c = p ? b.lang : b.getAttribute(\"xml:lang\") || b.getAttribute(\"lang\")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + \"-\");\n                            while ((b = b.parentNode) && 1 === b.nodeType);\n                            return !1\n                        }\n                }),\n                target: function(b) {\n                    var c = a.location && a.location.hash;\n                    return c && c.slice(1) === b.id\n                },\n                root: function(a) {\n                    return a === o\n                },\n                focus: function(a) {\n                    return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)\n                },\n                enabled: function(a) {\n                    return a.disabled === !1\n                },\n                disabled: function(a) {\n                    return a.disabled === !0\n                },\n                checked: function(a) {\n                    var b = a.nodeName.toLowerCase();\n                    return \"input\" === b && !!a.checked || \"option\" === b && !!a.selected\n                },\n                selected: function(a) {\n                    return a.parentNode && a.parentNode.selectedIndex, a.selected === !0\n                },\n                empty: function(a) {\n                    for (a = a.firstChild; a; a = a.nextSibling)\n                        if (a.nodeType < 6) return !1;\n                    return !0\n                },\n                parent: function(a) {\n                    return !d.pseudos.empty(a)\n                },\n                header: function(a) {\n                    return Y.test(a.nodeName)\n                },\n                input: function(a) {\n                    return X.test(a.nodeName)\n                },\n                button: function(a) {\n                    var b = a.nodeName.toLowerCase();\n                    return \"input\" === b && \"button\" === a.type || \"button\" === b\n                },\n                text: function(a) {\n                    var b;\n                    return \"input\" === a.nodeName.toLowerCase() && \"text\" === a.type && (null == (b = a.getAttribute(\"type\")) || \"text\" === b.toLowerCase())\n                },\n                first: na(function() {\n                    return [0]\n                }),\n                last: na(function(a, b) {\n                    return [b - 1]\n                }),\n                eq: na(function(a, b, c) {\n                    return [0 > c ? c + b : c]\n                }),\n                even: na(function(a, b) {\n                    for (var c = 0; b > c; c += 2) a.push(c);\n                    return a\n                }),\n                odd: na(function(a, b) {\n                    for (var c = 1; b > c; c += 2) a.push(c);\n                    return a\n                }),\n                lt: na(function(a, b, c) {\n                    for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d);\n                    return a\n                }),\n                gt: na(function(a, b, c) {\n                    for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d);\n                    return a\n                })\n            }\n        }, d.pseudos.nth = d.pseudos.eq;\n        for (b in {\n                radio: !0,\n                checkbox: !0,\n                file: !0,\n                password: !0,\n                image: !0\n            }) d.pseudos[b] = la(b);\n        for (b in {\n                submit: !0,\n                reset: !0\n            }) d.pseudos[b] = ma(b);\n\n        function pa() {}\n        pa.prototype = d.filters = d.pseudos, d.setFilters = new pa, g = fa.tokenize = function(a, b) {\n            var c, e, f, g, h, i, j, k = z[a + \" \"];\n            if (k) return b ? 0 : k.slice(0);\n            h = a, i = [], j = d.preFilter;\n            while (h) {\n                c && !(e = R.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = S.exec(h)) && (c = e.shift(), f.push({\n                    value: c,\n                    type: e[0].replace(Q, \" \")\n                }), h = h.slice(c.length));\n                for (g in d.filter) !(e = W[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({\n                    value: c,\n                    type: g,\n                    matches: e\n                }), h = h.slice(c.length));\n                if (!c) break\n            }\n            return b ? h.length : h ? fa.error(a) : z(a, i).slice(0)\n        };\n\n        function qa(a) {\n            for (var b = 0, c = a.length, d = \"\"; c > b; b++) d += a[b].value;\n            return d\n        }\n\n        function ra(a, b, c) {\n            var d = b.dir,\n                e = c && \"parentNode\" === d,\n                f = x++;\n            return b.first ? function(b, c, f) {\n                while (b = b[d])\n                    if (1 === b.nodeType || e) return a(b, c, f)\n            } : function(b, c, g) {\n                var h, i, j, k = [w, f];\n                if (g) {\n                    while (b = b[d])\n                        if ((1 === b.nodeType || e) && a(b, c, g)) return !0\n                } else\n                    while (b = b[d])\n                        if (1 === b.nodeType || e) {\n                            if (j = b[u] || (b[u] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === w && h[1] === f) return k[2] = h[2];\n                            if (i[d] = k, k[2] = a(b, c, g)) return !0\n                        }\n            }\n        }\n\n        function sa(a) {\n            return a.length > 1 ? function(b, c, d) {\n                var e = a.length;\n                while (e--)\n                    if (!a[e](b, c, d)) return !1;\n                return !0\n            } : a[0]\n        }\n\n        function ta(a, b, c) {\n            for (var d = 0, e = b.length; e > d; d++) fa(a, b[d], c);\n            return c\n        }\n\n        function ua(a, b, c, d, e) {\n            for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h)));\n            return g\n        }\n\n        function va(a, b, c, d, e, f) {\n            return d && !d[u] && (d = va(d)), e && !e[u] && (e = va(e, f)), ha(function(f, g, h, i) {\n                var j, k, l, m = [],\n                    n = [],\n                    o = g.length,\n                    p = f || ta(b || \"*\", h.nodeType ? [h] : h, []),\n                    q = !a || !f && b ? p : ua(p, m, a, h, i),\n                    r = c ? e || (f ? a : o || d) ? [] : g : q;\n                if (c && c(q, r, h, i), d) {\n                    j = ua(r, n), d(j, [], h, i), k = j.length;\n                    while (k--)(l = j[k]) && (r[n[k]] = !(q[n[k]] = l))\n                }\n                if (f) {\n                    if (e || a) {\n                        if (e) {\n                            j = [], k = r.length;\n                            while (k--)(l = r[k]) && j.push(q[k] = l);\n                            e(null, r = [], j, i)\n                        }\n                        k = r.length;\n                        while (k--)(l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l))\n                    }\n                } else r = ua(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r)\n            })\n        }\n\n        function wa(a) {\n            for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[\" \"], i = g ? 1 : 0, k = ra(function(a) {\n                    return a === b\n                }, h, !0), l = ra(function(a) {\n                    return J(b, a) > -1\n                }, h, !0), m = [function(a, c, d) {\n                    var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));\n                    return b = null, e\n                }]; f > i; i++)\n                if (c = d.relative[a[i].type]) m = [ra(sa(m), c)];\n                else {\n                    if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {\n                        for (e = ++i; f > e; e++)\n                            if (d.relative[a[e].type]) break;\n                        return va(i > 1 && sa(m), i > 1 && qa(a.slice(0, i - 1).concat({\n                            value: \" \" === a[i - 2].type ? \"*\" : \"\"\n                        })).replace(Q, \"$1\"), c, e > i && wa(a.slice(i, e)), f > e && wa(a = a.slice(e)), f > e && qa(a))\n                    }\n                    m.push(c)\n                }\n            return sa(m)\n        }\n\n        function xa(a, b) {\n            var c = b.length > 0,\n                e = a.length > 0,\n                f = function(f, g, h, i, k) {\n                    var l, o, q, r = 0,\n                        s = \"0\",\n                        t = f && [],\n                        u = [],\n                        v = j,\n                        x = f || e && d.find.TAG(\"*\", k),\n                        y = w += null == v ? 1 : Math.random() || .1,\n                        z = x.length;\n                    for (k && (j = g === n || g || k); s !== z && null != (l = x[s]); s++) {\n                        if (e && l) {\n                            o = 0, g || l.ownerDocument === n || (m(l), h = !p);\n                            while (q = a[o++])\n                                if (q(l, g || n, h)) {\n                                    i.push(l);\n                                    break\n                                }\n                            k && (w = y)\n                        }\n                        c && ((l = !q && l) && r--, f && t.push(l))\n                    }\n                    if (r += s, c && s !== r) {\n                        o = 0;\n                        while (q = b[o++]) q(t, u, g, h);\n                        if (f) {\n                            if (r > 0)\n                                while (s--) t[s] || u[s] || (u[s] = F.call(i));\n                            u = ua(u)\n                        }\n                        H.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && fa.uniqueSort(i)\n                    }\n                    return k && (w = y, j = v), t\n                };\n            return c ? ha(f) : f\n        }\n        return h = fa.compile = function(a, b) {\n            var c, d = [],\n                e = [],\n                f = A[a + \" \"];\n            if (!f) {\n                b || (b = g(a)), c = b.length;\n                while (c--) f = wa(b[c]), f[u] ? d.push(f) : e.push(f);\n                f = A(a, xa(e, d)), f.selector = a\n            }\n            return f\n        }, i = fa.select = function(a, b, e, f) {\n            var i, j, k, l, m, n = \"function\" == typeof a && a,\n                o = !f && g(a = n.selector || a);\n            if (e = e || [], 1 === o.length) {\n                if (j = o[0] = o[0].slice(0), j.length > 2 && \"ID\" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) {\n                    if (b = (d.find.ID(k.matches[0].replace(ba, ca), b) || [])[0], !b) return e;\n                    n && (b = b.parentNode), a = a.slice(j.shift().value.length)\n                }\n                i = W.needsContext.test(a) ? 0 : j.length;\n                while (i--) {\n                    if (k = j[i], d.relative[l = k.type]) break;\n                    if ((m = d.find[l]) && (f = m(k.matches[0].replace(ba, ca), _.test(j[0].type) && oa(b.parentNode) || b))) {\n                        if (j.splice(i, 1), a = f.length && qa(j), !a) return H.apply(e, f), e;\n                        break\n                    }\n                }\n            }\n            return (n || h(a, o))(f, b, !p, e, !b || _.test(a) && oa(b.parentNode) || b), e\n        }, c.sortStable = u.split(\"\").sort(B).join(\"\") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ia(function(a) {\n            return 1 & a.compareDocumentPosition(n.createElement(\"div\"))\n        }), ia(function(a) {\n            return a.innerHTML = \"<a href='#'></a>\", \"#\" === a.firstChild.getAttribute(\"href\")\n        }) || ja(\"type|href|height|width\", function(a, b, c) {\n            return c ? void 0 : a.getAttribute(b, \"type\" === b.toLowerCase() ? 1 : 2)\n        }), c.attributes && ia(function(a) {\n            return a.innerHTML = \"<input/>\", a.firstChild.setAttribute(\"value\", \"\"), \"\" === a.firstChild.getAttribute(\"value\")\n        }) || ja(\"value\", function(a, b, c) {\n            return c || \"input\" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue\n        }), ia(function(a) {\n            return null == a.getAttribute(\"disabled\")\n        }) || ja(K, function(a, b, c) {\n            var d;\n            return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null\n        }), fa\n    }(a);\n    n.find = t, n.expr = t.selectors, n.expr[\":\"] = n.expr.pseudos, n.uniqueSort = n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains;\n    var u = function(a, b, c) {\n            var d = [],\n                e = void 0 !== c;\n            while ((a = a[b]) && 9 !== a.nodeType)\n                if (1 === a.nodeType) {\n                    if (e && n(a).is(c)) break;\n                    d.push(a)\n                }\n            return d\n        },\n        v = function(a, b) {\n            for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);\n            return c\n        },\n        w = n.expr.match.needsContext,\n        x = /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,\n        y = /^.[^:#\\[\\.,]*$/;\n\n    function z(a, b, c) {\n        if (n.isFunction(b)) return n.grep(a, function(a, d) {\n            return !!b.call(a, d, a) !== c\n        });\n        if (b.nodeType) return n.grep(a, function(a) {\n            return a === b !== c\n        });\n        if (\"string\" == typeof b) {\n            if (y.test(b)) return n.filter(b, a, c);\n            b = n.filter(b, a)\n        }\n        return n.grep(a, function(a) {\n            return h.call(b, a) > -1 !== c\n        })\n    }\n    n.filter = function(a, b, c) {\n        var d = b[0];\n        return c && (a = \":not(\" + a + \")\"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function(a) {\n            return 1 === a.nodeType\n        }))\n    }, n.fn.extend({\n        find: function(a) {\n            var b, c = this.length,\n                d = [],\n                e = this;\n            if (\"string\" != typeof a) return this.pushStack(n(a).filter(function() {\n                for (b = 0; c > b; b++)\n                    if (n.contains(e[b], this)) return !0\n            }));\n            for (b = 0; c > b; b++) n.find(a, e[b], d);\n            return d = this.pushStack(c > 1 ? n.unique(d) : d), d.selector = this.selector ? this.selector + \" \" + a : a, d\n        },\n        filter: function(a) {\n            return this.pushStack(z(this, a || [], !1))\n        },\n        not: function(a) {\n            return this.pushStack(z(this, a || [], !0))\n        },\n        is: function(a) {\n            return !!z(this, \"string\" == typeof a && w.test(a) ? n(a) : a || [], !1).length\n        }\n    });\n    var A, B = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n        C = n.fn.init = function(a, b, c) {\n            var e, f;\n            if (!a) return this;\n            if (c = c || A, \"string\" == typeof a) {\n                if (e = \"<\" === a[0] && \">\" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : B.exec(a), !e || !e[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a);\n                if (e[1]) {\n                    if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)), x.test(e[1]) && n.isPlainObject(b))\n                        for (e in b) n.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);\n                    return this\n                }\n                return f = d.getElementById(e[2]), f && f.parentNode && (this.length = 1, this[0] = f), this.context = d, this.selector = a, this\n            }\n            return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? void 0 !== c.ready ? c.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this))\n        };\n    C.prototype = n.fn, A = n(d);\n    var D = /^(?:parents|prev(?:Until|All))/,\n        E = {\n            children: !0,\n            contents: !0,\n            next: !0,\n            prev: !0\n        };\n    n.fn.extend({\n        has: function(a) {\n            var b = n(a, this),\n                c = b.length;\n            return this.filter(function() {\n                for (var a = 0; c > a; a++)\n                    if (n.contains(this, b[a])) return !0\n            })\n        },\n        closest: function(a, b) {\n            for (var c, d = 0, e = this.length, f = [], g = w.test(a) || \"string\" != typeof a ? n(a, b || this.context) : 0; e > d; d++)\n                for (c = this[d]; c && c !== b; c = c.parentNode)\n                    if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) {\n                        f.push(c);\n                        break\n                    }\n            return this.pushStack(f.length > 1 ? n.uniqueSort(f) : f)\n        },\n        index: function(a) {\n            return a ? \"string\" == typeof a ? h.call(n(a), this[0]) : h.call(this, a.jquery ? a[0] : a) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1\n        },\n        add: function(a, b) {\n            return this.pushStack(n.uniqueSort(n.merge(this.get(), n(a, b))))\n        },\n        addBack: function(a) {\n            return this.add(null == a ? this.prevObject : this.prevObject.filter(a))\n        }\n    });\n\n    function F(a, b) {\n        while ((a = a[b]) && 1 !== a.nodeType);\n        return a\n    }\n    n.each({\n        parent: function(a) {\n            var b = a.parentNode;\n            return b && 11 !== b.nodeType ? b : null\n        },\n        parents: function(a) {\n            return u(a, \"parentNode\")\n        },\n        parentsUntil: function(a, b, c) {\n            return u(a, \"parentNode\", c)\n        },\n        next: function(a) {\n            return F(a, \"nextSibling\")\n        },\n        prev: function(a) {\n            return F(a, \"previousSibling\")\n        },\n        nextAll: function(a) {\n            return u(a, \"nextSibling\")\n        },\n        prevAll: function(a) {\n            return u(a, \"previousSibling\")\n        },\n        nextUntil: function(a, b, c) {\n            return u(a, \"nextSibling\", c)\n        },\n        prevUntil: function(a, b, c) {\n            return u(a, \"previousSibling\", c)\n        },\n        siblings: function(a) {\n            return v((a.parentNode || {}).firstChild, a)\n        },\n        children: function(a) {\n            return v(a.firstChild)\n        },\n        contents: function(a) {\n            return a.contentDocument || n.merge([], a.childNodes)\n        }\n    }, function(a, b) {\n        n.fn[a] = function(c, d) {\n            var e = n.map(this, b, c);\n            return \"Until\" !== a.slice(-5) && (d = c), d && \"string\" == typeof d && (e = n.filter(d, e)), this.length > 1 && (E[a] || n.uniqueSort(e), D.test(a) && e.reverse()), this.pushStack(e)\n        }\n    });\n    var G = /\\S+/g;\n\n    function H(a) {\n        var b = {};\n        return n.each(a.match(G) || [], function(a, c) {\n            b[c] = !0\n        }), b\n    }\n    n.Callbacks = function(a) {\n        a = \"string\" == typeof a ? H(a) : n.extend({}, a);\n        var b, c, d, e, f = [],\n            g = [],\n            h = -1,\n            i = function() {\n                for (e = a.once, d = b = !0; g.length; h = -1) {\n                    c = g.shift();\n                    while (++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1)\n                }\n                a.memory || (c = !1), b = !1, e && (f = c ? [] : \"\")\n            },\n            j = {\n                add: function() {\n                    return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) {\n                        n.each(b, function(b, c) {\n                            n.isFunction(c) ? a.unique && j.has(c) || f.push(c) : c && c.length && \"string\" !== n.type(c) && d(c)\n                        })\n                    }(arguments), c && !b && i()), this\n                },\n                remove: function() {\n                    return n.each(arguments, function(a, b) {\n                        var c;\n                        while ((c = n.inArray(b, f, c)) > -1) f.splice(c, 1), h >= c && h--\n                    }), this\n                },\n                has: function(a) {\n                    return a ? n.inArray(a, f) > -1 : f.length > 0\n                },\n                empty: function() {\n                    return f && (f = []), this\n                },\n                disable: function() {\n                    return e = g = [], f = c = \"\", this\n                },\n                disabled: function() {\n                    return !f\n                },\n                lock: function() {\n                    return e = g = [], c || (f = c = \"\"), this\n                },\n                locked: function() {\n                    return !!e\n                },\n                fireWith: function(a, c) {\n                    return e || (c = c || [], c = [a, c.slice ? c.slice() : c], g.push(c), b || i()), this\n                },\n                fire: function() {\n                    return j.fireWith(this, arguments), this\n                },\n                fired: function() {\n                    return !!d\n                }\n            };\n        return j\n    }, n.extend({\n        Deferred: function(a) {\n            var b = [\n                    [\"resolve\", \"done\", n.Callbacks(\"once memory\"), \"resolved\"],\n                    [\"reject\", \"fail\", n.Callbacks(\"once memory\"), \"rejected\"],\n                    [\"notify\", \"progress\", n.Callbacks(\"memory\")]\n                ],\n                c = \"pending\",\n                d = {\n                    state: function() {\n                        return c\n                    },\n                    always: function() {\n                        return e.done(arguments).fail(arguments), this\n                    },\n                    then: function() {\n                        var a = arguments;\n                        return n.Deferred(function(c) {\n                            n.each(b, function(b, f) {\n                                var g = n.isFunction(a[b]) && a[b];\n                                e[f[1]](function() {\n                                    var a = g && g.apply(this, arguments);\n                                    a && n.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[0] + \"With\"](this === d ? c.promise() : this, g ? [a] : arguments)\n                                })\n                            }), a = null\n                        }).promise()\n                    },\n                    promise: function(a) {\n                        return null != a ? n.extend(a, d) : d\n                    }\n                },\n                e = {};\n            return d.pipe = d.then, n.each(b, function(a, f) {\n                var g = f[2],\n                    h = f[3];\n                d[f[1]] = g.add, h && g.add(function() {\n                    c = h\n                }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() {\n                    return e[f[0] + \"With\"](this === e ? d : this, arguments), this\n                }, e[f[0] + \"With\"] = g.fireWith\n            }), d.promise(e), a && a.call(e, e), e\n        },\n        when: function(a) {\n            var b = 0,\n                c = e.call(arguments),\n                d = c.length,\n                f = 1 !== d || a && n.isFunction(a.promise) ? d : 0,\n                g = 1 === f ? a : n.Deferred(),\n                h = function(a, b, c) {\n                    return function(d) {\n                        b[a] = this, c[a] = arguments.length > 1 ? e.call(arguments) : d, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)\n                    }\n                },\n                i, j, k;\n            if (d > 1)\n                for (i = new Array(d), j = new Array(d), k = new Array(d); d > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b].promise().progress(h(b, j, i)).done(h(b, k, c)).fail(g.reject) : --f;\n            return f || g.resolveWith(k, c), g.promise()\n        }\n    });\n    var I;\n    n.fn.ready = function(a) {\n        return n.ready.promise().done(a), this\n    }, n.extend({\n        isReady: !1,\n        readyWait: 1,\n        holdReady: function(a) {\n            a ? n.readyWait++ : n.ready(!0)\n        },\n        ready: function(a) {\n            (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (I.resolveWith(d, [n]), n.fn.triggerHandler && (n(d).triggerHandler(\"ready\"), n(d).off(\"ready\"))))\n        }\n    });\n\n    function J() {\n        d.removeEventListener(\"DOMContentLoaded\", J), a.removeEventListener(\"load\", J), n.ready()\n    }\n    n.ready.promise = function(b) {\n        return I || (I = n.Deferred(), \"complete\" === d.readyState || \"loading\" !== d.readyState && !d.documentElement.doScroll ? a.setTimeout(n.ready) : (d.addEventListener(\"DOMContentLoaded\", J), a.addEventListener(\"load\", J))), I.promise(b)\n    }, n.ready.promise();\n    var K = function(a, b, c, d, e, f, g) {\n            var h = 0,\n                i = a.length,\n                j = null == c;\n            if (\"object\" === n.type(c)) {\n                e = !0;\n                for (h in c) K(a, b, h, c[h], !0, f, g)\n            } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) {\n                    return j.call(n(a), c)\n                })), b))\n                for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c)));\n            return e ? a : j ? b.call(a) : i ? b(a[0], c) : f\n        },\n        L = function(a) {\n            return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType\n        };\n\n    function M() {\n        this.expando = n.expando + M.uid++\n    }\n    M.uid = 1, M.prototype = {\n        register: function(a, b) {\n            var c = b || {};\n            return a.nodeType ? a[this.expando] = c : Object.defineProperty(a, this.expando, {\n                value: c,\n                writable: !0,\n                configurable: !0\n            }), a[this.expando]\n        },\n        cache: function(a) {\n            if (!L(a)) return {};\n            var b = a[this.expando];\n            return b || (b = {}, L(a) && (a.nodeType ? a[this.expando] = b : Object.defineProperty(a, this.expando, {\n                value: b,\n                configurable: !0\n            }))), b\n        },\n        set: function(a, b, c) {\n            var d, e = this.cache(a);\n            if (\"string\" == typeof b) e[b] = c;\n            else\n                for (d in b) e[d] = b[d];\n            return e\n        },\n        get: function(a, b) {\n            return void 0 === b ? this.cache(a) : a[this.expando] && a[this.expando][b]\n        },\n        access: function(a, b, c) {\n            var d;\n            return void 0 === b || b && \"string\" == typeof b && void 0 === c ? (d = this.get(a, b), void 0 !== d ? d : this.get(a, n.camelCase(b))) : (this.set(a, b, c), void 0 !== c ? c : b)\n        },\n        remove: function(a, b) {\n            var c, d, e, f = a[this.expando];\n            if (void 0 !== f) {\n                if (void 0 === b) this.register(a);\n                else {\n                    n.isArray(b) ? d = b.concat(b.map(n.camelCase)) : (e = n.camelCase(b), b in f ? d = [b, e] : (d = e, d = d in f ? [d] : d.match(G) || [])), c = d.length;\n                    while (c--) delete f[d[c]]\n                }(void 0 === b || n.isEmptyObject(f)) && (a.nodeType ? a[this.expando] = void 0 : delete a[this.expando])\n            }\n        },\n        hasData: function(a) {\n            var b = a[this.expando];\n            return void 0 !== b && !n.isEmptyObject(b)\n        }\n    };\n    var N = new M,\n        O = new M,\n        P = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n        Q = /[A-Z]/g;\n\n    function R(a, b, c) {\n        var d;\n        if (void 0 === c && 1 === a.nodeType)\n            if (d = \"data-\" + b.replace(Q, \"-$&\").toLowerCase(), c = a.getAttribute(d), \"string\" == typeof c) {\n                try {\n                    c = \"true\" === c ? !0 : \"false\" === c ? !1 : \"null\" === c ? null : +c + \"\" === c ? +c : P.test(c) ? n.parseJSON(c) : c;\n                } catch (e) {}\n                O.set(a, b, c)\n            } else c = void 0;\n        return c\n    }\n    n.extend({\n        hasData: function(a) {\n            return O.hasData(a) || N.hasData(a)\n        },\n        data: function(a, b, c) {\n            return O.access(a, b, c)\n        },\n        removeData: function(a, b) {\n            O.remove(a, b)\n        },\n        _data: function(a, b, c) {\n            return N.access(a, b, c)\n        },\n        _removeData: function(a, b) {\n            N.remove(a, b)\n        }\n    }), n.fn.extend({\n        data: function(a, b) {\n            var c, d, e, f = this[0],\n                g = f && f.attributes;\n            if (void 0 === a) {\n                if (this.length && (e = O.get(f), 1 === f.nodeType && !N.get(f, \"hasDataAttrs\"))) {\n                    c = g.length;\n                    while (c--) g[c] && (d = g[c].name, 0 === d.indexOf(\"data-\") && (d = n.camelCase(d.slice(5)), R(f, d, e[d])));\n                    N.set(f, \"hasDataAttrs\", !0)\n                }\n                return e\n            }\n            return \"object\" == typeof a ? this.each(function() {\n                O.set(this, a)\n            }) : K(this, function(b) {\n                var c, d;\n                if (f && void 0 === b) {\n                    if (c = O.get(f, a) || O.get(f, a.replace(Q, \"-$&\").toLowerCase()), void 0 !== c) return c;\n                    if (d = n.camelCase(a), c = O.get(f, d), void 0 !== c) return c;\n                    if (c = R(f, d, void 0), void 0 !== c) return c\n                } else d = n.camelCase(a), this.each(function() {\n                    var c = O.get(this, d);\n                    O.set(this, d, b), a.indexOf(\"-\") > -1 && void 0 !== c && O.set(this, a, b)\n                })\n            }, null, b, arguments.length > 1, null, !0)\n        },\n        removeData: function(a) {\n            return this.each(function() {\n                O.remove(this, a)\n            })\n        }\n    }), n.extend({\n        queue: function(a, b, c) {\n            var d;\n            return a ? (b = (b || \"fx\") + \"queue\", d = N.get(a, b), c && (!d || n.isArray(c) ? d = N.access(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0\n        },\n        dequeue: function(a, b) {\n            b = b || \"fx\";\n            var c = n.queue(a, b),\n                d = c.length,\n                e = c.shift(),\n                f = n._queueHooks(a, b),\n                g = function() {\n                    n.dequeue(a, b)\n                };\n            \"inprogress\" === e && (e = c.shift(), d--), e && (\"fx\" === b && c.unshift(\"inprogress\"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()\n        },\n        _queueHooks: function(a, b) {\n            var c = b + \"queueHooks\";\n            return N.get(a, c) || N.access(a, c, {\n                empty: n.Callbacks(\"once memory\").add(function() {\n                    N.remove(a, [b + \"queue\", c])\n                })\n            })\n        }\n    }), n.fn.extend({\n        queue: function(a, b) {\n            var c = 2;\n            return \"string\" != typeof a && (b = a, a = \"fx\", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function() {\n                var c = n.queue(this, a, b);\n                n._queueHooks(this, a), \"fx\" === a && \"inprogress\" !== c[0] && n.dequeue(this, a)\n            })\n        },\n        dequeue: function(a) {\n            return this.each(function() {\n                n.dequeue(this, a)\n            })\n        },\n        clearQueue: function(a) {\n            return this.queue(a || \"fx\", [])\n        },\n        promise: function(a, b) {\n            var c, d = 1,\n                e = n.Deferred(),\n                f = this,\n                g = this.length,\n                h = function() {\n                    --d || e.resolveWith(f, [f])\n                };\n            \"string\" != typeof a && (b = a, a = void 0), a = a || \"fx\";\n            while (g--) c = N.get(f[g], a + \"queueHooks\"), c && c.empty && (d++, c.empty.add(h));\n            return h(), e.promise(b)\n        }\n    });\n    var S = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,\n        T = new RegExp(\"^(?:([+-])=|)(\" + S + \")([a-z%]*)$\", \"i\"),\n        U = [\"Top\", \"Right\", \"Bottom\", \"Left\"],\n        V = function(a, b) {\n            return a = b || a, \"none\" === n.css(a, \"display\") || !n.contains(a.ownerDocument, a)\n        };\n\n    function W(a, b, c, d) {\n        var e, f = 1,\n            g = 20,\n            h = d ? function() {\n                return d.cur()\n            } : function() {\n                return n.css(a, b, \"\")\n            },\n            i = h(),\n            j = c && c[3] || (n.cssNumber[b] ? \"\" : \"px\"),\n            k = (n.cssNumber[b] || \"px\" !== j && +i) && T.exec(n.css(a, b));\n        if (k && k[3] !== j) {\n            j = j || k[3], c = c || [], k = +i || 1;\n            do f = f || \".5\", k /= f, n.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g)\n        }\n        return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)), e\n    }\n    var X = /^(?:checkbox|radio)$/i,\n        Y = /<([\\w:-]+)/,\n        Z = /^$|\\/(?:java|ecma)script/i,\n        $ = {\n            option: [1, \"<select multiple='multiple'>\", \"</select>\"],\n            thead: [1, \"<table>\", \"</table>\"],\n            col: [2, \"<table><colgroup>\", \"</colgroup></table>\"],\n            tr: [2, \"<table><tbody>\", \"</tbody></table>\"],\n            td: [3, \"<table><tbody><tr>\", \"</tr></tbody></table>\"],\n            _default: [0, \"\", \"\"]\n        };\n    $.optgroup = $.option, $.tbody = $.tfoot = $.colgroup = $.caption = $.thead, $.th = $.td;\n\n    function _(a, b) {\n        var c = \"undefined\" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || \"*\") : \"undefined\" != typeof a.querySelectorAll ? a.querySelectorAll(b || \"*\") : [];\n        return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], c) : c\n    }\n\n    function aa(a, b) {\n        for (var c = 0, d = a.length; d > c; c++) N.set(a[c], \"globalEval\", !b || N.get(b[c], \"globalEval\"))\n    }\n    var ba = /<|&#?\\w+;/;\n\n    function ca(a, b, c, d, e) {\n        for (var f, g, h, i, j, k, l = b.createDocumentFragment(), m = [], o = 0, p = a.length; p > o; o++)\n            if (f = a[o], f || 0 === f)\n                if (\"object\" === n.type(f)) n.merge(m, f.nodeType ? [f] : f);\n                else if (ba.test(f)) {\n            g = g || l.appendChild(b.createElement(\"div\")), h = (Y.exec(f) || [\"\", \"\"])[1].toLowerCase(), i = $[h] || $._default, g.innerHTML = i[1] + n.htmlPrefilter(f) + i[2], k = i[0];\n            while (k--) g = g.lastChild;\n            n.merge(m, g.childNodes), g = l.firstChild, g.textContent = \"\"\n        } else m.push(b.createTextNode(f));\n        l.textContent = \"\", o = 0;\n        while (f = m[o++])\n            if (d && n.inArray(f, d) > -1) e && e.push(f);\n            else if (j = n.contains(f.ownerDocument, f), g = _(l.appendChild(f), \"script\"), j && aa(g), c) {\n            k = 0;\n            while (f = g[k++]) Z.test(f.type || \"\") && c.push(f)\n        }\n        return l\n    }! function() {\n        var a = d.createDocumentFragment(),\n            b = a.appendChild(d.createElement(\"div\")),\n            c = d.createElement(\"input\");\n        c.setAttribute(\"type\", \"radio\"), c.setAttribute(\"checked\", \"checked\"), c.setAttribute(\"name\", \"t\"), b.appendChild(c), l.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, b.innerHTML = \"<textarea>x</textarea>\", l.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue\n    }();\n    var da = /^key/,\n        ea = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n        fa = /^([^.]*)(?:\\.(.+)|)/;\n\n    function ga() {\n        return !0\n    }\n\n    function ha() {\n        return !1\n    }\n\n    function ia() {\n        try {\n            return d.activeElement\n        } catch (a) {}\n    }\n\n    function ja(a, b, c, d, e, f) {\n        var g, h;\n        if (\"object\" == typeof b) {\n            \"string\" != typeof c && (d = d || c, c = void 0);\n            for (h in b) ja(a, h, c, d, b[h], f);\n            return a\n        }\n        if (null == d && null == e ? (e = c, d = c = void 0) : null == e && (\"string\" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = ha;\n        else if (!e) return a;\n        return 1 === f && (g = e, e = function(a) {\n            return n().off(a), g.apply(this, arguments)\n        }, e.guid = g.guid || (g.guid = n.guid++)), a.each(function() {\n            n.event.add(this, b, e, d, c)\n        })\n    }\n    n.event = {\n        global: {},\n        add: function(a, b, c, d, e) {\n            var f, g, h, i, j, k, l, m, o, p, q, r = N.get(a);\n            if (r) {\n                c.handler && (f = c, c = f.handler, e = f.selector), c.guid || (c.guid = n.guid++), (i = r.events) || (i = r.events = {}), (g = r.handle) || (g = r.handle = function(b) {\n                    return \"undefined\" != typeof n && n.event.triggered !== b.type ? n.event.dispatch.apply(a, arguments) : void 0\n                }), b = (b || \"\").match(G) || [\"\"], j = b.length;\n                while (j--) h = fa.exec(b[j]) || [], o = q = h[1], p = (h[2] || \"\").split(\".\").sort(), o && (l = n.event.special[o] || {}, o = (e ? l.delegateType : l.bindType) || o, l = n.event.special[o] || {}, k = n.extend({\n                    type: o,\n                    origType: q,\n                    data: d,\n                    handler: c,\n                    guid: c.guid,\n                    selector: e,\n                    needsContext: e && n.expr.match.needsContext.test(e),\n                    namespace: p.join(\".\")\n                }, f), (m = i[o]) || (m = i[o] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, p, g) !== !1 || a.addEventListener && a.addEventListener(o, g)), l.add && (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), n.event.global[o] = !0)\n            }\n        },\n        remove: function(a, b, c, d, e) {\n            var f, g, h, i, j, k, l, m, o, p, q, r = N.hasData(a) && N.get(a);\n            if (r && (i = r.events)) {\n                b = (b || \"\").match(G) || [\"\"], j = b.length;\n                while (j--)\n                    if (h = fa.exec(b[j]) || [], o = q = h[1], p = (h[2] || \"\").split(\".\").sort(), o) {\n                        l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = i[o] || [], h = h[2] && new RegExp(\"(^|\\\\.)\" + p.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"), g = f = m.length;\n                        while (f--) k = m[f], !e && q !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !== k.selector && (\"**\" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove.call(a, k));\n                        g && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete i[o])\n                    } else\n                        for (o in i) n.event.remove(a, o + b[j], c, d, !0);\n                n.isEmptyObject(i) && N.remove(a, \"handle events\")\n            }\n        },\n        dispatch: function(a) {\n            a = n.event.fix(a);\n            var b, c, d, f, g, h = [],\n                i = e.call(arguments),\n                j = (N.get(this, \"events\") || {})[a.type] || [],\n                k = n.event.special[a.type] || {};\n            if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) {\n                h = n.event.handlers.call(this, a, j), b = 0;\n                while ((f = h[b++]) && !a.isPropagationStopped()) {\n                    a.currentTarget = f.elem, c = 0;\n                    while ((g = f.handlers[c++]) && !a.isImmediatePropagationStopped()) a.rnamespace && !a.rnamespace.test(g.namespace) || (a.handleObj = g, a.data = g.data, d = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation()))\n                }\n                return k.postDispatch && k.postDispatch.call(this, a), a.result\n            }\n        },\n        handlers: function(a, b) {\n            var c, d, e, f, g = [],\n                h = b.delegateCount,\n                i = a.target;\n            if (h && i.nodeType && (\"click\" !== a.type || isNaN(a.button) || a.button < 1))\n                for (; i !== this; i = i.parentNode || this)\n                    if (1 === i.nodeType && (i.disabled !== !0 || \"click\" !== a.type)) {\n                        for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + \" \", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) > -1 : n.find(e, this, null, [i]).length), d[e] && d.push(f);\n                        d.length && g.push({\n                            elem: i,\n                            handlers: d\n                        })\n                    }\n            return h < b.length && g.push({\n                elem: this,\n                handlers: b.slice(h)\n            }), g\n        },\n        props: \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n        fixHooks: {},\n        keyHooks: {\n            props: \"char charCode key keyCode\".split(\" \"),\n            filter: function(a, b) {\n                return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a\n            }\n        },\n        mouseHooks: {\n            props: \"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n            filter: function(a, b) {\n                var c, e, f, g = b.button;\n                return null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || d, e = c.documentElement, f = c.body, a.pageX = b.clientX + (e && e.scrollLeft || f && f.scrollLeft || 0) - (e && e.clientLeft || f && f.clientLeft || 0), a.pageY = b.clientY + (e && e.scrollTop || f && f.scrollTop || 0) - (e && e.clientTop || f && f.clientTop || 0)), a.which || void 0 === g || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), a\n            }\n        },\n        fix: function(a) {\n            if (a[n.expando]) return a;\n            var b, c, e, f = a.type,\n                g = a,\n                h = this.fixHooks[f];\n            h || (this.fixHooks[f] = h = ea.test(f) ? this.mouseHooks : da.test(f) ? this.keyHooks : {}), e = h.props ? this.props.concat(h.props) : this.props, a = new n.Event(g), b = e.length;\n            while (b--) c = e[b], a[c] = g[c];\n            return a.target || (a.target = d), 3 === a.target.nodeType && (a.target = a.target.parentNode), h.filter ? h.filter(a, g) : a\n        },\n        special: {\n            load: {\n                noBubble: !0\n            },\n            focus: {\n                trigger: function() {\n                    return this !== ia() && this.focus ? (this.focus(), !1) : void 0\n                },\n                delegateType: \"focusin\"\n            },\n            blur: {\n                trigger: function() {\n                    return this === ia() && this.blur ? (this.blur(), !1) : void 0\n                },\n                delegateType: \"focusout\"\n            },\n            click: {\n                trigger: function() {\n                    return \"checkbox\" === this.type && this.click && n.nodeName(this, \"input\") ? (this.click(), !1) : void 0\n                },\n                _default: function(a) {\n                    return n.nodeName(a.target, \"a\")\n                }\n            },\n            beforeunload: {\n                postDispatch: function(a) {\n                    void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result)\n                }\n            }\n        }\n    }, n.removeEvent = function(a, b, c) {\n        a.removeEventListener && a.removeEventListener(b, c)\n    }, n.Event = function(a, b) {\n        return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? ga : ha) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void(this[n.expando] = !0)) : new n.Event(a, b)\n    }, n.Event.prototype = {\n        constructor: n.Event,\n        isDefaultPrevented: ha,\n        isPropagationStopped: ha,\n        isImmediatePropagationStopped: ha,\n        isSimulated: !1,\n        preventDefault: function() {\n            var a = this.originalEvent;\n            this.isDefaultPrevented = ga, a && !this.isSimulated && a.preventDefault()\n        },\n        stopPropagation: function() {\n            var a = this.originalEvent;\n            this.isPropagationStopped = ga, a && !this.isSimulated && a.stopPropagation()\n        },\n        stopImmediatePropagation: function() {\n            var a = this.originalEvent;\n            this.isImmediatePropagationStopped = ga, a && !this.isSimulated && a.stopImmediatePropagation(), this.stopPropagation()\n        }\n    }, n.each({\n        mouseenter: \"mouseover\",\n        mouseleave: \"mouseout\",\n        pointerenter: \"pointerover\",\n        pointerleave: \"pointerout\"\n    }, function(a, b) {\n        n.event.special[a] = {\n            delegateType: b,\n            bindType: b,\n            handle: function(a) {\n                var c, d = this,\n                    e = a.relatedTarget,\n                    f = a.handleObj;\n                return e && (e === d || n.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c\n            }\n        }\n    }), n.fn.extend({\n        on: function(a, b, c, d) {\n            return ja(this, a, b, c, d)\n        },\n        one: function(a, b, c, d) {\n            return ja(this, a, b, c, d, 1)\n        },\n        off: function(a, b, c) {\n            var d, e;\n            if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + \".\" + d.namespace : d.origType, d.selector, d.handler), this;\n            if (\"object\" == typeof a) {\n                for (e in a) this.off(e, b, a[e]);\n                return this\n            }\n            return b !== !1 && \"function\" != typeof b || (c = b, b = void 0), c === !1 && (c = ha), this.each(function() {\n                n.event.remove(this, a, c, b)\n            })\n        }\n    });\n    var ka = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n        la = /<script|<style|<link/i,\n        ma = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n        na = /^true\\/(.*)/,\n        oa = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;\n\n    function pa(a, b) {\n        return n.nodeName(a, \"table\") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, \"tr\") ? a.getElementsByTagName(\"tbody\")[0] || a.appendChild(a.ownerDocument.createElement(\"tbody\")) : a\n    }\n\n    function qa(a) {\n        return a.type = (null !== a.getAttribute(\"type\")) + \"/\" + a.type, a\n    }\n\n    function ra(a) {\n        var b = na.exec(a.type);\n        return b ? a.type = b[1] : a.removeAttribute(\"type\"), a\n    }\n\n    function sa(a, b) {\n        var c, d, e, f, g, h, i, j;\n        if (1 === b.nodeType) {\n            if (N.hasData(a) && (f = N.access(a), g = N.set(b, f), j = f.events)) {\n                delete g.handle, g.events = {};\n                for (e in j)\n                    for (c = 0, d = j[e].length; d > c; c++) n.event.add(b, e, j[e][c])\n            }\n            O.hasData(a) && (h = O.access(a), i = n.extend({}, h), O.set(b, i))\n        }\n    }\n\n    function ta(a, b) {\n        var c = b.nodeName.toLowerCase();\n        \"input\" === c && X.test(a.type) ? b.checked = a.checked : \"input\" !== c && \"textarea\" !== c || (b.defaultValue = a.defaultValue)\n    }\n\n    function ua(a, b, c, d) {\n        b = f.apply([], b);\n        var e, g, h, i, j, k, m = 0,\n            o = a.length,\n            p = o - 1,\n            q = b[0],\n            r = n.isFunction(q);\n        if (r || o > 1 && \"string\" == typeof q && !l.checkClone && ma.test(q)) return a.each(function(e) {\n            var f = a.eq(e);\n            r && (b[0] = q.call(this, e, f.html())), ua(f, b, c, d)\n        });\n        if (o && (e = ca(b, a[0].ownerDocument, !1, a, d), g = e.firstChild, 1 === e.childNodes.length && (e = g), g || d)) {\n            for (h = n.map(_(e, \"script\"), qa), i = h.length; o > m; m++) j = e, m !== p && (j = n.clone(j, !0, !0), i && n.merge(h, _(j, \"script\"))), c.call(a[m], j, m);\n            if (i)\n                for (k = h[h.length - 1].ownerDocument, n.map(h, ra), m = 0; i > m; m++) j = h[m], Z.test(j.type || \"\") && !N.access(j, \"globalEval\") && n.contains(k, j) && (j.src ? n._evalUrl && n._evalUrl(j.src) : n.globalEval(j.textContent.replace(oa, \"\")))\n        }\n        return a\n    }\n\n    function va(a, b, c) {\n        for (var d, e = b ? n.filter(b, a) : a, f = 0; null != (d = e[f]); f++) c || 1 !== d.nodeType || n.cleanData(_(d)), d.parentNode && (c && n.contains(d.ownerDocument, d) && aa(_(d, \"script\")), d.parentNode.removeChild(d));\n        return a\n    }\n    n.extend({\n        htmlPrefilter: function(a) {\n            return a.replace(ka, \"<$1></$2>\")\n        },\n        clone: function(a, b, c) {\n            var d, e, f, g, h = a.cloneNode(!0),\n                i = n.contains(a.ownerDocument, a);\n            if (!(l.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a)))\n                for (g = _(h), f = _(a), d = 0, e = f.length; e > d; d++) ta(f[d], g[d]);\n            if (b)\n                if (c)\n                    for (f = f || _(a), g = g || _(h), d = 0, e = f.length; e > d; d++) sa(f[d], g[d]);\n                else sa(a, h);\n            return g = _(h, \"script\"), g.length > 0 && aa(g, !i && _(a, \"script\")), h\n        },\n        cleanData: function(a) {\n            for (var b, c, d, e = n.event.special, f = 0; void 0 !== (c = a[f]); f++)\n                if (L(c)) {\n                    if (b = c[N.expando]) {\n                        if (b.events)\n                            for (d in b.events) e[d] ? n.event.remove(c, d) : n.removeEvent(c, d, b.handle);\n                        c[N.expando] = void 0\n                    }\n                    c[O.expando] && (c[O.expando] = void 0)\n                }\n        }\n    }), n.fn.extend({\n        domManip: ua,\n        detach: function(a) {\n            return va(this, a, !0)\n        },\n        remove: function(a) {\n            return va(this, a)\n        },\n        text: function(a) {\n            return K(this, function(a) {\n                return void 0 === a ? n.text(this) : this.empty().each(function() {\n                    1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = a)\n                })\n            }, null, a, arguments.length)\n        },\n        append: function() {\n            return ua(this, arguments, function(a) {\n                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {\n                    var b = pa(this, a);\n                    b.appendChild(a)\n                }\n            })\n        },\n        prepend: function() {\n            return ua(this, arguments, function(a) {\n                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {\n                    var b = pa(this, a);\n                    b.insertBefore(a, b.firstChild)\n                }\n            })\n        },\n        before: function() {\n            return ua(this, arguments, function(a) {\n                this.parentNode && this.parentNode.insertBefore(a, this)\n            })\n        },\n        after: function() {\n            return ua(this, arguments, function(a) {\n                this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)\n            })\n        },\n        empty: function() {\n            for (var a, b = 0; null != (a = this[b]); b++) 1 === a.nodeType && (n.cleanData(_(a, !1)), a.textContent = \"\");\n            return this\n        },\n        clone: function(a, b) {\n            return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function() {\n                return n.clone(this, a, b)\n            })\n        },\n        html: function(a) {\n            return K(this, function(a) {\n                var b = this[0] || {},\n                    c = 0,\n                    d = this.length;\n                if (void 0 === a && 1 === b.nodeType) return b.innerHTML;\n                if (\"string\" == typeof a && !la.test(a) && !$[(Y.exec(a) || [\"\", \"\"])[1].toLowerCase()]) {\n                    a = n.htmlPrefilter(a);\n                    try {\n                        for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (n.cleanData(_(b, !1)), b.innerHTML = a);\n                        b = 0\n                    } catch (e) {}\n                }\n                b && this.empty().append(a)\n            }, null, a, arguments.length)\n        },\n        replaceWith: function() {\n            var a = [];\n            return ua(this, arguments, function(b) {\n                var c = this.parentNode;\n                n.inArray(this, a) < 0 && (n.cleanData(_(this)), c && c.replaceChild(b, this))\n            }, a)\n        }\n    }), n.each({\n        appendTo: \"append\",\n        prependTo: \"prepend\",\n        insertBefore: \"before\",\n        insertAfter: \"after\",\n        replaceAll: \"replaceWith\"\n    }, function(a, b) {\n        n.fn[a] = function(a) {\n            for (var c, d = [], e = n(a), f = e.length - 1, h = 0; f >= h; h++) c = h === f ? this : this.clone(!0), n(e[h])[b](c), g.apply(d, c.get());\n            return this.pushStack(d)\n        }\n    });\n    var wa, xa = {\n        HTML: \"block\",\n        BODY: \"block\"\n    };\n\n    function ya(a, b) {\n        var c = n(b.createElement(a)).appendTo(b.body),\n            d = n.css(c[0], \"display\");\n        return c.detach(), d\n    }\n\n    function za(a) {\n        var b = d,\n            c = xa[a];\n        return c || (c = ya(a, b), \"none\" !== c && c || (wa = (wa || n(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(b.documentElement), b = wa[0].contentDocument, b.write(), b.close(), c = ya(a, b), wa.detach()), xa[a] = c), c\n    }\n    var Aa = /^margin/,\n        Ba = new RegExp(\"^(\" + S + \")(?!px)[a-z%]+$\", \"i\"),\n        Ca = function(b) {\n            var c = b.ownerDocument.defaultView;\n            return c && c.opener || (c = a), c.getComputedStyle(b)\n        },\n        Da = function(a, b, c, d) {\n            var e, f, g = {};\n            for (f in b) g[f] = a.style[f], a.style[f] = b[f];\n            e = c.apply(a, d || []);\n            for (f in b) a.style[f] = g[f];\n            return e\n        },\n        Ea = d.documentElement;\n    ! function() {\n        var b, c, e, f, g = d.createElement(\"div\"),\n            h = d.createElement(\"div\");\n        if (h.style) {\n            h.style.backgroundClip = \"content-box\", h.cloneNode(!0).style.backgroundClip = \"\", l.clearCloneStyle = \"content-box\" === h.style.backgroundClip, g.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\", g.appendChild(h);\n\n            function i() {\n                h.style.cssText = \"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\", h.innerHTML = \"\", Ea.appendChild(g);\n                var d = a.getComputedStyle(h);\n                b = \"1%\" !== d.top, f = \"2px\" === d.marginLeft, c = \"4px\" === d.width, h.style.marginRight = \"50%\", e = \"4px\" === d.marginRight, Ea.removeChild(g)\n            }\n            n.extend(l, {\n                pixelPosition: function() {\n                    return i(), b\n                },\n                boxSizingReliable: function() {\n                    return null == c && i(), c\n                },\n                pixelMarginRight: function() {\n                    return null == c && i(), e\n                },\n                reliableMarginLeft: function() {\n                    return null == c && i(), f\n                },\n                reliableMarginRight: function() {\n                    var b, c = h.appendChild(d.createElement(\"div\"));\n                    return c.style.cssText = h.style.cssText = \"-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\", c.style.marginRight = c.style.width = \"0\", h.style.width = \"1px\", Ea.appendChild(g), b = !parseFloat(a.getComputedStyle(c).marginRight), Ea.removeChild(g), h.removeChild(c), b\n                }\n            })\n        }\n    }();\n\n    function Fa(a, b, c) {\n        var d, e, f, g, h = a.style;\n        return c = c || Ca(a), g = c ? c.getPropertyValue(b) || c[b] : void 0, \"\" !== g && void 0 !== g || n.contains(a.ownerDocument, a) || (g = n.style(a, b)), c && !l.pixelMarginRight() && Ba.test(g) && Aa.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f), void 0 !== g ? g + \"\" : g\n    }\n\n    function Ga(a, b) {\n        return {\n            get: function() {\n                return a() ? void delete this.get : (this.get = b).apply(this, arguments)\n            }\n        }\n    }\n    var Ha = /^(none|table(?!-c[ea]).+)/,\n        Ia = {\n            position: \"absolute\",\n            visibility: \"hidden\",\n            display: \"block\"\n        },\n        Ja = {\n            letterSpacing: \"0\",\n            fontWeight: \"400\"\n        },\n        Ka = [\"Webkit\", \"O\", \"Moz\", \"ms\"],\n        La = d.createElement(\"div\").style;\n\n    function Ma(a) {\n        if (a in La) return a;\n        var b = a[0].toUpperCase() + a.slice(1),\n            c = Ka.length;\n        while (c--)\n            if (a = Ka[c] + b, a in La) return a\n    }\n\n    function Na(a, b, c) {\n        var d = T.exec(b);\n        return d ? Math.max(0, d[2] - (c || 0)) + (d[3] || \"px\") : b\n    }\n\n    function Oa(a, b, c, d, e) {\n        for (var f = c === (d ? \"border\" : \"content\") ? 4 : \"width\" === b ? 1 : 0, g = 0; 4 > f; f += 2) \"margin\" === c && (g += n.css(a, c + U[f], !0, e)), d ? (\"content\" === c && (g -= n.css(a, \"padding\" + U[f], !0, e)), \"margin\" !== c && (g -= n.css(a, \"border\" + U[f] + \"Width\", !0, e))) : (g += n.css(a, \"padding\" + U[f], !0, e), \"padding\" !== c && (g += n.css(a, \"border\" + U[f] + \"Width\", !0, e)));\n        return g\n    }\n\n    function Pa(a, b, c) {\n        var d = !0,\n            e = \"width\" === b ? a.offsetWidth : a.offsetHeight,\n            f = Ca(a),\n            g = \"border-box\" === n.css(a, \"boxSizing\", !1, f);\n        if (0 >= e || null == e) {\n            if (e = Fa(a, b, f), (0 > e || null == e) && (e = a.style[b]), Ba.test(e)) return e;\n            d = g && (l.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0\n        }\n        return e + Oa(a, b, c || (g ? \"border\" : \"content\"), d, f) + \"px\"\n    }\n\n    function Qa(a, b) {\n        for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = N.get(d, \"olddisplay\"), c = d.style.display, b ? (f[g] || \"none\" !== c || (d.style.display = \"\"), \"\" === d.style.display && V(d) && (f[g] = N.access(d, \"olddisplay\", za(d.nodeName)))) : (e = V(d), \"none\" === c && e || N.set(d, \"olddisplay\", e ? c : n.css(d, \"display\"))));\n        for (g = 0; h > g; g++) d = a[g], d.style && (b && \"none\" !== d.style.display && \"\" !== d.style.display || (d.style.display = b ? f[g] || \"\" : \"none\"));\n        return a\n    }\n    n.extend({\n        cssHooks: {\n            opacity: {\n                get: function(a, b) {\n                    if (b) {\n                        var c = Fa(a, \"opacity\");\n                        return \"\" === c ? \"1\" : c\n                    }\n                }\n            }\n        },\n        cssNumber: {\n            animationIterationCount: !0,\n            columnCount: !0,\n            fillOpacity: !0,\n            flexGrow: !0,\n            flexShrink: !0,\n            fontWeight: !0,\n            lineHeight: !0,\n            opacity: !0,\n            order: !0,\n            orphans: !0,\n            widows: !0,\n            zIndex: !0,\n            zoom: !0\n        },\n        cssProps: {\n            \"float\": \"cssFloat\"\n        },\n        style: function(a, b, c, d) {\n            if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {\n                var e, f, g, h = n.camelCase(b),\n                    i = a.style;\n                return b = n.cssProps[h] || (n.cssProps[h] = Ma(h) || h), g = n.cssHooks[b] || n.cssHooks[h], void 0 === c ? g && \"get\" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, \"string\" === f && (e = T.exec(c)) && e[1] && (c = W(a, b, e), f = \"number\"), null != c && c === c && (\"number\" === f && (c += e && e[3] || (n.cssNumber[h] ? \"\" : \"px\")), l.clearCloneStyle || \"\" !== c || 0 !== b.indexOf(\"background\") || (i[b] = \"inherit\"), g && \"set\" in g && void 0 === (c = g.set(a, c, d)) || (i[b] = c)), void 0)\n            }\n        },\n        css: function(a, b, c, d) {\n            var e, f, g, h = n.camelCase(b);\n            return b = n.cssProps[h] || (n.cssProps[h] = Ma(h) || h), g = n.cssHooks[b] || n.cssHooks[h], g && \"get\" in g && (e = g.get(a, !0, c)), void 0 === e && (e = Fa(a, b, d)), \"normal\" === e && b in Ja && (e = Ja[b]), \"\" === c || c ? (f = parseFloat(e), c === !0 || isFinite(f) ? f || 0 : e) : e\n        }\n    }), n.each([\"height\", \"width\"], function(a, b) {\n        n.cssHooks[b] = {\n            get: function(a, c, d) {\n                return c ? Ha.test(n.css(a, \"display\")) && 0 === a.offsetWidth ? Da(a, Ia, function() {\n                    return Pa(a, b, d)\n                }) : Pa(a, b, d) : void 0\n            },\n            set: function(a, c, d) {\n                var e, f = d && Ca(a),\n                    g = d && Oa(a, b, d, \"border-box\" === n.css(a, \"boxSizing\", !1, f), f);\n                return g && (e = T.exec(c)) && \"px\" !== (e[3] || \"px\") && (a.style[b] = c, c = n.css(a, b)), Na(a, c, g)\n            }\n        }\n    }), n.cssHooks.marginLeft = Ga(l.reliableMarginLeft, function(a, b) {\n        return b ? (parseFloat(Fa(a, \"marginLeft\")) || a.getBoundingClientRect().left - Da(a, {\n            marginLeft: 0\n        }, function() {\n            return a.getBoundingClientRect().left\n        })) + \"px\" : void 0\n    }), n.cssHooks.marginRight = Ga(l.reliableMarginRight, function(a, b) {\n        return b ? Da(a, {\n            display: \"inline-block\"\n        }, Fa, [a, \"marginRight\"]) : void 0\n    }), n.each({\n        margin: \"\",\n        padding: \"\",\n        border: \"Width\"\n    }, function(a, b) {\n        n.cssHooks[a + b] = {\n            expand: function(c) {\n                for (var d = 0, e = {}, f = \"string\" == typeof c ? c.split(\" \") : [c]; 4 > d; d++) e[a + U[d] + b] = f[d] || f[d - 2] || f[0];\n                return e\n            }\n        }, Aa.test(a) || (n.cssHooks[a + b].set = Na)\n    }), n.fn.extend({\n        css: function(a, b) {\n            return K(this, function(a, b, c) {\n                var d, e, f = {},\n                    g = 0;\n                if (n.isArray(b)) {\n                    for (d = Ca(a), e = b.length; e > g; g++) f[b[g]] = n.css(a, b[g], !1, d);\n                    return f\n                }\n                return void 0 !== c ? n.style(a, b, c) : n.css(a, b)\n            }, a, b, arguments.length > 1)\n        },\n        show: function() {\n            return Qa(this, !0)\n        },\n        hide: function() {\n            return Qa(this)\n        },\n        toggle: function(a) {\n            return \"boolean\" == typeof a ? a ? this.show() : this.hide() : this.each(function() {\n                V(this) ? n(this).show() : n(this).hide()\n            })\n        }\n    });\n\n    function Ra(a, b, c, d, e) {\n        return new Ra.prototype.init(a, b, c, d, e)\n    }\n    n.Tween = Ra, Ra.prototype = {\n        constructor: Ra,\n        init: function(a, b, c, d, e, f) {\n            this.elem = a, this.prop = c, this.easing = e || n.easing._default, this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (n.cssNumber[c] ? \"\" : \"px\")\n        },\n        cur: function() {\n            var a = Ra.propHooks[this.prop];\n            return a && a.get ? a.get(this) : Ra.propHooks._default.get(this)\n        },\n        run: function(a) {\n            var b, c = Ra.propHooks[this.prop];\n            return this.options.duration ? this.pos = b = n.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Ra.propHooks._default.set(this), this\n        }\n    }, Ra.prototype.init.prototype = Ra.prototype, Ra.propHooks = {\n        _default: {\n            get: function(a) {\n                var b;\n                return 1 !== a.elem.nodeType || null != a.elem[a.prop] && null == a.elem.style[a.prop] ? a.elem[a.prop] : (b = n.css(a.elem, a.prop, \"\"), b && \"auto\" !== b ? b : 0)\n            },\n            set: function(a) {\n                n.fx.step[a.prop] ? n.fx.step[a.prop](a) : 1 !== a.elem.nodeType || null == a.elem.style[n.cssProps[a.prop]] && !n.cssHooks[a.prop] ? a.elem[a.prop] = a.now : n.style(a.elem, a.prop, a.now + a.unit)\n            }\n        }\n    }, Ra.propHooks.scrollTop = Ra.propHooks.scrollLeft = {\n        set: function(a) {\n            a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)\n        }\n    }, n.easing = {\n        linear: function(a) {\n            return a\n        },\n        swing: function(a) {\n            return .5 - Math.cos(a * Math.PI) / 2\n        },\n        _default: \"swing\"\n    }, n.fx = Ra.prototype.init, n.fx.step = {};\n    var Sa, Ta, Ua = /^(?:toggle|show|hide)$/,\n        Va = /queueHooks$/;\n\n    function Wa() {\n        return a.setTimeout(function() {\n            Sa = void 0\n        }), Sa = n.now()\n    }\n\n    function Xa(a, b) {\n        var c, d = 0,\n            e = {\n                height: a\n            };\n        for (b = b ? 1 : 0; 4 > d; d += 2 - b) c = U[d], e[\"margin\" + c] = e[\"padding\" + c] = a;\n        return b && (e.opacity = e.width = a), e\n    }\n\n    function Ya(a, b, c) {\n        for (var d, e = (_a.tweeners[b] || []).concat(_a.tweeners[\"*\"]), f = 0, g = e.length; g > f; f++)\n            if (d = e[f].call(c, b, a)) return d\n    }\n\n    function Za(a, b, c) {\n        var d, e, f, g, h, i, j, k, l = this,\n            m = {},\n            o = a.style,\n            p = a.nodeType && V(a),\n            q = N.get(a, \"fxshow\");\n        c.queue || (h = n._queueHooks(a, \"fx\"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() {\n            h.unqueued || i()\n        }), h.unqueued++, l.always(function() {\n            l.always(function() {\n                h.unqueued--, n.queue(a, \"fx\").length || h.empty.fire()\n            })\n        })), 1 === a.nodeType && (\"height\" in b || \"width\" in b) && (c.overflow = [o.overflow, o.overflowX, o.overflowY], j = n.css(a, \"display\"), k = \"none\" === j ? N.get(a, \"olddisplay\") || za(a.nodeName) : j, \"inline\" === k && \"none\" === n.css(a, \"float\") && (o.display = \"inline-block\")), c.overflow && (o.overflow = \"hidden\", l.always(function() {\n            o.overflow = c.overflow[0], o.overflowX = c.overflow[1], o.overflowY = c.overflow[2]\n        }));\n        for (d in b)\n            if (e = b[d], Ua.exec(e)) {\n                if (delete b[d], f = f || \"toggle\" === e, e === (p ? \"hide\" : \"show\")) {\n                    if (\"show\" !== e || !q || void 0 === q[d]) continue;\n                    p = !0\n                }\n                m[d] = q && q[d] || n.style(a, d)\n            } else j = void 0;\n        if (n.isEmptyObject(m)) \"inline\" === (\"none\" === j ? za(a.nodeName) : j) && (o.display = j);\n        else {\n            q ? \"hidden\" in q && (p = q.hidden) : q = N.access(a, \"fxshow\", {}), f && (q.hidden = !p), p ? n(a).show() : l.done(function() {\n                n(a).hide()\n            }), l.done(function() {\n                var b;\n                N.remove(a, \"fxshow\");\n                for (b in m) n.style(a, b, m[b])\n            });\n            for (d in m) g = Ya(p ? q[d] : 0, d, l), d in q || (q[d] = g.start, p && (g.end = g.start, g.start = \"width\" === d || \"height\" === d ? 1 : 0))\n        }\n    }\n\n    function $a(a, b) {\n        var c, d, e, f, g;\n        for (c in a)\n            if (d = n.camelCase(c), e = b[d], f = a[c], n.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = n.cssHooks[d], g && \"expand\" in g) {\n                f = g.expand(f), delete a[d];\n                for (c in f) c in a || (a[c] = f[c], b[c] = e)\n            } else b[d] = e\n    }\n\n    function _a(a, b, c) {\n        var d, e, f = 0,\n            g = _a.prefilters.length,\n            h = n.Deferred().always(function() {\n                delete i.elem\n            }),\n            i = function() {\n                if (e) return !1;\n                for (var b = Sa || Wa(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f);\n                return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1)\n            },\n            j = h.promise({\n                elem: a,\n                props: n.extend({}, b),\n                opts: n.extend(!0, {\n                    specialEasing: {},\n                    easing: n.easing._default\n                }, c),\n                originalProperties: b,\n                originalOptions: c,\n                startTime: Sa || Wa(),\n                duration: c.duration,\n                tweens: [],\n                createTween: function(b, c) {\n                    var d = n.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);\n                    return j.tweens.push(d), d\n                },\n                stop: function(b) {\n                    var c = 0,\n                        d = b ? j.tweens.length : 0;\n                    if (e) return this;\n                    for (e = !0; d > c; c++) j.tweens[c].run(1);\n                    return b ? (h.notifyWith(a, [j, 1, 0]), h.resolveWith(a, [j, b])) : h.rejectWith(a, [j, b]), this\n                }\n            }),\n            k = j.props;\n        for ($a(k, j.opts.specialEasing); g > f; f++)\n            if (d = _a.prefilters[f].call(j, a, k, j.opts)) return n.isFunction(d.stop) && (n._queueHooks(j.elem, j.opts.queue).stop = n.proxy(d.stop, d)), d;\n        return n.map(k, Ya, j), n.isFunction(j.opts.start) && j.opts.start.call(a, j), n.fx.timer(n.extend(i, {\n            elem: a,\n            anim: j,\n            queue: j.opts.queue\n        })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)\n    }\n    n.Animation = n.extend(_a, {\n            tweeners: {\n                \"*\": [function(a, b) {\n                    var c = this.createTween(a, b);\n                    return W(c.elem, a, T.exec(b), c), c\n                }]\n            },\n            tweener: function(a, b) {\n                n.isFunction(a) ? (b = a, a = [\"*\"]) : a = a.match(G);\n                for (var c, d = 0, e = a.length; e > d; d++) c = a[d], _a.tweeners[c] = _a.tweeners[c] || [], _a.tweeners[c].unshift(b)\n            },\n            prefilters: [Za],\n            prefilter: function(a, b) {\n                b ? _a.prefilters.unshift(a) : _a.prefilters.push(a)\n            }\n        }), n.speed = function(a, b, c) {\n            var d = a && \"object\" == typeof a ? n.extend({}, a) : {\n                complete: c || !c && b || n.isFunction(a) && a,\n                duration: a,\n                easing: c && b || b && !n.isFunction(b) && b\n            };\n            return d.duration = n.fx.off ? 0 : \"number\" == typeof d.duration ? d.duration : d.duration in n.fx.speeds ? n.fx.speeds[d.duration] : n.fx.speeds._default, null != d.queue && d.queue !== !0 || (d.queue = \"fx\"), d.old = d.complete, d.complete = function() {\n                n.isFunction(d.old) && d.old.call(this), d.queue && n.dequeue(this, d.queue)\n            }, d\n        }, n.fn.extend({\n            fadeTo: function(a, b, c, d) {\n                return this.filter(V).css(\"opacity\", 0).show().end().animate({\n                    opacity: b\n                }, a, c, d)\n            },\n            animate: function(a, b, c, d) {\n                var e = n.isEmptyObject(a),\n                    f = n.speed(b, c, d),\n                    g = function() {\n                        var b = _a(this, n.extend({}, a), f);\n                        (e || N.get(this, \"finish\")) && b.stop(!0)\n                    };\n                return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)\n            },\n            stop: function(a, b, c) {\n                var d = function(a) {\n                    var b = a.stop;\n                    delete a.stop, b(c)\n                };\n                return \"string\" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || \"fx\", []), this.each(function() {\n                    var b = !0,\n                        e = null != a && a + \"queueHooks\",\n                        f = n.timers,\n                        g = N.get(this);\n                    if (e) g[e] && g[e].stop && d(g[e]);\n                    else\n                        for (e in g) g[e] && g[e].stop && Va.test(e) && d(g[e]);\n                    for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1));\n                    !b && c || n.dequeue(this, a)\n                })\n            },\n            finish: function(a) {\n                return a !== !1 && (a = a || \"fx\"), this.each(function() {\n                    var b, c = N.get(this),\n                        d = c[a + \"queue\"],\n                        e = c[a + \"queueHooks\"],\n                        f = n.timers,\n                        g = d ? d.length : 0;\n                    for (c.finish = !0, n.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));\n                    for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this);\n                    delete c.finish\n                })\n            }\n        }), n.each([\"toggle\", \"show\", \"hide\"], function(a, b) {\n            var c = n.fn[b];\n            n.fn[b] = function(a, d, e) {\n                return null == a || \"boolean\" == typeof a ? c.apply(this, arguments) : this.animate(Xa(b, !0), a, d, e)\n            }\n        }), n.each({\n            slideDown: Xa(\"show\"),\n            slideUp: Xa(\"hide\"),\n            slideToggle: Xa(\"toggle\"),\n            fadeIn: {\n                opacity: \"show\"\n            },\n            fadeOut: {\n                opacity: \"hide\"\n            },\n            fadeToggle: {\n                opacity: \"toggle\"\n            }\n        }, function(a, b) {\n            n.fn[a] = function(a, c, d) {\n                return this.animate(b, a, c, d)\n            }\n        }), n.timers = [], n.fx.tick = function() {\n            var a, b = 0,\n                c = n.timers;\n            for (Sa = n.now(); b < c.length; b++) a = c[b], a() || c[b] !== a || c.splice(b--, 1);\n            c.length || n.fx.stop(), Sa = void 0\n        }, n.fx.timer = function(a) {\n            n.timers.push(a), a() ? n.fx.start() : n.timers.pop()\n        }, n.fx.interval = 13, n.fx.start = function() {\n            Ta || (Ta = a.setInterval(n.fx.tick, n.fx.interval))\n        }, n.fx.stop = function() {\n            a.clearInterval(Ta), Ta = null\n        }, n.fx.speeds = {\n            slow: 600,\n            fast: 200,\n            _default: 400\n        }, n.fn.delay = function(b, c) {\n            return b = n.fx ? n.fx.speeds[b] || b : b, c = c || \"fx\", this.queue(c, function(c, d) {\n                var e = a.setTimeout(c, b);\n                d.stop = function() {\n                    a.clearTimeout(e)\n                }\n            })\n        },\n        function() {\n            var a = d.createElement(\"input\"),\n                b = d.createElement(\"select\"),\n                c = b.appendChild(d.createElement(\"option\"));\n            a.type = \"checkbox\", l.checkOn = \"\" !== a.value, l.optSelected = c.selected, b.disabled = !0, l.optDisabled = !c.disabled, a = d.createElement(\"input\"), a.value = \"t\", a.type = \"radio\", l.radioValue = \"t\" === a.value\n        }();\n    var ab, bb = n.expr.attrHandle;\n    n.fn.extend({\n        attr: function(a, b) {\n            return K(this, n.attr, a, b, arguments.length > 1)\n        },\n        removeAttr: function(a) {\n            return this.each(function() {\n                n.removeAttr(this, a)\n            })\n        }\n    }), n.extend({\n        attr: function(a, b, c) {\n            var d, e, f = a.nodeType;\n            if (3 !== f && 8 !== f && 2 !== f) return \"undefined\" == typeof a.getAttribute ? n.prop(a, b, c) : (1 === f && n.isXMLDoc(a) || (b = b.toLowerCase(), e = n.attrHooks[b] || (n.expr.match.bool.test(b) ? ab : void 0)), void 0 !== c ? null === c ? void n.removeAttr(a, b) : e && \"set\" in e && void 0 !== (d = e.set(a, c, b)) ? d : (a.setAttribute(b, c + \"\"), c) : e && \"get\" in e && null !== (d = e.get(a, b)) ? d : (d = n.find.attr(a, b), null == d ? void 0 : d))\n        },\n        attrHooks: {\n            type: {\n                set: function(a, b) {\n                    if (!l.radioValue && \"radio\" === b && n.nodeName(a, \"input\")) {\n                        var c = a.value;\n                        return a.setAttribute(\"type\", b), c && (a.value = c), b\n                    }\n                }\n            }\n        },\n        removeAttr: function(a, b) {\n            var c, d, e = 0,\n                f = b && b.match(G);\n            if (f && 1 === a.nodeType)\n                while (c = f[e++]) d = n.propFix[c] || c, n.expr.match.bool.test(c) && (a[d] = !1), a.removeAttribute(c)\n        }\n    }), ab = {\n        set: function(a, b, c) {\n            return b === !1 ? n.removeAttr(a, c) : a.setAttribute(c, c), c\n        }\n    }, n.each(n.expr.match.bool.source.match(/\\w+/g), function(a, b) {\n        var c = bb[b] || n.find.attr;\n        bb[b] = function(a, b, d) {\n            var e, f;\n            return d || (f = bb[b], bb[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, bb[b] = f), e\n        }\n    });\n    var cb = /^(?:input|select|textarea|button)$/i,\n        db = /^(?:a|area)$/i;\n    n.fn.extend({\n        prop: function(a, b) {\n            return K(this, n.prop, a, b, arguments.length > 1)\n        },\n        removeProp: function(a) {\n            return this.each(function() {\n                delete this[n.propFix[a] || a]\n            })\n        }\n    }), n.extend({\n        prop: function(a, b, c) {\n            var d, e, f = a.nodeType;\n            if (3 !== f && 8 !== f && 2 !== f) return 1 === f && n.isXMLDoc(a) || (b = n.propFix[b] || b, e = n.propHooks[b]),\n                void 0 !== c ? e && \"set\" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && \"get\" in e && null !== (d = e.get(a, b)) ? d : a[b]\n        },\n        propHooks: {\n            tabIndex: {\n                get: function(a) {\n                    var b = n.find.attr(a, \"tabindex\");\n                    return b ? parseInt(b, 10) : cb.test(a.nodeName) || db.test(a.nodeName) && a.href ? 0 : -1\n                }\n            }\n        },\n        propFix: {\n            \"for\": \"htmlFor\",\n            \"class\": \"className\"\n        }\n    }), l.optSelected || (n.propHooks.selected = {\n        get: function(a) {\n            var b = a.parentNode;\n            return b && b.parentNode && b.parentNode.selectedIndex, null\n        },\n        set: function(a) {\n            var b = a.parentNode;\n            b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex)\n        }\n    }), n.each([\"tabIndex\", \"readOnly\", \"maxLength\", \"cellSpacing\", \"cellPadding\", \"rowSpan\", \"colSpan\", \"useMap\", \"frameBorder\", \"contentEditable\"], function() {\n        n.propFix[this.toLowerCase()] = this\n    });\n    var eb = /[\\t\\r\\n\\f]/g;\n\n    function fb(a) {\n        return a.getAttribute && a.getAttribute(\"class\") || \"\"\n    }\n    n.fn.extend({\n        addClass: function(a) {\n            var b, c, d, e, f, g, h, i = 0;\n            if (n.isFunction(a)) return this.each(function(b) {\n                n(this).addClass(a.call(this, b, fb(this)))\n            });\n            if (\"string\" == typeof a && a) {\n                b = a.match(G) || [];\n                while (c = this[i++])\n                    if (e = fb(c), d = 1 === c.nodeType && (\" \" + e + \" \").replace(eb, \" \")) {\n                        g = 0;\n                        while (f = b[g++]) d.indexOf(\" \" + f + \" \") < 0 && (d += f + \" \");\n                        h = n.trim(d), e !== h && c.setAttribute(\"class\", h)\n                    }\n            }\n            return this\n        },\n        removeClass: function(a) {\n            var b, c, d, e, f, g, h, i = 0;\n            if (n.isFunction(a)) return this.each(function(b) {\n                n(this).removeClass(a.call(this, b, fb(this)))\n            });\n            if (!arguments.length) return this.attr(\"class\", \"\");\n            if (\"string\" == typeof a && a) {\n                b = a.match(G) || [];\n                while (c = this[i++])\n                    if (e = fb(c), d = 1 === c.nodeType && (\" \" + e + \" \").replace(eb, \" \")) {\n                        g = 0;\n                        while (f = b[g++])\n                            while (d.indexOf(\" \" + f + \" \") > -1) d = d.replace(\" \" + f + \" \", \" \");\n                        h = n.trim(d), e !== h && c.setAttribute(\"class\", h)\n                    }\n            }\n            return this\n        },\n        toggleClass: function(a, b) {\n            var c = typeof a;\n            return \"boolean\" == typeof b && \"string\" === c ? b ? this.addClass(a) : this.removeClass(a) : n.isFunction(a) ? this.each(function(c) {\n                n(this).toggleClass(a.call(this, c, fb(this), b), b)\n            }) : this.each(function() {\n                var b, d, e, f;\n                if (\"string\" === c) {\n                    d = 0, e = n(this), f = a.match(G) || [];\n                    while (b = f[d++]) e.hasClass(b) ? e.removeClass(b) : e.addClass(b)\n                } else void 0 !== a && \"boolean\" !== c || (b = fb(this), b && N.set(this, \"__className__\", b), this.setAttribute && this.setAttribute(\"class\", b || a === !1 ? \"\" : N.get(this, \"__className__\") || \"\"))\n            })\n        },\n        hasClass: function(a) {\n            var b, c, d = 0;\n            b = \" \" + a + \" \";\n            while (c = this[d++])\n                if (1 === c.nodeType && (\" \" + fb(c) + \" \").replace(eb, \" \").indexOf(b) > -1) return !0;\n            return !1\n        }\n    });\n    var gb = /\\r/g,\n        hb = /[\\x20\\t\\r\\n\\f]+/g;\n    n.fn.extend({\n        val: function(a) {\n            var b, c, d, e = this[0]; {\n                if (arguments.length) return d = n.isFunction(a), this.each(function(c) {\n                    var e;\n                    1 === this.nodeType && (e = d ? a.call(this, c, n(this).val()) : a, null == e ? e = \"\" : \"number\" == typeof e ? e += \"\" : n.isArray(e) && (e = n.map(e, function(a) {\n                        return null == a ? \"\" : a + \"\"\n                    })), b = n.valHooks[this.type] || n.valHooks[this.nodeName.toLowerCase()], b && \"set\" in b && void 0 !== b.set(this, e, \"value\") || (this.value = e))\n                });\n                if (e) return b = n.valHooks[e.type] || n.valHooks[e.nodeName.toLowerCase()], b && \"get\" in b && void 0 !== (c = b.get(e, \"value\")) ? c : (c = e.value, \"string\" == typeof c ? c.replace(gb, \"\") : null == c ? \"\" : c)\n            }\n        }\n    }), n.extend({\n        valHooks: {\n            option: {\n                get: function(a) {\n                    var b = n.find.attr(a, \"value\");\n                    return null != b ? b : n.trim(n.text(a)).replace(hb, \" \")\n                }\n            },\n            select: {\n                get: function(a) {\n                    for (var b, c, d = a.options, e = a.selectedIndex, f = \"select-one\" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++)\n                        if (c = d[i], (c.selected || i === e) && (l.optDisabled ? !c.disabled : null === c.getAttribute(\"disabled\")) && (!c.parentNode.disabled || !n.nodeName(c.parentNode, \"optgroup\"))) {\n                            if (b = n(c).val(), f) return b;\n                            g.push(b)\n                        }\n                    return g\n                },\n                set: function(a, b) {\n                    var c, d, e = a.options,\n                        f = n.makeArray(b),\n                        g = e.length;\n                    while (g--) d = e[g], (d.selected = n.inArray(n.valHooks.option.get(d), f) > -1) && (c = !0);\n                    return c || (a.selectedIndex = -1), f\n                }\n            }\n        }\n    }), n.each([\"radio\", \"checkbox\"], function() {\n        n.valHooks[this] = {\n            set: function(a, b) {\n                return n.isArray(b) ? a.checked = n.inArray(n(a).val(), b) > -1 : void 0\n            }\n        }, l.checkOn || (n.valHooks[this].get = function(a) {\n            return null === a.getAttribute(\"value\") ? \"on\" : a.value\n        })\n    });\n    var ib = /^(?:focusinfocus|focusoutblur)$/;\n    n.extend(n.event, {\n        trigger: function(b, c, e, f) {\n            var g, h, i, j, l, m, o, p = [e || d],\n                q = k.call(b, \"type\") ? b.type : b,\n                r = k.call(b, \"namespace\") ? b.namespace.split(\".\") : [];\n            if (h = i = e = e || d, 3 !== e.nodeType && 8 !== e.nodeType && !ib.test(q + n.event.triggered) && (q.indexOf(\".\") > -1 && (r = q.split(\".\"), q = r.shift(), r.sort()), l = q.indexOf(\":\") < 0 && \"on\" + q, b = b[n.expando] ? b : new n.Event(q, \"object\" == typeof b && b), b.isTrigger = f ? 2 : 3, b.namespace = r.join(\".\"), b.rnamespace = b.namespace ? new RegExp(\"(^|\\\\.)\" + r.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [b] : n.makeArray(c, [b]), o = n.event.special[q] || {}, f || !o.trigger || o.trigger.apply(e, c) !== !1)) {\n                if (!f && !o.noBubble && !n.isWindow(e)) {\n                    for (j = o.delegateType || q, ib.test(j + q) || (h = h.parentNode); h; h = h.parentNode) p.push(h), i = h;\n                    i === (e.ownerDocument || d) && p.push(i.defaultView || i.parentWindow || a)\n                }\n                g = 0;\n                while ((h = p[g++]) && !b.isPropagationStopped()) b.type = g > 1 ? j : o.bindType || q, m = (N.get(h, \"events\") || {})[b.type] && N.get(h, \"handle\"), m && m.apply(h, c), m = l && h[l], m && m.apply && L(h) && (b.result = m.apply(h, c), b.result === !1 && b.preventDefault());\n                return b.type = q, f || b.isDefaultPrevented() || o._default && o._default.apply(p.pop(), c) !== !1 || !L(e) || l && n.isFunction(e[q]) && !n.isWindow(e) && (i = e[l], i && (e[l] = null), n.event.triggered = q, e[q](), n.event.triggered = void 0, i && (e[l] = i)), b.result\n            }\n        },\n        simulate: function(a, b, c) {\n            var d = n.extend(new n.Event, c, {\n                type: a,\n                isSimulated: !0\n            });\n            n.event.trigger(d, null, b)\n        }\n    }), n.fn.extend({\n        trigger: function(a, b) {\n            return this.each(function() {\n                n.event.trigger(a, b, this)\n            })\n        },\n        triggerHandler: function(a, b) {\n            var c = this[0];\n            return c ? n.event.trigger(a, b, c, !0) : void 0\n        }\n    }), n.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"), function(a, b) {\n        n.fn[b] = function(a, c) {\n            return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)\n        }\n    }), n.fn.extend({\n        hover: function(a, b) {\n            return this.mouseenter(a).mouseleave(b || a)\n        }\n    }), l.focusin = \"onfocusin\" in a, l.focusin || n.each({\n        focus: \"focusin\",\n        blur: \"focusout\"\n    }, function(a, b) {\n        var c = function(a) {\n            n.event.simulate(b, a.target, n.event.fix(a))\n        };\n        n.event.special[b] = {\n            setup: function() {\n                var d = this.ownerDocument || this,\n                    e = N.access(d, b);\n                e || d.addEventListener(a, c, !0), N.access(d, b, (e || 0) + 1)\n            },\n            teardown: function() {\n                var d = this.ownerDocument || this,\n                    e = N.access(d, b) - 1;\n                e ? N.access(d, b, e) : (d.removeEventListener(a, c, !0), N.remove(d, b))\n            }\n        }\n    });\n    var jb = a.location,\n        kb = n.now(),\n        lb = /\\?/;\n    n.parseJSON = function(a) {\n        return JSON.parse(a + \"\")\n    }, n.parseXML = function(b) {\n        var c;\n        if (!b || \"string\" != typeof b) return null;\n        try {\n            c = (new a.DOMParser).parseFromString(b, \"text/xml\")\n        } catch (d) {\n            c = void 0\n        }\n        return c && !c.getElementsByTagName(\"parsererror\").length || n.error(\"Invalid XML: \" + b), c\n    };\n    var mb = /#.*$/,\n        nb = /([?&])_=[^&]*/,\n        ob = /^(.*?):[ \\t]*([^\\r\\n]*)$/gm,\n        pb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n        qb = /^(?:GET|HEAD)$/,\n        rb = /^\\/\\//,\n        sb = {},\n        tb = {},\n        ub = \"*/\".concat(\"*\"),\n        vb = d.createElement(\"a\");\n    vb.href = jb.href;\n\n    function wb(a) {\n        return function(b, c) {\n            \"string\" != typeof b && (c = b, b = \"*\");\n            var d, e = 0,\n                f = b.toLowerCase().match(G) || [];\n            if (n.isFunction(c))\n                while (d = f[e++]) \"+\" === d[0] ? (d = d.slice(1) || \"*\", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c)\n        }\n    }\n\n    function xb(a, b, c, d) {\n        var e = {},\n            f = a === tb;\n\n        function g(h) {\n            var i;\n            return e[h] = !0, n.each(a[h] || [], function(a, h) {\n                var j = h(b, c, d);\n                return \"string\" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1)\n            }), i\n        }\n        return g(b.dataTypes[0]) || !e[\"*\"] && g(\"*\")\n    }\n\n    function yb(a, b) {\n        var c, d, e = n.ajaxSettings.flatOptions || {};\n        for (c in b) void 0 !== b[c] && ((e[c] ? a : d || (d = {}))[c] = b[c]);\n        return d && n.extend(!0, a, d), a\n    }\n\n    function zb(a, b, c) {\n        var d, e, f, g, h = a.contents,\n            i = a.dataTypes;\n        while (\"*\" === i[0]) i.shift(), void 0 === d && (d = a.mimeType || b.getResponseHeader(\"Content-Type\"));\n        if (d)\n            for (e in h)\n                if (h[e] && h[e].test(d)) {\n                    i.unshift(e);\n                    break\n                }\n        if (i[0] in c) f = i[0];\n        else {\n            for (e in c) {\n                if (!i[0] || a.converters[e + \" \" + i[0]]) {\n                    f = e;\n                    break\n                }\n                g || (g = e)\n            }\n            f = f || g\n        }\n        return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0\n    }\n\n    function Ab(a, b, c, d) {\n        var e, f, g, h, i, j = {},\n            k = a.dataTypes.slice();\n        if (k[1])\n            for (g in a.converters) j[g.toLowerCase()] = a.converters[g];\n        f = k.shift();\n        while (f)\n            if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift())\n                if (\"*\" === f) f = i;\n                else if (\"*\" !== i && i !== f) {\n            if (g = j[i + \" \" + f] || j[\"* \" + f], !g)\n                for (e in j)\n                    if (h = e.split(\" \"), h[1] === f && (g = j[i + \" \" + h[0]] || j[\"* \" + h[0]])) {\n                        g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1]));\n                        break\n                    }\n            if (g !== !0)\n                if (g && a[\"throws\"]) b = g(b);\n                else try {\n                    b = g(b)\n                } catch (l) {\n                    return {\n                        state: \"parsererror\",\n                        error: g ? l : \"No conversion from \" + i + \" to \" + f\n                    }\n                }\n        }\n        return {\n            state: \"success\",\n            data: b\n        }\n    }\n    n.extend({\n        active: 0,\n        lastModified: {},\n        etag: {},\n        ajaxSettings: {\n            url: jb.href,\n            type: \"GET\",\n            isLocal: pb.test(jb.protocol),\n            global: !0,\n            processData: !0,\n            async: !0,\n            contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n            accepts: {\n                \"*\": ub,\n                text: \"text/plain\",\n                html: \"text/html\",\n                xml: \"application/xml, text/xml\",\n                json: \"application/json, text/javascript\"\n            },\n            contents: {\n                xml: /\\bxml\\b/,\n                html: /\\bhtml/,\n                json: /\\bjson\\b/\n            },\n            responseFields: {\n                xml: \"responseXML\",\n                text: \"responseText\",\n                json: \"responseJSON\"\n            },\n            converters: {\n                \"* text\": String,\n                \"text html\": !0,\n                \"text json\": n.parseJSON,\n                \"text xml\": n.parseXML\n            },\n            flatOptions: {\n                url: !0,\n                context: !0\n            }\n        },\n        ajaxSetup: function(a, b) {\n            return b ? yb(yb(a, n.ajaxSettings), b) : yb(n.ajaxSettings, a)\n        },\n        ajaxPrefilter: wb(sb),\n        ajaxTransport: wb(tb),\n        ajax: function(b, c) {\n            \"object\" == typeof b && (c = b, b = void 0), c = c || {};\n            var e, f, g, h, i, j, k, l, m = n.ajaxSetup({}, c),\n                o = m.context || m,\n                p = m.context && (o.nodeType || o.jquery) ? n(o) : n.event,\n                q = n.Deferred(),\n                r = n.Callbacks(\"once memory\"),\n                s = m.statusCode || {},\n                t = {},\n                u = {},\n                v = 0,\n                w = \"canceled\",\n                x = {\n                    readyState: 0,\n                    getResponseHeader: function(a) {\n                        var b;\n                        if (2 === v) {\n                            if (!h) {\n                                h = {};\n                                while (b = ob.exec(g)) h[b[1].toLowerCase()] = b[2]\n                            }\n                            b = h[a.toLowerCase()]\n                        }\n                        return null == b ? null : b\n                    },\n                    getAllResponseHeaders: function() {\n                        return 2 === v ? g : null\n                    },\n                    setRequestHeader: function(a, b) {\n                        var c = a.toLowerCase();\n                        return v || (a = u[c] = u[c] || a, t[a] = b), this\n                    },\n                    overrideMimeType: function(a) {\n                        return v || (m.mimeType = a), this\n                    },\n                    statusCode: function(a) {\n                        var b;\n                        if (a)\n                            if (2 > v)\n                                for (b in a) s[b] = [s[b], a[b]];\n                            else x.always(a[x.status]);\n                        return this\n                    },\n                    abort: function(a) {\n                        var b = a || w;\n                        return e && e.abort(b), z(0, b), this\n                    }\n                };\n            if (q.promise(x).complete = r.add, x.success = x.done, x.error = x.fail, m.url = ((b || m.url || jb.href) + \"\").replace(mb, \"\").replace(rb, jb.protocol + \"//\"), m.type = c.method || c.type || m.method || m.type, m.dataTypes = n.trim(m.dataType || \"*\").toLowerCase().match(G) || [\"\"], null == m.crossDomain) {\n                j = d.createElement(\"a\");\n                try {\n                    j.href = m.url, j.href = j.href, m.crossDomain = vb.protocol + \"//\" + vb.host != j.protocol + \"//\" + j.host\n                } catch (y) {\n                    m.crossDomain = !0\n                }\n            }\n            if (m.data && m.processData && \"string\" != typeof m.data && (m.data = n.param(m.data, m.traditional)), xb(sb, m, c, x), 2 === v) return x;\n            k = n.event && m.global, k && 0 === n.active++ && n.event.trigger(\"ajaxStart\"), m.type = m.type.toUpperCase(), m.hasContent = !qb.test(m.type), f = m.url, m.hasContent || (m.data && (f = m.url += (lb.test(f) ? \"&\" : \"?\") + m.data, delete m.data), m.cache === !1 && (m.url = nb.test(f) ? f.replace(nb, \"$1_=\" + kb++) : f + (lb.test(f) ? \"&\" : \"?\") + \"_=\" + kb++)), m.ifModified && (n.lastModified[f] && x.setRequestHeader(\"If-Modified-Since\", n.lastModified[f]), n.etag[f] && x.setRequestHeader(\"If-None-Match\", n.etag[f])), (m.data && m.hasContent && m.contentType !== !1 || c.contentType) && x.setRequestHeader(\"Content-Type\", m.contentType), x.setRequestHeader(\"Accept\", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + (\"*\" !== m.dataTypes[0] ? \", \" + ub + \"; q=0.01\" : \"\") : m.accepts[\"*\"]);\n            for (l in m.headers) x.setRequestHeader(l, m.headers[l]);\n            if (m.beforeSend && (m.beforeSend.call(o, x, m) === !1 || 2 === v)) return x.abort();\n            w = \"abort\";\n            for (l in {\n                    success: 1,\n                    error: 1,\n                    complete: 1\n                }) x[l](m[l]);\n            if (e = xb(tb, m, c, x)) {\n                if (x.readyState = 1, k && p.trigger(\"ajaxSend\", [x, m]), 2 === v) return x;\n                m.async && m.timeout > 0 && (i = a.setTimeout(function() {\n                    x.abort(\"timeout\")\n                }, m.timeout));\n                try {\n                    v = 1, e.send(t, z)\n                } catch (y) {\n                    if (!(2 > v)) throw y;\n                    z(-1, y)\n                }\n            } else z(-1, \"No Transport\");\n\n            function z(b, c, d, h) {\n                var j, l, t, u, w, y = c;\n                2 !== v && (v = 2, i && a.clearTimeout(i), e = void 0, g = h || \"\", x.readyState = b > 0 ? 4 : 0, j = b >= 200 && 300 > b || 304 === b, d && (u = zb(m, x, d)), u = Ab(m, u, x, j), j ? (m.ifModified && (w = x.getResponseHeader(\"Last-Modified\"), w && (n.lastModified[f] = w), w = x.getResponseHeader(\"etag\"), w && (n.etag[f] = w)), 204 === b || \"HEAD\" === m.type ? y = \"nocontent\" : 304 === b ? y = \"notmodified\" : (y = u.state, l = u.data, t = u.error, j = !t)) : (t = y, !b && y || (y = \"error\", 0 > b && (b = 0))), x.status = b, x.statusText = (c || y) + \"\", j ? q.resolveWith(o, [l, y, x]) : q.rejectWith(o, [x, y, t]), x.statusCode(s), s = void 0, k && p.trigger(j ? \"ajaxSuccess\" : \"ajaxError\", [x, m, j ? l : t]), r.fireWith(o, [x, y]), k && (p.trigger(\"ajaxComplete\", [x, m]), --n.active || n.event.trigger(\"ajaxStop\")))\n            }\n            return x\n        },\n        getJSON: function(a, b, c) {\n            return n.get(a, b, c, \"json\")\n        },\n        getScript: function(a, b) {\n            return n.get(a, void 0, b, \"script\")\n        }\n    }), n.each([\"get\", \"post\"], function(a, b) {\n        n[b] = function(a, c, d, e) {\n            return n.isFunction(c) && (e = e || d, d = c, c = void 0), n.ajax(n.extend({\n                url: a,\n                type: b,\n                dataType: e,\n                data: c,\n                success: d\n            }, n.isPlainObject(a) && a))\n        }\n    }), n._evalUrl = function(a) {\n        return n.ajax({\n            url: a,\n            type: \"GET\",\n            dataType: \"script\",\n            async: !1,\n            global: !1,\n            \"throws\": !0\n        })\n    }, n.fn.extend({\n        wrapAll: function(a) {\n            var b;\n            return n.isFunction(a) ? this.each(function(b) {\n                n(this).wrapAll(a.call(this, b))\n            }) : (this[0] && (b = n(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && b.insertBefore(this[0]), b.map(function() {\n                var a = this;\n                while (a.firstElementChild) a = a.firstElementChild;\n                return a\n            }).append(this)), this)\n        },\n        wrapInner: function(a) {\n            return n.isFunction(a) ? this.each(function(b) {\n                n(this).wrapInner(a.call(this, b))\n            }) : this.each(function() {\n                var b = n(this),\n                    c = b.contents();\n                c.length ? c.wrapAll(a) : b.append(a)\n            })\n        },\n        wrap: function(a) {\n            var b = n.isFunction(a);\n            return this.each(function(c) {\n                n(this).wrapAll(b ? a.call(this, c) : a)\n            })\n        },\n        unwrap: function() {\n            return this.parent().each(function() {\n                n.nodeName(this, \"body\") || n(this).replaceWith(this.childNodes)\n            }).end()\n        }\n    }), n.expr.filters.hidden = function(a) {\n        return !n.expr.filters.visible(a)\n    }, n.expr.filters.visible = function(a) {\n        return a.offsetWidth > 0 || a.offsetHeight > 0 || a.getClientRects().length > 0\n    };\n    var Bb = /%20/g,\n        Cb = /\\[\\]$/,\n        Db = /\\r?\\n/g,\n        Eb = /^(?:submit|button|image|reset|file)$/i,\n        Fb = /^(?:input|select|textarea|keygen)/i;\n\n    function Gb(a, b, c, d) {\n        var e;\n        if (n.isArray(b)) n.each(b, function(b, e) {\n            c || Cb.test(a) ? d(a, e) : Gb(a + \"[\" + (\"object\" == typeof e && null != e ? b : \"\") + \"]\", e, c, d)\n        });\n        else if (c || \"object\" !== n.type(b)) d(a, b);\n        else\n            for (e in b) Gb(a + \"[\" + e + \"]\", b[e], c, d)\n    }\n    n.param = function(a, b) {\n        var c, d = [],\n            e = function(a, b) {\n                b = n.isFunction(b) ? b() : null == b ? \"\" : b, d[d.length] = encodeURIComponent(a) + \"=\" + encodeURIComponent(b)\n            };\n        if (void 0 === b && (b = n.ajaxSettings && n.ajaxSettings.traditional), n.isArray(a) || a.jquery && !n.isPlainObject(a)) n.each(a, function() {\n            e(this.name, this.value)\n        });\n        else\n            for (c in a) Gb(c, a[c], b, e);\n        return d.join(\"&\").replace(Bb, \"+\")\n    }, n.fn.extend({\n        serialize: function() {\n            return n.param(this.serializeArray())\n        },\n        serializeArray: function() {\n            return this.map(function() {\n                var a = n.prop(this, \"elements\");\n                return a ? n.makeArray(a) : this\n            }).filter(function() {\n                var a = this.type;\n                return this.name && !n(this).is(\":disabled\") && Fb.test(this.nodeName) && !Eb.test(a) && (this.checked || !X.test(a))\n            }).map(function(a, b) {\n                var c = n(this).val();\n                return null == c ? null : n.isArray(c) ? n.map(c, function(a) {\n                    return {\n                        name: b.name,\n                        value: a.replace(Db, \"\\r\\n\")\n                    }\n                }) : {\n                    name: b.name,\n                    value: c.replace(Db, \"\\r\\n\")\n                }\n            }).get()\n        }\n    }), n.ajaxSettings.xhr = function() {\n        try {\n            return new a.XMLHttpRequest\n        } catch (b) {}\n    };\n    var Hb = {\n            0: 200,\n            1223: 204\n        },\n        Ib = n.ajaxSettings.xhr();\n    l.cors = !!Ib && \"withCredentials\" in Ib, l.ajax = Ib = !!Ib, n.ajaxTransport(function(b) {\n        var c, d;\n        return l.cors || Ib && !b.crossDomain ? {\n            send: function(e, f) {\n                var g, h = b.xhr();\n                if (h.open(b.type, b.url, b.async, b.username, b.password), b.xhrFields)\n                    for (g in b.xhrFields) h[g] = b.xhrFields[g];\n                b.mimeType && h.overrideMimeType && h.overrideMimeType(b.mimeType), b.crossDomain || e[\"X-Requested-With\"] || (e[\"X-Requested-With\"] = \"XMLHttpRequest\");\n                for (g in e) h.setRequestHeader(g, e[g]);\n                c = function(a) {\n                    return function() {\n                        c && (c = d = h.onload = h.onerror = h.onabort = h.onreadystatechange = null, \"abort\" === a ? h.abort() : \"error\" === a ? \"number\" != typeof h.status ? f(0, \"error\") : f(h.status, h.statusText) : f(Hb[h.status] || h.status, h.statusText, \"text\" !== (h.responseType || \"text\") || \"string\" != typeof h.responseText ? {\n                            binary: h.response\n                        } : {\n                            text: h.responseText\n                        }, h.getAllResponseHeaders()))\n                    }\n                }, h.onload = c(), d = h.onerror = c(\"error\"), void 0 !== h.onabort ? h.onabort = d : h.onreadystatechange = function() {\n                    4 === h.readyState && a.setTimeout(function() {\n                        c && d()\n                    })\n                }, c = c(\"abort\");\n                try {\n                    h.send(b.hasContent && b.data || null)\n                } catch (i) {\n                    if (c) throw i\n                }\n            },\n            abort: function() {\n                c && c()\n            }\n        } : void 0\n    }), n.ajaxSetup({\n        accepts: {\n            script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n        },\n        contents: {\n            script: /\\b(?:java|ecma)script\\b/\n        },\n        converters: {\n            \"text script\": function(a) {\n                return n.globalEval(a), a\n            }\n        }\n    }), n.ajaxPrefilter(\"script\", function(a) {\n        void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = \"GET\")\n    }), n.ajaxTransport(\"script\", function(a) {\n        if (a.crossDomain) {\n            var b, c;\n            return {\n                send: function(e, f) {\n                    b = n(\"<script>\").prop({\n                        charset: a.scriptCharset,\n                        src: a.url\n                    }).on(\"load error\", c = function(a) {\n                        b.remove(), c = null, a && f(\"error\" === a.type ? 404 : 200, a.type)\n                    }), d.head.appendChild(b[0])\n                },\n                abort: function() {\n                    c && c()\n                }\n            }\n        }\n    });\n    var Jb = [],\n        Kb = /(=)\\?(?=&|$)|\\?\\?/;\n    n.ajaxSetup({\n        jsonp: \"callback\",\n        jsonpCallback: function() {\n            var a = Jb.pop() || n.expando + \"_\" + kb++;\n            return this[a] = !0, a\n        }\n    }), n.ajaxPrefilter(\"json jsonp\", function(b, c, d) {\n        var e, f, g, h = b.jsonp !== !1 && (Kb.test(b.url) ? \"url\" : \"string\" == typeof b.data && 0 === (b.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") && Kb.test(b.data) && \"data\");\n        return h || \"jsonp\" === b.dataTypes[0] ? (e = b.jsonpCallback = n.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(Kb, \"$1\" + e) : b.jsonp !== !1 && (b.url += (lb.test(b.url) ? \"&\" : \"?\") + b.jsonp + \"=\" + e), b.converters[\"script json\"] = function() {\n            return g || n.error(e + \" was not called\"), g[0]\n        }, b.dataTypes[0] = \"json\", f = a[e], a[e] = function() {\n            g = arguments\n        }, d.always(function() {\n            void 0 === f ? n(a).removeProp(e) : a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, Jb.push(e)), g && n.isFunction(f) && f(g[0]), g = f = void 0\n        }), \"script\") : void 0\n    }), n.parseHTML = function(a, b, c) {\n        if (!a || \"string\" != typeof a) return null;\n        \"boolean\" == typeof b && (c = b, b = !1), b = b || d;\n        var e = x.exec(a),\n            f = !c && [];\n        return e ? [b.createElement(e[1])] : (e = ca([a], b, f), f && f.length && n(f).remove(), n.merge([], e.childNodes))\n    };\n    var Lb = n.fn.load;\n    n.fn.load = function(a, b, c) {\n        if (\"string\" != typeof a && Lb) return Lb.apply(this, arguments);\n        var d, e, f, g = this,\n            h = a.indexOf(\" \");\n        return h > -1 && (d = n.trim(a.slice(h)), a = a.slice(0, h)), n.isFunction(b) ? (c = b, b = void 0) : b && \"object\" == typeof b && (e = \"POST\"), g.length > 0 && n.ajax({\n            url: a,\n            type: e || \"GET\",\n            dataType: \"html\",\n            data: b\n        }).done(function(a) {\n            f = arguments, g.html(d ? n(\"<div>\").append(n.parseHTML(a)).find(d) : a)\n        }).always(c && function(a, b) {\n            g.each(function() {\n                c.apply(this, f || [a.responseText, b, a])\n            })\n        }), this\n    }, n.each([\"ajaxStart\", \"ajaxStop\", \"ajaxComplete\", \"ajaxError\", \"ajaxSuccess\", \"ajaxSend\"], function(a, b) {\n        n.fn[b] = function(a) {\n            return this.on(b, a)\n        }\n    }), n.expr.filters.animated = function(a) {\n        return n.grep(n.timers, function(b) {\n            return a === b.elem\n        }).length\n    };\n\n    function Mb(a) {\n        return n.isWindow(a) ? a : 9 === a.nodeType && a.defaultView\n    }\n    n.offset = {\n        setOffset: function(a, b, c) {\n            var d, e, f, g, h, i, j, k = n.css(a, \"position\"),\n                l = n(a),\n                m = {};\n            \"static\" === k && (a.style.position = \"relative\"), h = l.offset(), f = n.css(a, \"top\"), i = n.css(a, \"left\"), j = (\"absolute\" === k || \"fixed\" === k) && (f + i).indexOf(\"auto\") > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), n.isFunction(b) && (b = b.call(a, c, n.extend({}, h))), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), \"using\" in b ? b.using.call(a, m) : l.css(m)\n        }\n    }, n.fn.extend({\n        offset: function(a) {\n            if (arguments.length) return void 0 === a ? this : this.each(function(b) {\n                n.offset.setOffset(this, a, b)\n            });\n            var b, c, d = this[0],\n                e = {\n                    top: 0,\n                    left: 0\n                },\n                f = d && d.ownerDocument;\n            if (f) return b = f.documentElement, n.contains(b, d) ? (e = d.getBoundingClientRect(), c = Mb(f), {\n                top: e.top + c.pageYOffset - b.clientTop,\n                left: e.left + c.pageXOffset - b.clientLeft\n            }) : e\n        },\n        position: function() {\n            if (this[0]) {\n                var a, b, c = this[0],\n                    d = {\n                        top: 0,\n                        left: 0\n                    };\n                return \"fixed\" === n.css(c, \"position\") ? b = c.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), n.nodeName(a[0], \"html\") || (d = a.offset()), d.top += n.css(a[0], \"borderTopWidth\", !0), d.left += n.css(a[0], \"borderLeftWidth\", !0)), {\n                    top: b.top - d.top - n.css(c, \"marginTop\", !0),\n                    left: b.left - d.left - n.css(c, \"marginLeft\", !0)\n                }\n            }\n        },\n        offsetParent: function() {\n            return this.map(function() {\n                var a = this.offsetParent;\n                while (a && \"static\" === n.css(a, \"position\")) a = a.offsetParent;\n                return a || Ea\n            })\n        }\n    }), n.each({\n        scrollLeft: \"pageXOffset\",\n        scrollTop: \"pageYOffset\"\n    }, function(a, b) {\n        var c = \"pageYOffset\" === b;\n        n.fn[a] = function(d) {\n            return K(this, function(a, d, e) {\n                var f = Mb(a);\n                return void 0 === e ? f ? f[b] : a[d] : void(f ? f.scrollTo(c ? f.pageXOffset : e, c ? e : f.pageYOffset) : a[d] = e)\n            }, a, d, arguments.length)\n        }\n    }), n.each([\"top\", \"left\"], function(a, b) {\n        n.cssHooks[b] = Ga(l.pixelPosition, function(a, c) {\n            return c ? (c = Fa(a, b), Ba.test(c) ? n(a).position()[b] + \"px\" : c) : void 0\n        })\n    }), n.each({\n        Height: \"height\",\n        Width: \"width\"\n    }, function(a, b) {\n        n.each({\n            padding: \"inner\" + a,\n            content: b,\n            \"\": \"outer\" + a\n        }, function(c, d) {\n            n.fn[d] = function(d, e) {\n                var f = arguments.length && (c || \"boolean\" != typeof d),\n                    g = c || (d === !0 || e === !0 ? \"margin\" : \"border\");\n                return K(this, function(b, c, d) {\n                    var e;\n                    return n.isWindow(b) ? b.document.documentElement[\"client\" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body[\"scroll\" + a], e[\"scroll\" + a], b.body[\"offset\" + a], e[\"offset\" + a], e[\"client\" + a])) : void 0 === d ? n.css(b, c, g) : n.style(b, c, d, g)\n                }, b, f ? d : void 0, f, null)\n            }\n        })\n    }), n.fn.extend({\n        bind: function(a, b, c) {\n            return this.on(a, null, b, c)\n        },\n        unbind: function(a, b) {\n            return this.off(a, null, b)\n        },\n        delegate: function(a, b, c, d) {\n            return this.on(b, a, c, d)\n        },\n        undelegate: function(a, b, c) {\n            return 1 === arguments.length ? this.off(a, \"**\") : this.off(b, a || \"**\", c)\n        },\n        size: function() {\n            return this.length\n        }\n    }), n.fn.andSelf = n.fn.addBack, \"function\" == typeof define && define.amd && define(\"jquery\", [], function() {\n        return n\n    });\n    var Nb = a.jQuery,\n        Ob = a.$;\n    return n.noConflict = function(b) {\n        return a.$ === n && (a.$ = Ob), b && a.jQuery === n && (a.jQuery = Nb), n\n    }, b || (a.jQuery = a.$ = n), n\n});"
  },
  {
    "path": "Happy Birthday_files/script.js",
    "content": "var sf = new Snowflakes({\n    color: \"#ffd700\",\n    minSize: 20\n});\nvar url_string = window.location.href; //window.location.href\nvar url = new URL(url_string);\nvar c = url.searchParams.get(\"name\");\nconsole.log(c);\nif (c != null) {\n    document.getElementById(\"name\").innerHTML = c;\n    document.getElementById(\"nae\").innerHTML = c;\n}\n$('#play').click(function () {\n    $(\".loader\").fadeOut(\"slow\");\n    sf.destroy();\n    $('.balloon-border').animate({\n        top: -500\n    }, 8000);\n    var audio = $('.song')[0];\n    audio.play();\n\n});\nvar typed = new Typed(\"#typed\", {\n    stringsElement: '#typed-strings',\n    typeSpeed: 30,\n    backSpeed: 10,\n    loop: true\n});\nvar retina = window.devicePixelRatio,\n\n    // Math shorthands\n    PI = Math.PI,\n    sqrt = Math.sqrt,\n    round = Math.round,\n    random = Math.random,\n    cos = Math.cos,\n    sin = Math.sin,\n\n    // Local WindowAnimationTiming interface\n    rAF = window.requestAnimationFrame,\n    cAF = window.cancelAnimationFrame || window.cancelRequestAnimationFrame,\n    _now = Date.now || function () {\n        return new Date().getTime();\n    };\n\n// Local WindowAnimationTiming interface polyfill\n(function (w) {\n    /**\n     * Fallback implementation.\n     */\n    var prev = _now();\n\n    function fallback(fn) {\n        var curr = _now();\n        var ms = Math.max(0, 16 - (curr - prev));\n        var req = setTimeout(fn, ms);\n        prev = curr;\n        return req;\n    }\n\n    /**\n     * Cancel.\n     */\n    var cancel = w.cancelAnimationFrame ||\n        w.webkitCancelAnimationFrame ||\n        w.clearTimeout;\n\n    rAF = w.requestAnimationFrame ||\n        w.webkitRequestAnimationFrame ||\n        fallback;\n\n    cAF = function (id) {\n        cancel.call(w, id);\n    };\n}(window));\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    var speed = 50,\n        duration = (1.0 / speed),\n        confettiRibbonCount = 10,\n        ribbonPaperCount = 15,\n        ribbonPaperDist = 8.0,\n        ribbonPaperThick = 8.0,\n        confettiPaperCount = 10,\n        DEG_TO_RAD = PI / 180,\n        RAD_TO_DEG = 180 / PI,\n        colors = [\n            [\"#df0049\", \"#660671\"],\n            [\"#00e857\", \"#005291\"],\n            [\"#2bebbc\", \"#05798a\"],\n            [\"#ffd200\", \"#b06c00\"]\n        ];\n\n    function Vector2(_x, _y) {\n        this.x = _x, this.y = _y;\n        this.Length = function () {\n            return sqrt(this.SqrLength());\n        }\n        this.SqrLength = function () {\n            return this.x * this.x + this.y * this.y;\n        }\n        this.Add = function (_vec) {\n            this.x += _vec.x;\n            this.y += _vec.y;\n        }\n        this.Sub = function (_vec) {\n            this.x -= _vec.x;\n            this.y -= _vec.y;\n        }\n        this.Div = function (_f) {\n            this.x /= _f;\n            this.y /= _f;\n        }\n        this.Mul = function (_f) {\n            this.x *= _f;\n            this.y *= _f;\n        }\n        this.Normalize = function () {\n            var sqrLen = this.SqrLength();\n            if (sqrLen != 0) {\n                var factor = 1.0 / sqrt(sqrLen);\n                this.x *= factor;\n                this.y *= factor;\n            }\n        }\n        this.Normalized = function () {\n            var sqrLen = this.SqrLength();\n            if (sqrLen != 0) {\n                var factor = 1.0 / sqrt(sqrLen);\n                return new Vector2(this.x * factor, this.y * factor);\n            }\n            return new Vector2(0, 0);\n        }\n    }\n    Vector2.Lerp = function (_vec0, _vec1, _t) {\n        return new Vector2((_vec1.x - _vec0.x) * _t + _vec0.x, (_vec1.y - _vec0.y) * _t + _vec0.y);\n    }\n    Vector2.Distance = function (_vec0, _vec1) {\n        return sqrt(Vector2.SqrDistance(_vec0, _vec1));\n    }\n    Vector2.SqrDistance = function (_vec0, _vec1) {\n        var x = _vec0.x - _vec1.x;\n        var y = _vec0.y - _vec1.y;\n        return (x * x + y * y + z * z);\n    }\n    Vector2.Scale = function (_vec0, _vec1) {\n        return new Vector2(_vec0.x * _vec1.x, _vec0.y * _vec1.y);\n    }\n    Vector2.Min = function (_vec0, _vec1) {\n        return new Vector2(Math.min(_vec0.x, _vec1.x), Math.min(_vec0.y, _vec1.y));\n    }\n    Vector2.Max = function (_vec0, _vec1) {\n        return new Vector2(Math.max(_vec0.x, _vec1.x), Math.max(_vec0.y, _vec1.y));\n    }\n    Vector2.ClampMagnitude = function (_vec0, _len) {\n        var vecNorm = _vec0.Normalized;\n        return new Vector2(vecNorm.x * _len, vecNorm.y * _len);\n    }\n    Vector2.Sub = function (_vec0, _vec1) {\n        return new Vector2(_vec0.x - _vec1.x, _vec0.y - _vec1.y, _vec0.z - _vec1.z);\n    }\n\n    function EulerMass(_x, _y, _mass, _drag) {\n        this.position = new Vector2(_x, _y);\n        this.mass = _mass;\n        this.drag = _drag;\n        this.force = new Vector2(0, 0);\n        this.velocity = new Vector2(0, 0);\n        this.AddForce = function (_f) {\n            this.force.Add(_f);\n        }\n        this.Integrate = function (_dt) {\n            var acc = this.CurrentForce(this.position);\n            acc.Div(this.mass);\n            var posDelta = new Vector2(this.velocity.x, this.velocity.y);\n            posDelta.Mul(_dt);\n            this.position.Add(posDelta);\n            acc.Mul(_dt);\n            this.velocity.Add(acc);\n            this.force = new Vector2(0, 0);\n        }\n        this.CurrentForce = function (_pos, _vel) {\n            var totalForce = new Vector2(this.force.x, this.force.y);\n            var speed = this.velocity.Length();\n            var dragVel = new Vector2(this.velocity.x, this.velocity.y);\n            dragVel.Mul(this.drag * this.mass * speed);\n            totalForce.Sub(dragVel);\n            return totalForce;\n        }\n    }\n\n    function ConfettiPaper(_x, _y) {\n        this.pos = new Vector2(_x, _y);\n        this.rotationSpeed = (random() * 600 + 800);\n        this.angle = DEG_TO_RAD * random() * 360;\n        this.rotation = DEG_TO_RAD * random() * 360;\n        this.cosA = 1.0;\n        this.size = 5.0;\n        this.oscillationSpeed = (random() * 1.5 + 0.5);\n        this.xSpeed = 40.0;\n        this.ySpeed = (random() * 60 + 50.0);\n        this.corners = new Array();\n        this.time = random();\n        var ci = round(random() * (colors.length - 1));\n        this.frontColor = colors[ci][0];\n        this.backColor = colors[ci][1];\n        for (var i = 0; i < 4; i++) {\n            var dx = cos(this.angle + DEG_TO_RAD * (i * 90 + 45));\n            var dy = sin(this.angle + DEG_TO_RAD * (i * 90 + 45));\n            this.corners[i] = new Vector2(dx, dy);\n        }\n        this.Update = function (_dt) {\n            this.time += _dt;\n            this.rotation += this.rotationSpeed * _dt;\n            this.cosA = cos(DEG_TO_RAD * this.rotation);\n            this.pos.x += cos(this.time * this.oscillationSpeed) * this.xSpeed * _dt\n            this.pos.y += this.ySpeed * _dt;\n            if (this.pos.y > ConfettiPaper.bounds.y) {\n                this.pos.x = random() * ConfettiPaper.bounds.x;\n                this.pos.y = 0;\n            }\n        }\n        this.Draw = function (_g) {\n            if (this.cosA > 0) {\n                _g.fillStyle = this.frontColor;\n            } else {\n                _g.fillStyle = this.backColor;\n            }\n            _g.beginPath();\n            _g.moveTo((this.pos.x + this.corners[0].x * this.size) * retina, (this.pos.y + this.corners[0].y * this.size * this.cosA) * retina);\n            for (var i = 1; i < 4; i++) {\n                _g.lineTo((this.pos.x + this.corners[i].x * this.size) * retina, (this.pos.y + this.corners[i].y * this.size * this.cosA) * retina);\n            }\n            _g.closePath();\n            _g.fill();\n        }\n    }\n    ConfettiPaper.bounds = new Vector2(0, 0);\n\n    function ConfettiRibbon(_x, _y, _count, _dist, _thickness, _angle, _mass, _drag) {\n        this.particleDist = _dist;\n        this.particleCount = _count;\n        this.particleMass = _mass;\n        this.particleDrag = _drag;\n        this.particles = new Array();\n        var ci = round(random() * (colors.length - 1));\n        this.frontColor = colors[ci][0];\n        this.backColor = colors[ci][1];\n        this.xOff = (cos(DEG_TO_RAD * _angle) * _thickness);\n        this.yOff = (sin(DEG_TO_RAD * _angle) * _thickness);\n        this.position = new Vector2(_x, _y);\n        this.prevPosition = new Vector2(_x, _y);\n        this.velocityInherit = (random() * 2 + 4);\n        this.time = random() * 100;\n        this.oscillationSpeed = (random() * 2 + 2);\n        this.oscillationDistance = (random() * 40 + 40);\n        this.ySpeed = (random() * 40 + 80);\n        for (var i = 0; i < this.particleCount; i++) {\n            this.particles[i] = new EulerMass(_x, _y - i * this.particleDist, this.particleMass, this.particleDrag);\n        }\n        this.Update = function (_dt) {\n            var i = 0;\n            this.time += _dt * this.oscillationSpeed;\n            this.position.y += this.ySpeed * _dt;\n            this.position.x += cos(this.time) * this.oscillationDistance * _dt;\n            this.particles[0].position = this.position;\n            var dX = this.prevPosition.x - this.position.x;\n            var dY = this.prevPosition.y - this.position.y;\n            var delta = sqrt(dX * dX + dY * dY);\n            this.prevPosition = new Vector2(this.position.x, this.position.y);\n            for (i = 1; i < this.particleCount; i++) {\n                var dirP = Vector2.Sub(this.particles[i - 1].position, this.particles[i].position);\n                dirP.Normalize();\n                dirP.Mul((delta / _dt) * this.velocityInherit);\n                this.particles[i].AddForce(dirP);\n            }\n            for (i = 1; i < this.particleCount; i++) {\n                this.particles[i].Integrate(_dt);\n            }\n            for (i = 1; i < this.particleCount; i++) {\n                var rp2 = new Vector2(this.particles[i].position.x, this.particles[i].position.y);\n                rp2.Sub(this.particles[i - 1].position);\n                rp2.Normalize();\n                rp2.Mul(this.particleDist);\n                rp2.Add(this.particles[i - 1].position);\n                this.particles[i].position = rp2;\n            }\n            if (this.position.y > ConfettiRibbon.bounds.y + this.particleDist * this.particleCount) {\n                this.Reset();\n            }\n        }\n        this.Reset = function () {\n            this.position.y = -random() * ConfettiRibbon.bounds.y;\n            this.position.x = random() * ConfettiRibbon.bounds.x;\n            this.prevPosition = new Vector2(this.position.x, this.position.y);\n            this.velocityInherit = random() * 2 + 4;\n            this.time = random() * 100;\n            this.oscillationSpeed = random() * 2.0 + 1.5;\n            this.oscillationDistance = (random() * 40 + 40);\n            this.ySpeed = random() * 40 + 80;\n            var ci = round(random() * (colors.length - 1));\n            this.frontColor = colors[ci][0];\n            this.backColor = colors[ci][1];\n            this.particles = new Array();\n            for (var i = 0; i < this.particleCount; i++) {\n                this.particles[i] = new EulerMass(this.position.x, this.position.y - i * this.particleDist, this.particleMass, this.particleDrag);\n            }\n        };\n        this.Draw = function (_g) {\n            for (var i = 0; i < this.particleCount - 1; i++) {\n                var p0 = new Vector2(this.particles[i].position.x + this.xOff, this.particles[i].position.y + this.yOff);\n                var p1 = new Vector2(this.particles[i + 1].position.x + this.xOff, this.particles[i + 1].position.y + this.yOff);\n                if (this.Side(this.particles[i].position.x, this.particles[i].position.y, this.particles[i + 1].position.x, this.particles[i + 1].position.y, p1.x, p1.y) < 0) {\n                    _g.fillStyle = this.frontColor;\n                    _g.strokeStyle = this.frontColor;\n                } else {\n                    _g.fillStyle = this.backColor;\n                    _g.strokeStyle = this.backColor;\n                }\n                if (i == 0) {\n                    _g.beginPath();\n                    _g.moveTo(this.particles[i].position.x * retina, this.particles[i].position.y * retina);\n                    _g.lineTo(this.particles[i + 1].position.x * retina, this.particles[i + 1].position.y * retina);\n                    _g.lineTo(((this.particles[i + 1].position.x + p1.x) * 0.5) * retina, ((this.particles[i + 1].position.y + p1.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                    _g.beginPath();\n                    _g.moveTo(p1.x * retina, p1.y * retina);\n                    _g.lineTo(p0.x * retina, p0.y * retina);\n                    _g.lineTo(((this.particles[i + 1].position.x + p1.x) * 0.5) * retina, ((this.particles[i + 1].position.y + p1.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                } else if (i == this.particleCount - 2) {\n                    _g.beginPath();\n                    _g.moveTo(this.particles[i].position.x * retina, this.particles[i].position.y * retina);\n                    _g.lineTo(this.particles[i + 1].position.x * retina, this.particles[i + 1].position.y * retina);\n                    _g.lineTo(((this.particles[i].position.x + p0.x) * 0.5) * retina, ((this.particles[i].position.y + p0.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                    _g.beginPath();\n                    _g.moveTo(p1.x * retina, p1.y * retina);\n                    _g.lineTo(p0.x * retina, p0.y * retina);\n                    _g.lineTo(((this.particles[i].position.x + p0.x) * 0.5) * retina, ((this.particles[i].position.y + p0.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                } else {\n                    _g.beginPath();\n                    _g.moveTo(this.particles[i].position.x * retina, this.particles[i].position.y * retina);\n                    _g.lineTo(this.particles[i + 1].position.x * retina, this.particles[i + 1].position.y * retina);\n                    _g.lineTo(p1.x * retina, p1.y * retina);\n                    _g.lineTo(p0.x * retina, p0.y * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                }\n            }\n        }\n        this.Side = function (x1, y1, x2, y2, x3, y3) {\n            return ((x1 - x2) * (y3 - y2) - (y1 - y2) * (x3 - x2));\n        }\n    }\n    ConfettiRibbon.bounds = new Vector2(0, 0);\n    confetti = {};\n    confetti.Context = function (id) {\n        var i = 0;\n        var canvas = document.getElementById(id);\n        var canvasParent = canvas.parentNode;\n        var canvasWidth = canvasParent.offsetWidth;\n        var canvasHeight = canvasParent.offsetHeight;\n        canvas.width = canvasWidth * retina;\n        canvas.height = canvasHeight * retina;\n        var context = canvas.getContext('2d');\n        var interval = null;\n        var confettiRibbons = new Array();\n        ConfettiRibbon.bounds = new Vector2(canvasWidth, canvasHeight);\n        for (i = 0; i < confettiRibbonCount; i++) {\n            confettiRibbons[i] = new ConfettiRibbon(random() * canvasWidth, -random() * canvasHeight * 2, ribbonPaperCount, ribbonPaperDist, ribbonPaperThick, 45, 1, 0.05);\n        }\n        var confettiPapers = new Array();\n        ConfettiPaper.bounds = new Vector2(canvasWidth, canvasHeight);\n        for (i = 0; i < confettiPaperCount; i++) {\n            confettiPapers[i] = new ConfettiPaper(random() * canvasWidth, random() * canvasHeight);\n        }\n        this.resize = function () {\n            canvasWidth = canvasParent.offsetWidth;\n            canvasHeight = canvasParent.offsetHeight;\n            canvas.width = canvasWidth * retina;\n            canvas.height = canvasHeight * retina;\n            ConfettiPaper.bounds = new Vector2(canvasWidth, canvasHeight);\n            ConfettiRibbon.bounds = new Vector2(canvasWidth, canvasHeight);\n        }\n        this.start = function () {\n            this.stop()\n            var context = this;\n            this.update();\n        }\n        this.stop = function () {\n            cAF(this.interval);\n        }\n        this.update = function () {\n            var i = 0;\n            context.clearRect(0, 0, canvas.width, canvas.height);\n            for (i = 0; i < confettiPaperCount; i++) {\n                confettiPapers[i].Update(duration);\n                confettiPapers[i].Draw(context);\n            }\n            for (i = 0; i < confettiRibbonCount; i++) {\n                confettiRibbons[i].Update(duration);\n                confettiRibbons[i].Draw(context);\n            }\n            this.interval = rAF(function () {\n                confetti.update();\n            });\n        }\n    };\n    var confetti = new confetti.Context('confetti');\n    confetti.start();\n    window.addEventListener('resize', function (event) {\n        confetti.resize();\n    });\n});"
  },
  {
    "path": "Happy Birthday_files/snowflakes.js",
    "content": "/*! Snowflakes | © 2019 Denis Seleznev | MIT License | https://github.com/hcodes/snowflakes/ */\n!function(e,a){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=a():\"function\"==typeof define&&define.amd?define(a):(e=e||self).Snowflakes=a()}(this,function(){\"use strict\";function h(e,a){if(!(e instanceof a))throw new TypeError(\"Cannot call a class as a function\")}function n(e,a){for(var t=0;t<a.length;t++){var n=a[t];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function e(e,a,t){return a&&n(e.prototype,a),t&&n(e,t),e}function o(e,a){return function(e){if(Array.isArray(e))return e}(e)||function(e,a){if(\"undefined\"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],n=!0,l=!1,i=void 0;try{for(var o,r=e[Symbol.iterator]();!(n=(o=r.next()).done)&&(t.push(o.value),!a||t.length!==a);n=!0);}catch(e){l=!0,i=e}finally{try{n||null==r.return||r.return()}finally{if(l)throw i}}return t}(e,a)||function(e,a){if(!e)return;if(\"string\"==typeof e)return l(e,a);var t=Object.prototype.toString.call(e).slice(8,-1);\"Object\"===t&&e.constructor&&(t=e.constructor.name);if(\"Map\"===t||\"Set\"===t)return Array.from(t);if(\"Arguments\"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return l(e,a)}(e,a)||function(){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 l(e,a){(null==a||a>e.length)&&(a=e.length);for(var t=0,n=new Array(a);t<a;t++)n[t]=e[t];return n}var i=\"\";function m(t,n){Object.keys(n).forEach(function(e){var a=e;i&&-1<e.search(\"animation\")&&(a=i+e[0].toUpperCase()+e.substr(1)),t.style[a]=n[e]})}function r(){var e,a=document.body,t=document.documentElement;return window.innerHeight?e=window.innerHeight:t&&t.clientHeight?e=t.clientHeight:a&&(e=a.clientHeight),e}function s(e,a){return a||(a=document.createElement(\"style\"),document.body.appendChild(a)),a.styleSheet?a.styleSheet.cssText=e:\"textContent\"in a?a.textContent=e:a.innerHTML=e,a}function a(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function c(e,a){e.classList.add(a)}function f(e,a){return e+Math.floor(Math.random()*(a-e))}function u(e,a,t,n,l){return n+(l-n)*(e-a)/(t-a)}\"undefined\"!=typeof window&&(i=-1<Array.prototype.slice.call(window.getComputedStyle(document.documentElement,\"\")).join(\",\").search(/,animation/)?\"\":\"Webkit\");var t,v,d,_=function(){function s(e,a,t){h(this,s);var n=t.minSize===t.maxSize;this.innerSize=n?0:f(0,s.maxInnerSize),this.size=s.calcSize(this.innerSize,t);var l=document.createElement(\"div\"),i=document.createElement(\"div\"),o=this.getAnimationProps(a,t),r={animationDelay:o.animationDelay,animationDuration:o.animationDuration,left:99*Math.random()+\"%\",marginTop:-Math.sqrt(2)*this.size+\"px\",width:this.size+\"px\",height:this.size+\"px\"};n||(r.zIndex=t.zIndex+10*this.size,r.opacity=u(this.size,t.minSize,t.maxSize,t.minOpacity,t.maxOpacity)),m(l,r),m(i,{animationName:\"snowflake_x_\"+this.innerSize,animationDelay:Math.random()+\"s\"}),c(l,\"snowflake\"),c(i,\"snowflake__inner\"),t.types&&c(i,\"snowflake__inner_type_\"+f(0,t.types)),t.wind&&c(i,\"snowflake__inner_wind\"),t.rotation&&c(i,\"snowflake__inner_rotation\"+(.5<Math.random()?\"\":\"_reverse\")),l.appendChild(i),this._elem=l,e.appendChild(l)}return e(s,[{key:\"getAnimationProps\",value:function(e,a){var t=e/50/a.speed,n=t/3;return{animationDelay:Math.random()*t+\"s\",animationDuration:u(this.size,a.minSize,a.maxSize,t,n)+\"s\"}}},{key:\"resize\",value:function(e,a){var t=this.getAnimationProps(e,a);m(this._elem,t)}},{key:\"destroy\",value:function(){delete this._elem}}],[{key:\"calcSize\",value:function(e,a){return Math.floor(u(e,0,s.maxInnerSize,a.minSize,a.maxSize))}}]),s}();d=20,(v=\"maxInnerSize\")in(t=_)?Object.defineProperty(t,v,{value:d,enumerable:!0,configurable:!0,writable:!0}):t[v]=d;var w=function(){function l(e){var t=this;h(this,l),this.params=this._setParams(e),this._flakes=[],this._isBody=this.params.container===document.body;var n=this._container=document.createElement(\"div\");c(n,\"snowflakes\"),this._isBody&&c(n,\"snowflakes_body\"),m(n,{zIndex:this.params.zIndex}),this.params.container.appendChild(n),this.params.stop&&this.stop(),l._mainStyleNode||(l._mainStyleNode=s('.snowflake{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;-webkit-animation:snowflake_y 10s linear infinite;animation:snowflake_y 10s linear infinite;will-change:transform}.snowflake__inner,.snowflake__inner:before{position:absolute;top:0;right:0;bottom:0;left:0}.snowflake__inner:before{content:\"\";background-size:100% 100%}.snowflake__inner_wind{-webkit-animation:snowflake_x_8 1s ease-in-out infinite alternate;animation:snowflake_x_8 1s ease-in-out infinite alternate}.snowflake__inner_rotation:before{-webkit-animation:snowflake_rotation 2s linear infinite;animation:snowflake_rotation 2s linear infinite}.snowflake__inner_rotation_reverse:before{-webkit-animation:snowflake_rotation_reverse 2s linear infinite;animation:snowflake_rotation_reverse 2s linear infinite}.snowflakes{pointer-events:none}.snowflakes_paused .snowflake,.snowflakes_paused .snowflake__inner,.snowflakes_paused .snowflake__inner:before{-webkit-animation-play-state:paused;animation-play-state:paused}.snowflakes_body{position:fixed;top:0;left:0;width:100%;height:1px}@-webkit-keyframes snowflake_rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes snowflake_rotation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes snowflake_rotation_reverse{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}@keyframes snowflake_rotation_reverse{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(-1turn);transform:rotate(-1turn)}}'),l._count=(l._count||0)+1),this._winHeight=r(),this._onResize=function(){t._winHeight=r();var a=t._height();m(n,{display:\"none\"}),t._flakes.forEach(function(e){return e.resize(a,t.params)}),t._updateAnimationStyle(),m(n,{display:\"block\"})},this._imagesStyleNode=s(\".snowflake__inner_type_0:before{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36.283' height='36.283'%3E%3Cpath d='M35.531 17.391h-3.09l.845-1.464a.748.748 0 10-1.297-.75l-1.276 2.214H28.61l2.515-4.354a.751.751 0 00-.272-1.024.75.75 0 00-1.024.274l-2.948 5.104h-2.023a6.751 6.751 0 00-2.713-4.684l1.019-1.76 5.896-.002a.75.75 0 000-1.5l-5.029.002 1.051-1.82 2.557.002a.75.75 0 000-1.5l-1.689-.002 1.545-2.676a.75.75 0 10-1.302-.75l-1.547 2.676-.844-1.463a.749.749 0 10-1.297.75l1.278 2.213-1.051 1.818-2.514-4.354a.75.75 0 00-1.298.75l2.946 5.104-1.016 1.758a6.692 6.692 0 00-2.706-.57 6.74 6.74 0 00-2.707.568l-1.013-1.754 2.946-5.105a.75.75 0 00-1.298-.75L13.56 8.697l-1.05-1.818 1.278-2.217a.749.749 0 00-1.298-.75l-.845 1.465-1.551-2.678a.75.75 0 00-1.024-.273.748.748 0 00-.274 1.023l1.545 2.678H8.652a.75.75 0 000 1.5h2.556l1.05 1.818H7.231a.75.75 0 000 1.5h5.894l1.017 1.762a6.755 6.755 0 00-2.712 4.684H9.406l-2.95-5.104a.75.75 0 10-1.299.75l2.516 4.354H5.569l-1.277-2.213a.75.75 0 00-1.298.75l.845 1.463H.75a.75.75 0 000 1.5h3.09l-.845 1.465a.747.747 0 00.275 1.022.75.75 0 00.374.103.75.75 0 00.65-.375l1.277-2.215h2.103l-2.516 4.354a.75.75 0 001.299.75l2.949-5.104h2.024a6.761 6.761 0 002.712 4.685l-1.017 1.762H7.232a.75.75 0 000 1.5h5.026l-1.05 1.818H8.651a.75.75 0 000 1.5h1.69l-1.545 2.676a.75.75 0 001.299.75l1.546-2.676.846 1.465a.755.755 0 00.65.375.737.737 0 00.375-.103.747.747 0 00.274-1.022l-1.279-2.215 1.05-1.82 2.515 4.354a.75.75 0 001.299-.75l-2.947-5.104 1.013-1.756a6.72 6.72 0 005.415 0l1.014 1.756-2.947 5.104a.75.75 0 001.298.75l2.515-4.354 1.053 1.82-1.277 2.213a.75.75 0 001.298.75l.844-1.463 1.545 2.678c.141.24.393.375.65.375a.75.75 0 00.649-1.125l-1.548-2.678h1.689a.75.75 0 000-1.5h-2.557l-1.051-1.82 5.029.002a.75.75 0 000-1.5l-5.896-.002-1.019-1.76a6.75 6.75 0 002.711-4.685h2.023l2.947 5.104a.753.753 0 001.025.273.749.749 0 00.272-1.023l-2.515-4.354h2.104l1.279 2.215a.75.75 0 00.649.375c.127 0 .256-.03.375-.103a.748.748 0 00.273-1.022l-.848-1.465h3.092a.75.75 0 00.003-1.5zm-12.136.75c0 .257-.041.502-.076.75a5.223 5.223 0 01-1.943 3.358 5.242 5.242 0 01-1.291.766 5.224 5.224 0 01-1.949.384 5.157 5.157 0 01-3.239-1.15 5.22 5.22 0 01-1.943-3.358c-.036-.247-.076-.493-.076-.75s.04-.503.076-.75a5.22 5.22 0 011.944-3.359c.393-.312.82-.576 1.291-.765a5.219 5.219 0 011.948-.384c.69 0 1.344.142 1.948.384.471.188.898.454 1.291.765a5.222 5.222 0 011.943 3.359c.035.247.076.493.076.75z' fill='{color}'/%3E%3C/svg%3E\\\")}.snowflake__inner_type_1:before{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32.813' height='32.813'%3E%3Cpath d='M29.106 24.424a.781.781 0 01-.781.781h-3.119v3.119a.782.782 0 01-1.562 0v-4.682h4.682c.43.001.78.351.78.782zM4.673 9.352h4.682V4.671a.781.781 0 00-1.563 0V7.79H4.673a.781.781 0 000 1.562zM3.708 24.24c0 .431.35.781.781.781H7.61v3.12a.78.78 0 101.562 0v-4.683H4.489a.782.782 0 00-.781.782zM28.923 8.39a.78.78 0 00-.781-.781h-3.121V4.488a.781.781 0 00-1.562 0v4.684h4.684a.783.783 0 00.78-.782zm3.889 8.017c0 .431-.35.781-.781.781h-3.426l1.876 1.873a.784.784 0 010 1.107.791.791 0 01-.554.228.773.773 0 01-.55-.228l-2.979-2.98h-2.995a6.995 6.995 0 01-1.728 3.875h5.609a.781.781 0 010 1.562h-4.666v4.667a.782.782 0 01-1.562 0v-5.61a7 7 0 01-3.866 1.719v2.995l2.978 2.98c.306.305.306.8 0 1.104a.78.78 0 01-1.104 0l-1.874-1.876v3.427a.781.781 0 01-1.562 0v-3.427l-1.875 1.876a.78.78 0 11-1.105-1.104l2.979-2.98v-2.995a7.016 7.016 0 01-3.865-1.717v5.608a.781.781 0 01-1.562 0v-4.667H5.535a.781.781 0 010-1.562h5.607a7.022 7.022 0 01-1.728-3.875H6.417l-2.979 2.979a.784.784 0 01-1.104 0 .781.781 0 010-1.106l1.874-1.873H.782a.78.78 0 11-.001-1.563h3.426L2.333 13.75a.783.783 0 011.105-1.106l2.979 2.979h2.995a6.996 6.996 0 011.72-3.866H5.533a.781.781 0 010-1.562h4.666V5.528a.781.781 0 011.562 0v5.599a6.995 6.995 0 013.865-1.717V6.415l-2.978-2.979a.782.782 0 011.105-1.105l1.874 1.875V.781a.78.78 0 111.562 0v3.426l1.875-1.875a.777.777 0 011.104 0 .78.78 0 010 1.105l-2.978 2.98v2.996a7.021 7.021 0 013.866 1.718V5.532a.78.78 0 111.562 0v4.666h4.666a.78.78 0 110 1.562h-5.599a7 7 0 011.718 3.866h2.995l2.979-2.979a.783.783 0 011.106 1.106l-1.876 1.874h3.427a.777.777 0 01.778.78zm-11.006-.782a5.457 5.457 0 00-4.618-4.617c-.257-.037-.514-.079-.781-.079-.268 0-.524.042-.781.079a5.458 5.458 0 00-4.618 4.617c-.038.257-.079.514-.079.781s.041.522.079.781a5.455 5.455 0 004.618 4.616c.257.036.514.079.781.079s.524-.043.781-.079a5.457 5.457 0 004.618-4.616c.037-.259.079-.515.079-.781s-.043-.524-.079-.781z' fill='{color}'/%3E%3C/svg%3E\\\")}.snowflake__inner_type_2:before{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35.79' height='35.79'%3E%3Cpath d='M7.161 22.223l.026-.047.865.5-.026.047a.503.503 0 01-.434.25c-.019 0-.034-.013-.053-.016l-.355-.205a.493.493 0 01-.023-.529zM9.969 8.988l2.785.001 1.393-2.414a.502.502 0 00-.869-.499l-1.103 1.913-2.208-.001a.5.5 0 10.002 1zm15.854 17.813h-2.785l-1.393 2.411a.499.499 0 00.436.75c.172 0 .34-.09.434-.25l1.104-1.911h2.207c.274 0 .5-.224.5-.5a.505.505 0 00-.503-.5zM23.038 8.99h2.785a.5.5 0 000-1h-2.207l-1.105-1.913a.5.5 0 00-.868.5l1.395 2.413zM12.754 26.801H9.967a.5.5 0 000 1h2.209l1.105 1.912a.496.496 0 00.682.184.5.5 0 00.184-.684l-1.393-2.412zm-7.218-6.309a.502.502 0 00.685-.184l1.391-2.413-1.394-2.413a.5.5 0 00-.867.5l1.104 1.913-1.104 1.913a.5.5 0 00.185.684zM30.254 15.3a.505.505 0 00-.685.183l-1.392 2.412 1.395 2.414a.501.501 0 00.867-.5l-1.104-1.914 1.104-1.912a.5.5 0 00-.185-.683zm3.138 11.542a.501.501 0 01-.683.184l-.98-.565-2.137 1.231a.516.516 0 01-.5 0l-2.385-1.377a.502.502 0 01-.25-.433v-.854h-4.441l-2.225 3.852.736.428c.154.088.25.254.25.432l.001 2.755a.5.5 0 01-.25.433l-2.133 1.229v1.136c0 .274-.225.5-.5.5s-.5-.226-.5-.5v-1.136l-2.136-1.23a.5.5 0 01-.25-.433l.001-2.755c0-.178.096-.344.25-.432l.738-.427-2.224-3.849H9.332l.002.851a.505.505 0 01-.25.435l-2.387 1.377a.5.5 0 01-.5 0L4.06 26.46l-.982.567a.5.5 0 01-.5-.867l.982-.567.001-2.465c0-.179.097-.344.25-.434l2.388-1.377a.497.497 0 01.5 0l.736.426 2.221-3.848-2.222-3.849-.737.426a.51.51 0 01-.5 0l-2.386-1.377a.5.5 0 01-.25-.434l.002-2.464-.983-.567a.501.501 0 01-.184-.683.502.502 0 01.684-.183l.983.568 2.134-1.233a.5.5 0 01.5 0l2.385 1.379c.156.089.25.255.25.433v.85h4.443l2.223-3.846-.74-.427a.501.501 0 01-.25-.434l.002-2.755c0-.178.096-.343.25-.433l2.135-1.233V.5a.5.5 0 011 0v1.135l2.134 1.231c.154.089.25.254.25.434l-.002 2.755a.503.503 0 01-.25.433l-.733.425 2.224 3.849h4.44l-.002-.851c0-.179.096-.344.25-.434l2.388-1.378a.502.502 0 01.5 0l2.136 1.233.982-.568a.5.5 0 11.5.866l-.983.568v2.464a.503.503 0 01-.25.433l-2.388 1.378a.5.5 0 01-.5 0l-.735-.426-2.222 3.849 2.223 3.849.734-.425a.506.506 0 01.5 0l2.389 1.375c.154.09.25.255.25.435l-.002 2.462.982.568c.24.137.321.444.182.682zm-2.165-1.828l.001-1.597-1.888-1.087-.734.424-.348.201-.301.173-.5.289v2.179l1.885 1.088 1.386-.802.498-.286.001-.582zm-3.736-11.467l-.531-.307-2.283 1.318-2.443 3.337 2.442 3.337 2.283 1.316.531-.306-2.514-4.348 2.515-4.347zm-7.712 16.478l-.762-.438-.339-.194-.283-.166-.5-.289-.5.289-.279.162-.349.2-.757.437-.001 2.177 1.386.797.501.289.499-.287 1.386-.798-.002-2.179zM16.008 5.767l.736.425.371.214.279.16.5.288.5-.289.281-.163.367-.212.732-.424.002-2.178-1.381-.797-.502-.289-.498.287-1.385.8-.002 2.178zm6.52 14.227l-1.535-2.099 1.535-2.098.732-1-1.232.134-2.585.281-1.048-2.379-.5-1.133-.5 1.134-1.049 2.379-2.585-.281-1.232-.134.732 1 1.536 2.097-1.536 2.098-.732 1 1.232-.134 2.585-.281 1.049 2.379.5 1.134.5-1.134 1.048-2.379 2.585.281 1.232.134-.732-.999zm8.2-10.084l-1.386-.8-1.887 1.089v1.279l.002.32v.577l.5.289.28.163.367.213.732.424 1.888-1.089v-2.178l-.496-.287zM18.927 7.413l-.532.307v2.637l1.667 3.784 4.111-.447 2.283-1.317-.002-.613h-5.02l-2.507-4.351zm-9.594 4.348v.614l2.283 1.318 4.111.447 1.668-3.785V7.719l-.531-.306-2.509 4.347-5.022.001zm-2.15 1.279l.37-.213.279-.162.5-.289V10.2L6.446 9.11l-1.384.8-.499.289v.578l-.002 1.599 1.885 1.088.737-.424zm1.119 9.205l.53.306 2.281-1.316 2.443-3.339-2.442-3.337-2.281-1.317-.531.307 2.511 4.348-2.511 4.348zm-1.115-.069l-.026.047a.493.493 0 00.023.529l-.734-.424-1.887 1.089-.001 1.599v.578l.5.288 1.386.8 1.887-1.088v-1.278l-.002-.321v-.577l-.5-.289-.293-.169c.02.002.035.017.055.017a.5.5 0 00.433-.25l.026-.047-.867-.504zm9.679 6.202l.529-.306v-2.637l-1.668-3.785-4.111.447-2.283 1.316.002.611 5.021.002 2.51 4.352zm9.591-4.349v-.612L24.174 22.1l-4.111-.447-1.667 3.783v2.639l.531.307 2.512-4.352h5.018v-.001z' fill='{color}'/%3E%3C/svg%3E\\\")}.snowflake__inner_type_3:before{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32.815' height='32.815'%3E%3Cpath d='M4.581 23.55h4.681v4.681a.78.78 0 11-1.562 0v-3.118H4.581a.781.781 0 010-1.563zM29.016 8.481a.781.781 0 00-.781-.781h-3.119V4.582a.781.781 0 00-1.562 0v4.681h4.682c.429 0 .78-.35.78-.782zm-24.252.598l4.683-.001V4.395a.781.781 0 00-1.562 0v3.121l-3.121.001a.781.781 0 000 1.562zm23.655 14.287h-4.685l.002 4.684a.78.78 0 101.562 0l-.002-3.121h3.122a.781.781 0 00.001-1.563zm4.394-6.96a.78.78 0 01-.781.781h-3.426l1.876 1.875a.782.782 0 01-1.104 1.105l-2.979-2.979h-1.986L17.19 24.41v1.987l2.977 2.979a.781.781 0 01-1.103 1.106l-1.874-1.875v3.426a.78.78 0 11-1.562 0v-3.426l-1.875 1.875a.782.782 0 01-1.105-1.105l2.978-2.979V24.41l-7.219-7.22H6.418l-2.98 2.98a.777.777 0 01-1.103 0 .781.781 0 010-1.106L4.21 17.19H.783a.78.78 0 110-1.562h3.426l-1.876-1.875a.782.782 0 111.106-1.105l2.979 2.979h1.989l7.219-7.218v-1.99L12.648 3.44a.782.782 0 111.106-1.105l1.874 1.874V.781a.782.782 0 011.563 0v3.426l1.875-1.875a.783.783 0 011.106 1.105l-2.979 2.979v1.99l7.216 7.218h1.992l2.979-2.979a.782.782 0 011.105 1.105l-1.876 1.874h3.427a.781.781 0 01.777.782zm-10.613.782l.778-.78-.781-.782-5.009-5.008-.781-.781-.781.781-5.01 5.008-.781.781.781.781 5.01 5.011.782.781.78-.779 5.012-5.013zm5.863 4.646a.782.782 0 00-.781-.781h-6.229v6.228a.78.78 0 101.562 0v-4.665h4.666a.782.782 0 00.782-.782zm-.001-10.855a.782.782 0 00-.781-.781h-4.664V5.532a.782.782 0 00-1.562 0v6.228h6.227a.78.78 0 00.78-.781zm-23.318 0c0 .432.35.781.781.781h6.228V5.532a.781.781 0 00-1.562 0v4.666H5.525a.781.781 0 00-.781.781zm.002 10.855c0 .432.35.781.781.781h4.664v4.665a.78.78 0 101.562 0v-6.228H5.527a.783.783 0 00-.781.782z' fill='{color}'/%3E%3C/svg%3E\\\")}.snowflake__inner_type_4:before{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='37.794' height='37.794'%3E%3Cpath d='M30.638 17.313l-.914 1.584.915 1.585a.78.78 0 11-1.352.78l-1.366-2.366 1.366-2.365a.782.782 0 011.067-.286c.372.215.5.692.284 1.068zM11.65 11.08l2.733.002 1.367-2.367a.78.78 0 00-1.352-.781l-.915 1.585-1.831-.002h-.001a.78.78 0 00-.001 1.563zm14.491 15.633h-2.733l-1.365 2.365a.78.78 0 101.352.78l.914-1.584h1.831a.781.781 0 00.001-1.561zm-4.1-17.998l1.367 2.367h2.733a.78.78 0 100-1.562h-1.833l-.915-1.585a.78.78 0 00-1.352.78zM15.75 29.08l-1.368-2.366h-2.733a.781.781 0 000 1.562h1.832l.917 1.585c.146.25.409.391.677.391a.779.779 0 00.675-1.172zm-8.313-7.531a.78.78 0 001.067-.284L9.87 18.9l-1.367-2.368a.781.781 0 00-1.351.781l.916 1.587-.914 1.584a.776.776 0 00.283 1.065zm27.827 6.798a.784.784 0 01-1.067.285l-.89-.515-2.096 1.209a.793.793 0 01-.391.105.762.762 0 01-.391-.105l-2.484-1.435a.78.78 0 01-.391-.676l-.002-2.417-2.408-1.392a7.714 7.714 0 01-5.467 3.168v2.773l2.093 1.208a.78.78 0 01.391.676l.001 2.868c0 .28-.149.537-.392.676l-2.093 1.205v1.032a.781.781 0 01-1.562 0V35.98l-2.095-1.207a.78.78 0 01-.391-.676l.001-2.868c0-.28.15-.537.391-.676l2.094-1.206v-2.773a7.718 7.718 0 01-5.468-3.168l-2.408 1.392.002 2.415c0 .281-.15.539-.391.676l-2.487 1.437a.785.785 0 01-.782 0l-2.095-1.209-.893.518a.782.782 0 01-.782-1.354l.893-.517.001-2.414a.78.78 0 01.391-.677l2.487-1.434a.774.774 0 01.781 0l2.093 1.208 2.407-1.39a7.655 7.655 0 010-6.317l-2.406-1.39-2.096 1.209a.772.772 0 01-.782 0l-2.485-1.434a.786.786 0 01-.391-.676l.002-2.416-.894-.517a.78.78 0 01-.285-1.066.788.788 0 011.07-.283l.893.514 2.093-1.208a.774.774 0 01.781 0L9.851 9.91c.24.14.391.398.391.675L10.24 13l2.408 1.392a7.712 7.712 0 015.468-3.167V8.45L16.02 7.242a.78.78 0 01-.391-.676l.002-2.87c0-.279.15-.538.391-.675l2.094-1.208V.781a.781.781 0 011.562 0v1.032l2.093 1.206a.785.785 0 01.391.677l-.002 2.87c0 .28-.149.536-.391.674l-2.091 1.208v2.772a7.708 7.708 0 015.467 3.167l2.409-1.392-.002-2.416c0-.28.149-.539.391-.676l2.487-1.436c.24-.14.539-.14.781 0l2.095 1.208.894-.514a.78.78 0 11.781 1.352l-.894.516v2.417c0 .279-.15.538-.391.675l-2.487 1.436a.785.785 0 01-.782 0l-2.092-1.209-2.408 1.39c.436.967.684 2.032.684 3.158a7.65 7.65 0 01-.684 3.158l2.408 1.391 2.091-1.206a.782.782 0 01.78 0l2.488 1.432c.24.141.392.398.392.677l-.002 2.414.893.517a.783.783 0 01.287 1.068zm-6.147-16.251l.001.9.78.453.921.531 1.706-.982v-1.965l-.78-.451-.923-.533-1.707.983.002 1.064zm-20.443-.002l.002-1.063-1.706-.985-.922.535-.778.451-.001.902-.001 1.063 1.703.982.924-.533.779-.451v-.901zm0 13.604l-.001-.899-.781-.451-.919-.533-1.706.982-.001 1.064v.901l.781.451.923.533 1.707-.982-.003-1.066zm15.109-3.076c.315-.413.586-.864.789-1.351a6.121 6.121 0 000-4.748 6.175 6.175 0 00-.789-1.35 6.158 6.158 0 00-4.106-2.375 6.48 6.48 0 00-.781-.056c-.266 0-.525.022-.781.056a6.149 6.149 0 00-4.106 2.375 6.128 6.128 0 00-.789 1.35 6.104 6.104 0 00-.479 2.374 6.1 6.1 0 001.268 3.725 6.15 6.15 0 004.106 2.374c.256.031.516.056.781.056s.525-.022.781-.056a6.142 6.142 0 004.106-2.374zM17.19 6.113l.924.531.781.452.781-.452.919-.531.002-1.968-.921-.531-.784-.452-.779.451-.922.532-.001 1.968zm3.408 25.57l-.921-.532-.781-.452-.781.452-.922.532-.001 1.966.923.531.782.451.78-.449.922-.533-.001-1.966zm11.925-5.819l.001-1.063-1.707-.981-.919.529-.782.451v.901l.001 1.065 1.702.981.924-.533.778-.449.002-.901z' fill='{color}'/%3E%3C/svg%3E\\\")}.snowflake__inner_type_5:before{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.25' height='31.25'%3E%3Cpath d='M20.581 1.176l-3.914 3.915V0h1.041v2.576L19.845.439l.736.737zm-1.615 9.069l.351.217 6.623-6.625-.736-.737-6.048 6.051a7.141 7.141 0 00-1.449-.6v-.082l5.082-5.082-.737-.737-5.387 5.388v1.33l.402.093a6.213 6.213 0 011.899.784zm2.041 2.043c.368.585.63 1.224.786 1.893l.094.403h1.028l5.171-5.173-.736-.737-4.699 4.701a7.523 7.523 0 00-.549-1.28l6.048-6.05-.737-.735-6.622 6.625.216.353zm7.368 1.254l1.921-1.923-.736-.735-3.699 3.7h5.39v-1.042h-2.876zm1.185 6.826l.736-.736-1.923-1.923h2.877v-1.042h-5.389l3.699 3.701zm-6.915-2.498l4.705 4.707.736-.736-5.171-5.174h-1.03l-.096.4a6.24 6.24 0 01-.795 1.883l-.22.353 6.639 6.641.736-.736-6.061-6.062c.227-.414.414-.84.557-1.276zm-3.7 3.125a6.241 6.241 0 01-1.88.794l-.399.096v1.33l5.387 5.387.736-.736-5.082-5.082v-.089a7.322 7.322 0 001.434-.605l6.061 6.062.736-.736-6.641-6.641-.352.22zM16.667 31.25h1.041v-2.576l2.137 2.137.736-.737-3.914-3.914v5.09zm-5.26-.439l2.134-2.137v2.576h1.042v-5.093l-3.913 3.916.737.738zm.897-9.816l-.352-.222-6.642 6.641.736.736 6.062-6.062c.456.254.937.456 1.433.605v.089l-5.08 5.082.736.736 5.387-5.387v-1.33l-.4-.096a6.175 6.175 0 01-1.88-.792zm-2.046-2.047a6.315 6.315 0 01-.798-1.883l-.096-.4H8.335l-5.172 5.174.737.736 4.706-4.71c.145.441.329.865.556 1.276L3.1 25.202l.736.736 6.643-6.643-.221-.347zM0 16.667v1.042h2.876L.954 19.632l.736.736 3.698-3.701H0zm1.69-5.783l-.736.735 1.921 1.923H0v1.042h5.39l-3.7-3.7zm6.916 2.498L3.9 8.674l-.736.737 5.172 5.173h1.029l.096-.4a6.15 6.15 0 01.798-1.881l.222-.352L3.837 5.31l-.736.736 6.062 6.06a7.268 7.268 0 00-.557 1.276zm-.145-9.996l5.08 5.082v.088c-.497.15-.977.352-1.433.606L6.047 3.101l-.736.737 6.643 6.643.352-.222a6.223 6.223 0 011.88-.797l.4-.095v-1.33L9.2 2.649l-.739.737zm5.081-.81L11.408.439l-.736.737 3.913 3.917V0h-1.042v2.576zm-1.757 14.831a4.2 4.2 0 002.06 2.058l.739.338v-3.136h-3.138l.339.74zm0-3.562l-.337.738h3.135v-3.136l-.739.338a4.223 4.223 0 00-2.059 2.06zm7.679 3.561l.338-.739h-3.135v3.136l.738-.338a4.204 4.204 0 002.059-2.059zm0-3.561a4.198 4.198 0 00-2.059-2.06l-.738-.34v3.138h3.135l-.338-.738z' fill='{color}'/%3E%3C/svg%3E\\\")}\".replace(/\\{color\\}/g,encodeURIComponent(this.params.color))),this._animationStyleNode=s(this._getAnimationStyle()),window.addEventListener(\"resize\",this._onResize,!1);for(var a=0;a<this.params.count;a++)this._flakes.push(new _(n,this._height(),this.params))}return e(l,[{key:\"destroy\",value:function(){this._removeStyle(),a(this._container),delete this._container,window.removeEventListener(\"resize\",this._onResize,!1),this._flakes.forEach(function(e){return e.destroy()}),delete this._flakes,delete this.params}},{key:\"start\",value:function(){var e,a;e=this._container,a=\"snowflakes_paused\",e.classList.remove(a)}},{key:\"stop\",value:function(){c(this._container,\"snowflakes_paused\")}},{key:\"_setParams\",value:function(l){l=l||{};var i={};return[[\"color\",\"#5ECDEF\"],[\"container\",document.body],[\"count\",50],[\"speed\",1],[\"stop\",!1],[\"rotation\",!0],[\"minOpacity\",.6],[\"maxOpacity\",1],[\"minSize\",8],[\"maxSize\",18],[\"types\",6],[\"width\"],[\"height\"],[\"wind\",!0],[\"zIndex\",9999]].forEach(function(e){var a=o(e,2),t=a[0],n=a[1];i[t]=\"boolean\"==typeof n?t in l?l[t]:n:l[t]||n}),i}},{key:\"_getAnimationStyle\",value:function(){for(var e=this._height()+this.params.maxSize+\"px\",a=\"@-webkit-keyframes snowflake_y{from{-webkit-transform:translateY(0px)}to{-webkit-transform:translateY(\".concat(e,\");}}\\n@keyframes snowflake_y{from{transform:translateY(0px)}to{transform:translateY(\").concat(e,\")}}\"),t=0;t<=_.maxInnerSize;t++){var n=4*(_.calcSize(t,this.params)-this.params.minSize)+\"px\";a+=\"@-webkit-keyframes snowflake_x_\".concat(t,\"{from{-webkit-transform:translateX(0px)}to{-webkit-transform:translateX(\").concat(n,\");}}\\n@keyframes snowflake_x_\").concat(t,\"{from{transform:translateX(0px)}to{transform:translateX(\").concat(n,\")}}\")}return a}},{key:\"_updateAnimationStyle\",value:function(){s(this._getAnimationStyle(),this._animationStyleNode)}},{key:\"_removeStyle\",value:function(){--l._count<=0&&(l._count=0,a(l._mainStyleNode),delete l._mainStyleNode),a(this._animationStyleNode),delete this._animationStyleNode,a(this._imagesStyleNode),delete this._imagesStyleNode}},{key:\"_height\",value:function(){return this.params.height||(this._isBody?this._winHeight:this.params.container.offsetHeight+this.params.maxSize)}}]),l}();return function(e){return new w(e)}});"
  },
  {
    "path": "Happy Birthday_files/style.css",
    "content": "/* customizable snowflake styling */\n.loader button {\n    width: 50%;\n    height: 100px;\n    position: fixed;\n    left: 50%;\n    top: 45%;\n    transform: translateY(-50%);\n    transform: translateX(-50%);\n    background: center no-repeat #fff;\n    z-index: 9999999999999999999999;\n    font-size: 50px;\n    outline: none;\n    box-sizing: border-box;\n    border: none;\n    border-radius: .3em;\n    text-transform: uppercase;\n    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(110, 80, 20, .4),\n        inset 0 -2px 5px 1px rgba(139, 66, 8, 1),\n        inset 0 -1px 1px 3px rgba(250, 227, 133, 1);\n    background-image: linear-gradient(160deg, #a54e07, #b47e11, #fef1a2, #bc881b, #a54e07);\n    border: 1px solid #a55d07;\n    color: rgb(120, 50, 5);\n    text-shadow: 0 2px 2px rgba(250, 227, 133, 1);\n    cursor: pointer;\n    transition: all .2s ease-in-out;\n    background-size: 100% 100%;\n    background-position: center;\n}\n\n.golden-btn:focus,\n.golden-btn:hover {\n    background-size: 150% 150%;\n    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23),\n        inset 0 -2px 5px 1px #b17d10,\n        inset 0 -1px 1px 3px rgba(250, 227, 133, 1);\n    border: 1px solid rgba(165, 93, 7, .6);\n    color: rgba(120, 50, 5, .8);\n}\n\n.golden-btn:active {\n    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(110, 80, 20, .4),\n        inset 0 -2px 5px 1px #b17d10,\n        inset 0 -1px 1px 3px rgba(250, 227, 133, 1);\n}\n\n.loader {\n    position: fixed;\n    left: 0px;\n    top: 0px;\n    width: 100%;\n    height: 100%;\n    z-index: 999;\n    background: url(back.png) center no-repeat #000;\n}\n\n.song {\n    display: none;\n}\n\nbody {\n    background-color: #FFDAB9;\n}\n\nimg {\n    width: 100%;\n}\n\n.balloon-border {\n    position: fixed;\n    top: 100%;\n    opacity: 0.5;\n    z-index: 99999999;\n}\n\n.area {\n    text-align: center;\n    font-size: 70px;\n    color: #C4515C;\n    letter-spacing: -7px;\n    font-weight: 700;\n    text-transform: uppercase;\n    animation: spin 2s ease-out infinite;\n    text-shadow: 0px 0px 5px #fff, 0px 0px 7px #fff;\n    font-size-adjust: 0.3;\n}\n\n#confetti {\n    position: absolute;\n    left: 0;\n    top: 0;\n    height: 100%;\n    width: 100%;\n}\n\n@keyframes spin {\n    0% {\n        transform: rotateZ(0);\n    }\n\n    25% {\n        transform: rotateZ(10deg);\n    }\n\n    50% {\n        transform: rotateZ(0deg);\n    }\n\n    75% {\n        transform: rotateZ(-10deg);\n    }\n}\n\n\n.type-wrap {\n    font-size: 25px;\n    color: #C4515C;\n}"
  },
  {
    "path": "Happy Birthday_files/typed.js",
    "content": "/*!\n * \n *   typed.js - A JavaScript Typing Animation Library\n *   Author: Matt Boldt <me@mattboldt.com>\n *   Version: v2.0.11\n *   Url: https://github.com/mattboldt/typed.js\n *   License(s): MIT\n * \n */\n(function (t, e) {\n    \"object\" == typeof exports && \"object\" == typeof module ? module.exports = e() : \"function\" == typeof define && define.amd ? define([], e) : \"object\" == typeof exports ? exports.Typed = e() : t.Typed = e()\n})(this, function () {\n    return function (t) {\n        function e(n) {\n            if (s[n]) return s[n].exports;\n            var i = s[n] = {\n                exports: {},\n                id: n,\n                loaded: !1\n            };\n            return t[n].call(i.exports, i, i.exports, e), i.loaded = !0, i.exports\n        }\n        var s = {};\n        return e.m = t, e.c = s, e.p = \"\", e(0)\n    }([function (t, e, s) {\n        \"use strict\";\n\n        function n(t, e) {\n            if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\")\n        }\n        Object.defineProperty(e, \"__esModule\", {\n            value: !0\n        });\n        var i = function () {\n                function t(t, e) {\n                    for (var s = 0; s < e.length; s++) {\n                        var n = e[s];\n                        n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)\n                    }\n                }\n                return function (e, s, n) {\n                    return s && t(e.prototype, s), n && t(e, n), e\n                }\n            }(),\n            r = s(1),\n            o = s(3),\n            a = function () {\n                function t(e, s) {\n                    n(this, t), r.initializer.load(this, s, e), this.begin()\n                }\n                return i(t, [{\n                    key: \"toggle\",\n                    value: function () {\n                        this.pause.status ? this.start() : this.stop()\n                    }\n                }, {\n                    key: \"stop\",\n                    value: function () {\n                        this.typingComplete || this.pause.status || (this.toggleBlinking(!0), this.pause.status = !0, this.options.onStop(this.arrayPos, this))\n                    }\n                }, {\n                    key: \"start\",\n                    value: function () {\n                        this.typingComplete || this.pause.status && (this.pause.status = !1, this.pause.typewrite ? this.typewrite(this.pause.curString, this.pause.curStrPos) : this.backspace(this.pause.curString, this.pause.curStrPos), this.options.onStart(this.arrayPos, this))\n                    }\n                }, {\n                    key: \"destroy\",\n                    value: function () {\n                        this.reset(!1), this.options.onDestroy(this)\n                    }\n                }, {\n                    key: \"reset\",\n                    value: function () {\n                        var t = arguments.length <= 0 || void 0 === arguments[0] || arguments[0];\n                        clearInterval(this.timeout), this.replaceText(\"\"), this.cursor && this.cursor.parentNode && (this.cursor.parentNode.removeChild(this.cursor), this.cursor = null), this.strPos = 0, this.arrayPos = 0, this.curLoop = 0, t && (this.insertCursor(), this.options.onReset(this), this.begin())\n                    }\n                }, {\n                    key: \"begin\",\n                    value: function () {\n                        var t = this;\n                        this.options.onBegin(this), this.typingComplete = !1, this.shuffleStringsIfNeeded(this), this.insertCursor(), this.bindInputFocusEvents && this.bindFocusEvents(), this.timeout = setTimeout(function () {\n                            t.currentElContent && 0 !== t.currentElContent.length ? t.backspace(t.currentElContent, t.currentElContent.length) : t.typewrite(t.strings[t.sequence[t.arrayPos]], t.strPos)\n                        }, this.startDelay)\n                    }\n                }, {\n                    key: \"typewrite\",\n                    value: function (t, e) {\n                        var s = this;\n                        this.fadeOut && this.el.classList.contains(this.fadeOutClass) && (this.el.classList.remove(this.fadeOutClass), this.cursor && this.cursor.classList.remove(this.fadeOutClass));\n                        var n = this.humanizer(this.typeSpeed),\n                            i = 1;\n                        return this.pause.status === !0 ? void this.setPauseStatus(t, e, !0) : void(this.timeout = setTimeout(function () {\n                            e = o.htmlParser.typeHtmlChars(t, e, s);\n                            var n = 0,\n                                r = t.substr(e);\n                            if (\"^\" === r.charAt(0) && /^\\^\\d+/.test(r)) {\n                                var a = 1;\n                                r = /\\d+/.exec(r)[0], a += r.length, n = parseInt(r), s.temporaryPause = !0, s.options.onTypingPaused(s.arrayPos, s), t = t.substring(0, e) + t.substring(e + a), s.toggleBlinking(!0)\n                            }\n                            if (\"`\" === r.charAt(0)) {\n                                for (;\n                                    \"`\" !== t.substr(e + i).charAt(0) && (i++, !(e + i > t.length)););\n                                var u = t.substring(0, e),\n                                    l = t.substring(u.length + 1, e + i),\n                                    c = t.substring(e + i + 1);\n                                t = u + l + c, i--\n                            }\n                            s.timeout = setTimeout(function () {\n                                s.toggleBlinking(!1), e >= t.length ? s.doneTyping(t, e) : s.keepTyping(t, e, i), s.temporaryPause && (s.temporaryPause = !1, s.options.onTypingResumed(s.arrayPos, s))\n                            }, n)\n                        }, n))\n                    }\n                }, {\n                    key: \"keepTyping\",\n                    value: function (t, e, s) {\n                        0 === e && (this.toggleBlinking(!1), this.options.preStringTyped(this.arrayPos, this)), e += s;\n                        var n = t.substr(0, e);\n                        this.replaceText(n), this.typewrite(t, e)\n                    }\n                }, {\n                    key: \"doneTyping\",\n                    value: function (t, e) {\n                        var s = this;\n                        this.options.onStringTyped(this.arrayPos, this), this.toggleBlinking(!0), this.arrayPos === this.strings.length - 1 && (this.complete(), this.loop === !1 || this.curLoop === this.loopCount) || (this.timeout = setTimeout(function () {\n                            s.backspace(t, e)\n                        }, this.backDelay))\n                    }\n                }, {\n                    key: \"backspace\",\n                    value: function (t, e) {\n                        var s = this;\n                        if (this.pause.status === !0) return void this.setPauseStatus(t, e, !0);\n                        if (this.fadeOut) return this.initFadeOut();\n                        this.toggleBlinking(!1);\n                        var n = this.humanizer(this.backSpeed);\n                        this.timeout = setTimeout(function () {\n                            e = o.htmlParser.backSpaceHtmlChars(t, e, s);\n                            var n = t.substr(0, e);\n                            if (s.replaceText(n), s.smartBackspace) {\n                                var i = s.strings[s.arrayPos + 1];\n                                i && n === i.substr(0, e) ? s.stopNum = e : s.stopNum = 0\n                            }\n                            e > s.stopNum ? (e--, s.backspace(t, e)) : e <= s.stopNum && (s.arrayPos++, s.arrayPos === s.strings.length ? (s.arrayPos = 0, s.options.onLastStringBackspaced(), s.shuffleStringsIfNeeded(), s.begin()) : s.typewrite(s.strings[s.sequence[s.arrayPos]], e))\n                        }, n)\n                    }\n                }, {\n                    key: \"complete\",\n                    value: function () {\n                        this.options.onComplete(this), this.loop ? this.curLoop++ : this.typingComplete = !0\n                    }\n                }, {\n                    key: \"setPauseStatus\",\n                    value: function (t, e, s) {\n                        this.pause.typewrite = s, this.pause.curString = t, this.pause.curStrPos = e\n                    }\n                }, {\n                    key: \"toggleBlinking\",\n                    value: function (t) {\n                        this.cursor && (this.pause.status || this.cursorBlinking !== t && (this.cursorBlinking = t, t ? this.cursor.classList.add(\"typed-cursor--blink\") : this.cursor.classList.remove(\"typed-cursor--blink\")))\n                    }\n                }, {\n                    key: \"humanizer\",\n                    value: function (t) {\n                        return Math.round(Math.random() * t / 2) + t\n                    }\n                }, {\n                    key: \"shuffleStringsIfNeeded\",\n                    value: function () {\n                        this.shuffle && (this.sequence = this.sequence.sort(function () {\n                            return Math.random() - .5\n                        }))\n                    }\n                }, {\n                    key: \"initFadeOut\",\n                    value: function () {\n                        var t = this;\n                        return this.el.className += \" \" + this.fadeOutClass, this.cursor && (this.cursor.className += \" \" + this.fadeOutClass), setTimeout(function () {\n                            t.arrayPos++, t.replaceText(\"\"), t.strings.length > t.arrayPos ? t.typewrite(t.strings[t.sequence[t.arrayPos]], 0) : (t.typewrite(t.strings[0], 0), t.arrayPos = 0)\n                        }, this.fadeOutDelay)\n                    }\n                }, {\n                    key: \"replaceText\",\n                    value: function (t) {\n                        this.attr ? this.el.setAttribute(this.attr, t) : this.isInput ? this.el.value = t : \"html\" === this.contentType ? this.el.innerHTML = t : this.el.textContent = t\n                    }\n                }, {\n                    key: \"bindFocusEvents\",\n                    value: function () {\n                        var t = this;\n                        this.isInput && (this.el.addEventListener(\"focus\", function (e) {\n                            t.stop()\n                        }), this.el.addEventListener(\"blur\", function (e) {\n                            t.el.value && 0 !== t.el.value.length || t.start()\n                        }))\n                    }\n                }, {\n                    key: \"insertCursor\",\n                    value: function () {\n                        this.showCursor && (this.cursor || (this.cursor = document.createElement(\"span\"), this.cursor.className = \"typed-cursor\", this.cursor.innerHTML = this.cursorChar, this.el.parentNode && this.el.parentNode.insertBefore(this.cursor, this.el.nextSibling)))\n                    }\n                }]), t\n            }();\n        e[\"default\"] = a, t.exports = e[\"default\"]\n    }, function (t, e, s) {\n        \"use strict\";\n\n        function n(t) {\n            return t && t.__esModule ? t : {\n                \"default\": t\n            }\n        }\n\n        function i(t, e) {\n            if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\")\n        }\n        Object.defineProperty(e, \"__esModule\", {\n            value: !0\n        });\n        var r = Object.assign || function (t) {\n                for (var e = 1; e < arguments.length; e++) {\n                    var s = arguments[e];\n                    for (var n in s) Object.prototype.hasOwnProperty.call(s, n) && (t[n] = s[n])\n                }\n                return t\n            },\n            o = function () {\n                function t(t, e) {\n                    for (var s = 0; s < e.length; s++) {\n                        var n = e[s];\n                        n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)\n                    }\n                }\n                return function (e, s, n) {\n                    return s && t(e.prototype, s), n && t(e, n), e\n                }\n            }(),\n            a = s(2),\n            u = n(a),\n            l = function () {\n                function t() {\n                    i(this, t)\n                }\n                return o(t, [{\n                    key: \"load\",\n                    value: function (t, e, s) {\n                        if (\"string\" == typeof s ? t.el = document.querySelector(s) : t.el = s, t.options = r({}, u[\"default\"], e), t.isInput = \"input\" === t.el.tagName.toLowerCase(), t.attr = t.options.attr, t.bindInputFocusEvents = t.options.bindInputFocusEvents, t.showCursor = !t.isInput && t.options.showCursor, t.cursorChar = t.options.cursorChar, t.cursorBlinking = !0, t.elContent = t.attr ? t.el.getAttribute(t.attr) : t.el.textContent, t.contentType = t.options.contentType, t.typeSpeed = t.options.typeSpeed, t.startDelay = t.options.startDelay, t.backSpeed = t.options.backSpeed, t.smartBackspace = t.options.smartBackspace, t.backDelay = t.options.backDelay, t.fadeOut = t.options.fadeOut, t.fadeOutClass = t.options.fadeOutClass, t.fadeOutDelay = t.options.fadeOutDelay, t.isPaused = !1, t.strings = t.options.strings.map(function (t) {\n                                return t.trim()\n                            }), \"string\" == typeof t.options.stringsElement ? t.stringsElement = document.querySelector(t.options.stringsElement) : t.stringsElement = t.options.stringsElement, t.stringsElement) {\n                            t.strings = [], t.stringsElement.style.display = \"none\";\n                            var n = Array.prototype.slice.apply(t.stringsElement.children),\n                                i = n.length;\n                            if (i)\n                                for (var o = 0; o < i; o += 1) {\n                                    var a = n[o];\n                                    t.strings.push(a.innerHTML.trim())\n                                }\n                        }\n                        t.strPos = 0, t.arrayPos = 0, t.stopNum = 0, t.loop = t.options.loop, t.loopCount = t.options.loopCount, t.curLoop = 0, t.shuffle = t.options.shuffle, t.sequence = [], t.pause = {\n                            status: !1,\n                            typewrite: !0,\n                            curString: \"\",\n                            curStrPos: 0\n                        }, t.typingComplete = !1;\n                        for (var o in t.strings) t.sequence[o] = o;\n                        t.currentElContent = this.getCurrentElContent(t), t.autoInsertCss = t.options.autoInsertCss, this.appendAnimationCss(t)\n                    }\n                }, {\n                    key: \"getCurrentElContent\",\n                    value: function (t) {\n                        var e = \"\";\n                        return e = t.attr ? t.el.getAttribute(t.attr) : t.isInput ? t.el.value : \"html\" === t.contentType ? t.el.innerHTML : t.el.textContent\n                    }\n                }, {\n                    key: \"appendAnimationCss\",\n                    value: function (t) {\n                        var e = \"data-typed-js-css\";\n                        if (t.autoInsertCss && (t.showCursor || t.fadeOut) && !document.querySelector(\"[\" + e + \"]\")) {\n                            var s = document.createElement(\"style\");\n                            s.type = \"text/css\", s.setAttribute(e, !0);\n                            var n = \"\";\n                            t.showCursor && (n += \"\\n        .typed-cursor{\\n          opacity: 1;\\n        }\\n        .typed-cursor.typed-cursor--blink{\\n          animation: typedjsBlink 0.7s infinite;\\n          -webkit-animation: typedjsBlink 0.7s infinite;\\n                  animation: typedjsBlink 0.7s infinite;\\n        }\\n        @keyframes typedjsBlink{\\n          50% { opacity: 0.0; }\\n        }\\n        @-webkit-keyframes typedjsBlink{\\n          0% { opacity: 1; }\\n          50% { opacity: 0.0; }\\n          100% { opacity: 1; }\\n        }\\n      \"), t.fadeOut && (n += \"\\n        .typed-fade-out{\\n          opacity: 0;\\n          transition: opacity .25s;\\n        }\\n        .typed-cursor.typed-cursor--blink.typed-fade-out{\\n          -webkit-animation: 0;\\n          animation: 0;\\n        }\\n      \"), 0 !== s.length && (s.innerHTML = n, document.body.appendChild(s))\n                        }\n                    }\n                }]), t\n            }();\n        e[\"default\"] = l;\n        var c = new l;\n        e.initializer = c\n    }, function (t, e) {\n        \"use strict\";\n        Object.defineProperty(e, \"__esModule\", {\n            value: !0\n        });\n        var s = {\n            strings: [\"These are the default values...\", \"You know what you should do?\", \"Use your own!\", \"Have a great day!\"],\n            stringsElement: null,\n            typeSpeed: 0,\n            startDelay: 0,\n            backSpeed: 0,\n            smartBackspace: !0,\n            shuffle: !1,\n            backDelay: 700,\n            fadeOut: !1,\n            fadeOutClass: \"typed-fade-out\",\n            fadeOutDelay: 500,\n            loop: !1,\n            loopCount: 1 / 0,\n            showCursor: !0,\n            cursorChar: \"|\",\n            autoInsertCss: !0,\n            attr: null,\n            bindInputFocusEvents: !1,\n            contentType: \"html\",\n            onBegin: function (t) {},\n            onComplete: function (t) {},\n            preStringTyped: function (t, e) {},\n            onStringTyped: function (t, e) {},\n            onLastStringBackspaced: function (t) {},\n            onTypingPaused: function (t, e) {},\n            onTypingResumed: function (t, e) {},\n            onReset: function (t) {},\n            onStop: function (t, e) {},\n            onStart: function (t, e) {},\n            onDestroy: function (t) {}\n        };\n        e[\"default\"] = s, t.exports = e[\"default\"]\n    }, function (t, e) {\n        \"use strict\";\n\n        function s(t, e) {\n            if (!(t instanceof e)) throw new TypeError(\"Cannot call a class as a function\")\n        }\n        Object.defineProperty(e, \"__esModule\", {\n            value: !0\n        });\n        var n = function () {\n                function t(t, e) {\n                    for (var s = 0; s < e.length; s++) {\n                        var n = e[s];\n                        n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(t, n.key, n)\n                    }\n                }\n                return function (e, s, n) {\n                    return s && t(e.prototype, s), n && t(e, n), e\n                }\n            }(),\n            i = function () {\n                function t() {\n                    s(this, t)\n                }\n                return n(t, [{\n                    key: \"typeHtmlChars\",\n                    value: function (t, e, s) {\n                        if (\"html\" !== s.contentType) return e;\n                        var n = t.substr(e).charAt(0);\n                        if (\"<\" === n || \"&\" === n) {\n                            var i = \"\";\n                            for (i = \"<\" === n ? \">\" : \";\"; t.substr(e + 1).charAt(0) !== i && (e++, !(e + 1 > t.length)););\n                            e++\n                        }\n                        return e\n                    }\n                }, {\n                    key: \"backSpaceHtmlChars\",\n                    value: function (t, e, s) {\n                        if (\"html\" !== s.contentType) return e;\n                        var n = t.substr(e).charAt(0);\n                        if (\">\" === n || \";\" === n) {\n                            var i = \"\";\n                            for (i = \">\" === n ? \"<\" : \"&\"; t.substr(e - 1).charAt(0) !== i && (e--, !(e < 0)););\n                            e--\n                        }\n                        return e\n                    }\n                }]), t\n            }();\n        e[\"default\"] = i;\n        var r = new i;\n        e.htmlParser = r\n    }])\n});\n//# sourceMappingURL=typed.min.js.map"
  },
  {
    "path": "README.md",
    "content": "# happy-birthday\nHappy Birthday Website made using Html, css and JavaScript\n<a href=\"https://programmergaurav.github.io/happy-birthday/?name=Gaurav\" target=\"blank\">Click Here</a>\n"
  },
  {
    "path": "css/animate.css",
    "content": "@charset \"UTF-8\";\n\n/*!\n * animate.css -https://daneden.github.io/animate.css/\n * Version - 3.7.2\n * Licensed under the MIT license - http://opensource.org/licenses/MIT\n *\n * Copyright (c) 2019 Daniel Eden\n */\n@-webkit-keyframes bounce {\n  0%, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0)\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0)\n  }\n\n}\n\n@keyframes bounce {\n  0%, 20%, 53%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  40%, 43% {\n    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    -webkit-transform: translate3d(0, -30px, 0);\n    transform: translate3d(0, -30px, 0)\n  }\n\n  70% {\n    -webkit-animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    animation-timing-function: cubic-bezier(.755, .05, .855, .06);\n    -webkit-transform: translate3d(0, -15px, 0);\n    transform: translate3d(0, -15px, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -4px, 0);\n    transform: translate3d(0, -4px, 0)\n  }\n\n}\n\n.bounce {\n  -webkit-animation-name: bounce;\n  animation-name: bounce;\n  -webkit-transform-origin: center bottom;\n  transform-origin: center bottom\n}\n\n@-webkit-keyframes flash {\n  0%, 50%, to {\n    opacity: 1\n  }\n\n  25%, 75% {\n    opacity: 0\n  }\n\n}\n\n@keyframes flash {\n  0%, 50%, to {\n    opacity: 1\n  }\n\n  25%, 75% {\n    opacity: 0\n  }\n\n}\n\n.flash {\n  -webkit-animation-name: flash;\n  animation-name: flash\n}\n\n@-webkit-keyframes pulse {\n  0% {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.05, 1.05, 1.05);\n    transform: scale3d(1.05, 1.05, 1.05)\n  }\n\n  to {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n@keyframes pulse {\n  0% {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.05, 1.05, 1.05);\n    transform: scale3d(1.05, 1.05, 1.05)\n  }\n\n  to {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n.pulse {\n  -webkit-animation-name: pulse;\n  animation-name: pulse\n}\n\n@-webkit-keyframes rubberBand {\n  0% {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n  30% {\n    -webkit-transform: scale3d(1.25, .75, 1);\n    transform: scale3d(1.25, .75, 1)\n  }\n\n  40% {\n    -webkit-transform: scale3d(.75, 1.25, 1);\n    transform: scale3d(.75, 1.25, 1)\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.15, .85, 1);\n    transform: scale3d(1.15, .85, 1)\n  }\n\n  65% {\n    -webkit-transform: scale3d(.95, 1.05, 1);\n    transform: scale3d(.95, 1.05, 1)\n  }\n\n  75% {\n    -webkit-transform: scale3d(1.05, .95, 1);\n    transform: scale3d(1.05, .95, 1)\n  }\n\n  to {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n@keyframes rubberBand {\n  0% {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n  30% {\n    -webkit-transform: scale3d(1.25, .75, 1);\n    transform: scale3d(1.25, .75, 1)\n  }\n\n  40% {\n    -webkit-transform: scale3d(.75, 1.25, 1);\n    transform: scale3d(.75, 1.25, 1)\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.15, .85, 1);\n    transform: scale3d(1.15, .85, 1)\n  }\n\n  65% {\n    -webkit-transform: scale3d(.95, 1.05, 1);\n    transform: scale3d(.95, 1.05, 1)\n  }\n\n  75% {\n    -webkit-transform: scale3d(1.05, .95, 1);\n    transform: scale3d(1.05, .95, 1)\n  }\n\n  to {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n.rubberBand {\n  -webkit-animation-name: rubberBand;\n  animation-name: rubberBand\n}\n\n@-webkit-keyframes shake {\n  0%, to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  10%, 30%, 50%, 70%, 90% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0)\n  }\n\n  20%, 40%, 60%, 80% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0)\n  }\n\n}\n\n@keyframes shake {\n  0%, to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  10%, 30%, 50%, 70%, 90% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0)\n  }\n\n  20%, 40%, 60%, 80% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0)\n  }\n\n}\n\n.shake {\n  -webkit-animation-name: shake;\n  animation-name: shake\n}\n\n@-webkit-keyframes headShake {\n  0% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0)\n  }\n\n  6.5% {\n    -webkit-transform: translateX(-6px) rotateY(-9deg);\n    transform: translateX(-6px) rotateY(-9deg)\n  }\n\n  18.5% {\n    -webkit-transform: translateX(5px) rotateY(7deg);\n    transform: translateX(5px) rotateY(7deg)\n  }\n\n  31.5% {\n    -webkit-transform: translateX(-3px) rotateY(-5deg);\n    transform: translateX(-3px) rotateY(-5deg)\n  }\n\n  43.5% {\n    -webkit-transform: translateX(2px) rotateY(3deg);\n    transform: translateX(2px) rotateY(3deg)\n  }\n\n  50% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0)\n  }\n\n}\n\n@keyframes headShake {\n  0% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0)\n  }\n\n  6.5% {\n    -webkit-transform: translateX(-6px) rotateY(-9deg);\n    transform: translateX(-6px) rotateY(-9deg)\n  }\n\n  18.5% {\n    -webkit-transform: translateX(5px) rotateY(7deg);\n    transform: translateX(5px) rotateY(7deg)\n  }\n\n  31.5% {\n    -webkit-transform: translateX(-3px) rotateY(-5deg);\n    transform: translateX(-3px) rotateY(-5deg)\n  }\n\n  43.5% {\n    -webkit-transform: translateX(2px) rotateY(3deg);\n    transform: translateX(2px) rotateY(3deg)\n  }\n\n  50% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0)\n  }\n\n}\n\n.headShake {\n  -webkit-animation-timing-function: ease-in-out;\n  animation-timing-function: ease-in-out;\n  -webkit-animation-name: headShake;\n  animation-name: headShake\n}\n\n@-webkit-keyframes swing {\n  20% {\n    -webkit-transform: rotate(15deg);\n    transform: rotate(15deg)\n  }\n\n  40% {\n    -webkit-transform: rotate(-10deg);\n    transform: rotate(-10deg)\n  }\n\n  60% {\n    -webkit-transform: rotate(5deg);\n    transform: rotate(5deg)\n  }\n\n  80% {\n    -webkit-transform: rotate(-5deg);\n    transform: rotate(-5deg)\n  }\n\n  to {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg)\n  }\n\n}\n\n@keyframes swing {\n  20% {\n    -webkit-transform: rotate(15deg);\n    transform: rotate(15deg)\n  }\n\n  40% {\n    -webkit-transform: rotate(-10deg);\n    transform: rotate(-10deg)\n  }\n\n  60% {\n    -webkit-transform: rotate(5deg);\n    transform: rotate(5deg)\n  }\n\n  80% {\n    -webkit-transform: rotate(-5deg);\n    transform: rotate(-5deg)\n  }\n\n  to {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg)\n  }\n\n}\n\n.swing {\n  -webkit-transform-origin: top center;\n  transform-origin: top center;\n  -webkit-animation-name: swing;\n  animation-name: swing\n}\n\n@-webkit-keyframes tada {\n  0% {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n  10%, 20% {\n    -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);\n    transform: scale3d(.9, .9, .9) rotate(-3deg)\n  }\n\n  30%, 50%, 70%, 90% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);\n    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)\n  }\n\n  40%, 60%, 80% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);\n    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)\n  }\n\n  to {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n@keyframes tada {\n  0% {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n  10%, 20% {\n    -webkit-transform: scale3d(.9, .9, .9) rotate(-3deg);\n    transform: scale3d(.9, .9, .9) rotate(-3deg)\n  }\n\n  30%, 50%, 70%, 90% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(3deg);\n    transform: scale3d(1.1, 1.1, 1.1) rotate(3deg)\n  }\n\n  40%, 60%, 80% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg);\n    transform: scale3d(1.1, 1.1, 1.1) rotate(-3deg)\n  }\n\n  to {\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n.tada {\n  -webkit-animation-name: tada;\n  animation-name: tada\n}\n\n@-webkit-keyframes wobble {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  15% {\n    -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);\n    transform: translate3d(-25%, 0, 0) rotate(-5deg)\n  }\n\n  30% {\n    -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);\n    transform: translate3d(20%, 0, 0) rotate(3deg)\n  }\n\n  45% {\n    -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);\n    transform: translate3d(-15%, 0, 0) rotate(-3deg)\n  }\n\n  60% {\n    -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);\n    transform: translate3d(10%, 0, 0) rotate(2deg)\n  }\n\n  75% {\n    -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);\n    transform: translate3d(-5%, 0, 0) rotate(-1deg)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes wobble {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  15% {\n    -webkit-transform: translate3d(-25%, 0, 0) rotate(-5deg);\n    transform: translate3d(-25%, 0, 0) rotate(-5deg)\n  }\n\n  30% {\n    -webkit-transform: translate3d(20%, 0, 0) rotate(3deg);\n    transform: translate3d(20%, 0, 0) rotate(3deg)\n  }\n\n  45% {\n    -webkit-transform: translate3d(-15%, 0, 0) rotate(-3deg);\n    transform: translate3d(-15%, 0, 0) rotate(-3deg)\n  }\n\n  60% {\n    -webkit-transform: translate3d(10%, 0, 0) rotate(2deg);\n    transform: translate3d(10%, 0, 0) rotate(2deg)\n  }\n\n  75% {\n    -webkit-transform: translate3d(-5%, 0, 0) rotate(-1deg);\n    transform: translate3d(-5%, 0, 0) rotate(-1deg)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.wobble {\n  -webkit-animation-name: wobble;\n  animation-name: wobble\n}\n\n@-webkit-keyframes jello {\n  0%, 11.1%, to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  22.2% {\n    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);\n    transform: skewX(-12.5deg) skewY(-12.5deg)\n  }\n\n  33.3% {\n    -webkit-transform: skewX(6.25deg) skewY(6.25deg);\n    transform: skewX(6.25deg) skewY(6.25deg)\n  }\n\n  44.4% {\n    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);\n    transform: skewX(-3.125deg) skewY(-3.125deg)\n  }\n\n  55.5% {\n    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);\n    transform: skewX(1.5625deg) skewY(1.5625deg)\n  }\n\n  66.6% {\n    -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);\n    transform: skewX(-.78125deg) skewY(-.78125deg)\n  }\n\n  77.7% {\n    -webkit-transform: skewX(.390625deg) skewY(.390625deg);\n    transform: skewX(.390625deg) skewY(.390625deg)\n  }\n\n  88.8% {\n    -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);\n    transform: skewX(-.1953125deg) skewY(-.1953125deg)\n  }\n\n}\n\n@keyframes jello {\n  0%, 11.1%, to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  22.2% {\n    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);\n    transform: skewX(-12.5deg) skewY(-12.5deg)\n  }\n\n  33.3% {\n    -webkit-transform: skewX(6.25deg) skewY(6.25deg);\n    transform: skewX(6.25deg) skewY(6.25deg)\n  }\n\n  44.4% {\n    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);\n    transform: skewX(-3.125deg) skewY(-3.125deg)\n  }\n\n  55.5% {\n    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);\n    transform: skewX(1.5625deg) skewY(1.5625deg)\n  }\n\n  66.6% {\n    -webkit-transform: skewX(-.78125deg) skewY(-.78125deg);\n    transform: skewX(-.78125deg) skewY(-.78125deg)\n  }\n\n  77.7% {\n    -webkit-transform: skewX(.390625deg) skewY(.390625deg);\n    transform: skewX(.390625deg) skewY(.390625deg)\n  }\n\n  88.8% {\n    -webkit-transform: skewX(-.1953125deg) skewY(-.1953125deg);\n    transform: skewX(-.1953125deg) skewY(-.1953125deg)\n  }\n\n}\n\n.jello {\n  -webkit-animation-name: jello;\n  animation-name: jello;\n  -webkit-transform-origin: center;\n  transform-origin: center\n}\n\n@-webkit-keyframes heartBeat {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n  14% {\n    -webkit-transform: scale(1.3);\n    transform: scale(1.3)\n  }\n\n  28% {\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n  42% {\n    -webkit-transform: scale(1.3);\n    transform: scale(1.3)\n  }\n\n  70% {\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n}\n\n@keyframes heartBeat {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n  14% {\n    -webkit-transform: scale(1.3);\n    transform: scale(1.3)\n  }\n\n  28% {\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n  42% {\n    -webkit-transform: scale(1.3);\n    transform: scale(1.3)\n  }\n\n  70% {\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n}\n\n.heartBeat {\n  -webkit-animation-name: heartBeat;\n  animation-name: heartBeat;\n  -webkit-animation-duration: 1.3s;\n  animation-duration: 1.3s;\n  -webkit-animation-timing-function: ease-in-out;\n  animation-timing-function: ease-in-out\n}\n\n@-webkit-keyframes bounceIn {\n  0%, 20%, 40%, 60%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1)\n  }\n\n  40% {\n    -webkit-transform: scale3d(.9, .9, .9);\n    transform: scale3d(.9, .9, .9)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n    transform: scale3d(1.03, 1.03, 1.03)\n  }\n\n  80% {\n    -webkit-transform: scale3d(.97, .97, .97);\n    transform: scale3d(.97, .97, .97)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n@keyframes bounceIn {\n  0%, 20%, 40%, 60%, 80%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1)\n  }\n\n  40% {\n    -webkit-transform: scale3d(.9, .9, .9);\n    transform: scale3d(.9, .9, .9)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n    transform: scale3d(1.03, 1.03, 1.03)\n  }\n\n  80% {\n    -webkit-transform: scale3d(.97, .97, .97);\n    transform: scale3d(.97, .97, .97)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1)\n  }\n\n}\n\n.bounceIn {\n  -webkit-animation-duration: .75s;\n  animation-duration: .75s;\n  -webkit-animation-name: bounceIn;\n  animation-name: bounceIn\n}\n\n@-webkit-keyframes bounceInDown {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -3000px, 0);\n    transform: translate3d(0, -3000px, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n    transform: translate3d(0, 25px, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n    transform: translate3d(0, 5px, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes bounceInDown {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -3000px, 0);\n    transform: translate3d(0, -3000px, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n    transform: translate3d(0, 25px, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n    transform: translate3d(0, 5px, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.bounceInDown {\n  -webkit-animation-name: bounceInDown;\n  animation-name: bounceInDown\n}\n\n@-webkit-keyframes bounceInLeft {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-3000px, 0, 0);\n    transform: translate3d(-3000px, 0, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n    transform: translate3d(25px, 0, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n    transform: translate3d(5px, 0, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes bounceInLeft {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-3000px, 0, 0);\n    transform: translate3d(-3000px, 0, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n    transform: translate3d(25px, 0, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n    transform: translate3d(5px, 0, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.bounceInLeft {\n  -webkit-animation-name: bounceInLeft;\n  animation-name: bounceInLeft\n}\n\n@-webkit-keyframes bounceInRight {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(3000px, 0, 0);\n    transform: translate3d(3000px, 0, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n    transform: translate3d(-25px, 0, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n    transform: translate3d(-5px, 0, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes bounceInRight {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(3000px, 0, 0);\n    transform: translate3d(3000px, 0, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n    transform: translate3d(-25px, 0, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n    transform: translate3d(-5px, 0, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.bounceInRight {\n   transition-delay: 2s;\n  -webkit-animation-name: bounceInRight;\n  animation-name: bounceInRight;\n}\n\n@-webkit-keyframes bounceInUp {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 3000px, 0);\n    transform: translate3d(0, 3000px, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n    transform: translate3d(0, -5px, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes bounceInUp {\n  0%, 60%, 75%, 90%, to {\n    -webkit-animation-timing-function: cubic-bezier(.215, .61, .355, 1);\n    animation-timing-function: cubic-bezier(.215, .61, .355, 1)\n  }\n\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 3000px, 0);\n    transform: translate3d(0, 3000px, 0)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0)\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0)\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n    transform: translate3d(0, -5px, 0)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.bounceInUp {\n  -webkit-animation-name: bounceInUp;\n  animation-name: bounceInUp\n}\n\n@-webkit-keyframes bounceOut {\n  20% {\n    -webkit-transform: scale3d(.9, .9, .9);\n    transform: scale3d(.9, .9, .9)\n  }\n\n  50%, 55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n}\n\n@keyframes bounceOut {\n  20% {\n    -webkit-transform: scale3d(.9, .9, .9);\n    transform: scale3d(.9, .9, .9)\n  }\n\n  50%, 55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n}\n\n.bounceOut {\n  -webkit-animation-duration: .75s;\n  animation-duration: .75s;\n  -webkit-animation-name: bounceOut;\n  animation-name: bounceOut\n}\n\n@-webkit-keyframes bounceOutDown {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0)\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0)\n  }\n\n}\n\n@keyframes bounceOutDown {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0)\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0)\n  }\n\n}\n\n.bounceOutDown {\n  -webkit-animation-name: bounceOutDown;\n  animation-name: bounceOutDown\n}\n\n@-webkit-keyframes bounceOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n    transform: translate3d(20px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0)\n  }\n\n}\n\n@keyframes bounceOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n    transform: translate3d(20px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0)\n  }\n\n}\n\n.bounceOutLeft {\n  -webkit-animation-name: bounceOutLeft;\n  animation-name: bounceOutLeft\n}\n\n@-webkit-keyframes bounceOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n    transform: translate3d(-20px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0)\n  }\n\n}\n\n@keyframes bounceOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n    transform: translate3d(-20px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0)\n  }\n\n}\n\n.bounceOutRight {\n  -webkit-animation-name: bounceOutRight;\n  animation-name: bounceOutRight\n}\n\n@-webkit-keyframes bounceOutUp {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0)\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n    transform: translate3d(0, 20px, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0)\n  }\n\n}\n\n@keyframes bounceOutUp {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0)\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n    transform: translate3d(0, 20px, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0)\n  }\n\n}\n\n.bounceOutUp {\n  -webkit-animation-name: bounceOutUp;\n  animation-name: bounceOutUp\n}\n\n@-webkit-keyframes fadeIn {\n  0% {\n    opacity: 0\n  }\n\n  to {\n    opacity: 1\n  }\n\n}\n\n@keyframes fadeIn {\n  0% {\n    opacity: 0\n  }\n\n  to {\n    opacity: 1\n  }\n\n}\n\n.fadeIn {\n  -webkit-animation-name: fadeIn;\n  animation-name: fadeIn\n}\n\n@-webkit-keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInDown {\n  -webkit-animation-name: fadeInDown;\n  animation-name: fadeInDown\n}\n\n@-webkit-keyframes fadeInDownBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInDownBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInDownBig {\n  -webkit-animation-name: fadeInDownBig;\n  animation-name: fadeInDownBig\n}\n\n@-webkit-keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInLeft {\n  -webkit-animation-name: fadeInLeft;\n  animation-name: fadeInLeft\n}\n\n@-webkit-keyframes fadeInLeftBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInLeftBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInLeftBig {\n  -webkit-animation-name: fadeInLeftBig;\n  animation-name: fadeInLeftBig\n}\n\n@-webkit-keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInRight {\n  -webkit-animation-name: fadeInRight;\n  animation-name: fadeInRight\n}\n\n@-webkit-keyframes fadeInRightBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInRightBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInRightBig {\n  -webkit-animation-name: fadeInRightBig;\n  animation-name: fadeInRightBig\n}\n\n@-webkit-keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInUp {\n  -webkit-animation-name: fadeInUp;\n  animation-name: fadeInUp\n}\n\n@-webkit-keyframes fadeInUpBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes fadeInUpBig {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.fadeInUpBig {\n  -webkit-animation-name: fadeInUpBig;\n  animation-name: fadeInUpBig\n}\n\n@-webkit-keyframes fadeOut {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0\n  }\n\n}\n\n@keyframes fadeOut {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0\n  }\n\n}\n\n.fadeOut {\n  -webkit-animation-name: fadeOut;\n  animation-name: fadeOut\n}\n\n@-webkit-keyframes fadeOutDown {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0)\n  }\n\n}\n\n@keyframes fadeOutDown {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0)\n  }\n\n}\n\n.fadeOutDown {\n  -webkit-animation-name: fadeOutDown;\n  animation-name: fadeOutDown\n}\n\n@-webkit-keyframes fadeOutDownBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0)\n  }\n\n}\n\n@keyframes fadeOutDownBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0)\n  }\n\n}\n\n.fadeOutDownBig {\n  -webkit-animation-name: fadeOutDownBig;\n  animation-name: fadeOutDownBig\n}\n\n@-webkit-keyframes fadeOutLeft {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0)\n  }\n\n}\n\n@keyframes fadeOutLeft {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0)\n  }\n\n}\n\n.fadeOutLeft {\n  -webkit-animation-name: fadeOutLeft;\n  animation-name: fadeOutLeft\n}\n\n@-webkit-keyframes fadeOutLeftBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0)\n  }\n\n}\n\n@keyframes fadeOutLeftBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0)\n  }\n\n}\n\n.fadeOutLeftBig {\n  -webkit-animation-name: fadeOutLeftBig;\n  animation-name: fadeOutLeftBig\n}\n\n@-webkit-keyframes fadeOutRight {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0)\n  }\n\n}\n\n@keyframes fadeOutRight {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0)\n  }\n\n}\n\n.fadeOutRight {\n  -webkit-animation-name: fadeOutRight;\n  animation-name: fadeOutRight\n}\n\n@-webkit-keyframes fadeOutRightBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0)\n  }\n\n}\n\n@keyframes fadeOutRightBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0)\n  }\n\n}\n\n.fadeOutRightBig {\n  -webkit-animation-name: fadeOutRightBig;\n  animation-name: fadeOutRightBig\n}\n\n@-webkit-keyframes fadeOutUp {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0)\n  }\n\n}\n\n@keyframes fadeOutUp {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0)\n  }\n\n}\n\n.fadeOutUp {\n  -webkit-animation-name: fadeOutUp;\n  animation-name: fadeOutUp\n}\n\n@-webkit-keyframes fadeOutUpBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0)\n  }\n\n}\n\n@keyframes fadeOutUpBig {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0)\n  }\n\n}\n\n.fadeOutUpBig {\n  -webkit-animation-name: fadeOutUpBig;\n  animation-name: fadeOutUpBig\n}\n\n@-webkit-keyframes flip {\n  0% {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);\n    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);\n    -webkit-animation-timing-function: ease-out;\n    animation-timing-function: ease-out\n  }\n\n  40% {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);\n    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);\n    -webkit-animation-timing-function: ease-out;\n    animation-timing-function: ease-out\n  }\n\n  50% {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);\n    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  80% {\n    -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);\n    transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  to {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);\n    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n}\n\n@keyframes flip {\n  0% {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);\n    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);\n    -webkit-animation-timing-function: ease-out;\n    animation-timing-function: ease-out\n  }\n\n  40% {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);\n    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);\n    -webkit-animation-timing-function: ease-out;\n    animation-timing-function: ease-out\n  }\n\n  50% {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);\n    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  80% {\n    -webkit-transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);\n    transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  to {\n    -webkit-transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);\n    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n}\n\n.animated.flip {\n  -webkit-backface-visibility: visible;\n  backface-visibility: visible;\n  -webkit-animation-name: flip;\n  animation-name: flip\n}\n\n@-webkit-keyframes flipInX {\n  0% {\n    -webkit-transform: perspective(400px) rotateX(90deg);\n    transform: perspective(400px) rotateX(90deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in;\n    opacity: 0\n  }\n\n  40% {\n    -webkit-transform: perspective(400px) rotateX(-20deg);\n    transform: perspective(400px) rotateX(-20deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  60% {\n    -webkit-transform: perspective(400px) rotateX(10deg);\n    transform: perspective(400px) rotateX(10deg);\n    opacity: 1\n  }\n\n  80% {\n    -webkit-transform: perspective(400px) rotateX(-5deg);\n    transform: perspective(400px) rotateX(-5deg)\n  }\n\n  to {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n}\n\n@keyframes flipInX {\n  0% {\n    -webkit-transform: perspective(400px) rotateX(90deg);\n    transform: perspective(400px) rotateX(90deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in;\n    opacity: 0\n  }\n\n  40% {\n    -webkit-transform: perspective(400px) rotateX(-20deg);\n    transform: perspective(400px) rotateX(-20deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  60% {\n    -webkit-transform: perspective(400px) rotateX(10deg);\n    transform: perspective(400px) rotateX(10deg);\n    opacity: 1\n  }\n\n  80% {\n    -webkit-transform: perspective(400px) rotateX(-5deg);\n    transform: perspective(400px) rotateX(-5deg)\n  }\n\n  to {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n}\n\n.flipInX {\n  -webkit-backface-visibility: visible !important;\n  backface-visibility: visible !important;\n  -webkit-animation-name: flipInX;\n  animation-name: flipInX\n}\n\n@-webkit-keyframes flipInY {\n  0% {\n    -webkit-transform: perspective(400px) rotateY(90deg);\n    transform: perspective(400px) rotateY(90deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in;\n    opacity: 0\n  }\n\n  40% {\n    -webkit-transform: perspective(400px) rotateY(-20deg);\n    transform: perspective(400px) rotateY(-20deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  60% {\n    -webkit-transform: perspective(400px) rotateY(10deg);\n    transform: perspective(400px) rotateY(10deg);\n    opacity: 1\n  }\n\n  80% {\n    -webkit-transform: perspective(400px) rotateY(-5deg);\n    transform: perspective(400px) rotateY(-5deg)\n  }\n\n  to {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n}\n\n@keyframes flipInY {\n  0% {\n    -webkit-transform: perspective(400px) rotateY(90deg);\n    transform: perspective(400px) rotateY(90deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in;\n    opacity: 0\n  }\n\n  40% {\n    -webkit-transform: perspective(400px) rotateY(-20deg);\n    transform: perspective(400px) rotateY(-20deg);\n    -webkit-animation-timing-function: ease-in;\n    animation-timing-function: ease-in\n  }\n\n  60% {\n    -webkit-transform: perspective(400px) rotateY(10deg);\n    transform: perspective(400px) rotateY(10deg);\n    opacity: 1\n  }\n\n  80% {\n    -webkit-transform: perspective(400px) rotateY(-5deg);\n    transform: perspective(400px) rotateY(-5deg)\n  }\n\n  to {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n}\n\n.flipInY {\n  -webkit-backface-visibility: visible !important;\n  backface-visibility: visible !important;\n  -webkit-animation-name: flipInY;\n  animation-name: flipInY\n}\n\n@-webkit-keyframes flipOutX {\n  0% {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n  30% {\n    -webkit-transform: perspective(400px) rotateX(-20deg);\n    transform: perspective(400px) rotateX(-20deg);\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: perspective(400px) rotateX(90deg);\n    transform: perspective(400px) rotateX(90deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes flipOutX {\n  0% {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n  30% {\n    -webkit-transform: perspective(400px) rotateX(-20deg);\n    transform: perspective(400px) rotateX(-20deg);\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: perspective(400px) rotateX(90deg);\n    transform: perspective(400px) rotateX(90deg);\n    opacity: 0\n  }\n\n}\n\n.flipOutX {\n  -webkit-animation-duration: .75s;\n  animation-duration: .75s;\n  -webkit-animation-name: flipOutX;\n  animation-name: flipOutX;\n  -webkit-backface-visibility: visible !important;\n  backface-visibility: visible !important\n}\n\n@-webkit-keyframes flipOutY {\n  0% {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n  30% {\n    -webkit-transform: perspective(400px) rotateY(-15deg);\n    transform: perspective(400px) rotateY(-15deg);\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: perspective(400px) rotateY(90deg);\n    transform: perspective(400px) rotateY(90deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes flipOutY {\n  0% {\n    -webkit-transform: perspective(400px);\n    transform: perspective(400px)\n  }\n\n  30% {\n    -webkit-transform: perspective(400px) rotateY(-15deg);\n    transform: perspective(400px) rotateY(-15deg);\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: perspective(400px) rotateY(90deg);\n    transform: perspective(400px) rotateY(90deg);\n    opacity: 0\n  }\n\n}\n\n.flipOutY {\n  -webkit-animation-duration: .75s;\n  animation-duration: .75s;\n  -webkit-backface-visibility: visible !important;\n  backface-visibility: visible !important;\n  -webkit-animation-name: flipOutY;\n  animation-name: flipOutY\n}\n\n@-webkit-keyframes lightSpeedIn {\n  0% {\n    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n    transform: translate3d(100%, 0, 0) skewX(-30deg);\n    opacity: 0\n  }\n\n  60% {\n    -webkit-transform: skewX(20deg);\n    transform: skewX(20deg);\n    opacity: 1\n  }\n\n  80% {\n    -webkit-transform: skewX(-5deg);\n    transform: skewX(-5deg)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes lightSpeedIn {\n  0% {\n    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);\n    transform: translate3d(100%, 0, 0) skewX(-30deg);\n    opacity: 0\n  }\n\n  60% {\n    -webkit-transform: skewX(20deg);\n    transform: skewX(20deg);\n    opacity: 1\n  }\n\n  80% {\n    -webkit-transform: skewX(-5deg);\n    transform: skewX(-5deg)\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.lightSpeedIn {\n  -webkit-animation-name: lightSpeedIn;\n  animation-name: lightSpeedIn;\n  -webkit-animation-timing-function: ease-out;\n  animation-timing-function: ease-out\n}\n\n@-webkit-keyframes lightSpeedOut {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n    transform: translate3d(100%, 0, 0) skewX(30deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes lightSpeedOut {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);\n    transform: translate3d(100%, 0, 0) skewX(30deg);\n    opacity: 0\n  }\n\n}\n\n.lightSpeedOut {\n  -webkit-animation-name: lightSpeedOut;\n  animation-name: lightSpeedOut;\n  -webkit-animation-timing-function: ease-in;\n  animation-timing-function: ease-in\n}\n\n@-webkit-keyframes rotateIn {\n  0% {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    -webkit-transform: rotate(-200deg);\n    transform: rotate(-200deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n@keyframes rotateIn {\n  0% {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    -webkit-transform: rotate(-200deg);\n    transform: rotate(-200deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n.rotateIn {\n  -webkit-animation-name: rotateIn;\n  animation-name: rotateIn\n}\n\n@-webkit-keyframes rotateInDownLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(-45deg);\n    transform: rotate(-45deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n@keyframes rotateInDownLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(-45deg);\n    transform: rotate(-45deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n.rotateInDownLeft {\n  -webkit-animation-name: rotateInDownLeft;\n  animation-name: rotateInDownLeft\n}\n\n@-webkit-keyframes rotateInDownRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(45deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n@keyframes rotateInDownRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(45deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n.rotateInDownRight {\n  -webkit-animation-name: rotateInDownRight;\n  animation-name: rotateInDownRight\n}\n\n@-webkit-keyframes rotateInUpLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(45deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n@keyframes rotateInUpLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(45deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n.rotateInUpLeft {\n  -webkit-animation-name: rotateInUpLeft;\n  animation-name: rotateInUpLeft\n}\n\n@-webkit-keyframes rotateInUpRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(-90deg);\n    transform: rotate(-90deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n@keyframes rotateInUpRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(-90deg);\n    transform: rotate(-90deg);\n    opacity: 0\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0);\n    opacity: 1\n  }\n\n}\n\n.rotateInUpRight {\n  -webkit-animation-name: rotateInUpRight;\n  animation-name: rotateInUpRight\n}\n\n@-webkit-keyframes rotateOut {\n  0% {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    -webkit-transform: rotate(200deg);\n    transform: rotate(200deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes rotateOut {\n  0% {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: center;\n    transform-origin: center;\n    -webkit-transform: rotate(200deg);\n    transform: rotate(200deg);\n    opacity: 0\n  }\n\n}\n\n.rotateOut {\n  -webkit-animation-name: rotateOut;\n  animation-name: rotateOut\n}\n\n@-webkit-keyframes rotateOutDownLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(45deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes rotateOutDownLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(45deg);\n    opacity: 0\n  }\n\n}\n\n.rotateOutDownLeft {\n  -webkit-animation-name: rotateOutDownLeft;\n  animation-name: rotateOutDownLeft\n}\n\n@-webkit-keyframes rotateOutDownRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(-45deg);\n    transform: rotate(-45deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes rotateOutDownRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(-45deg);\n    transform: rotate(-45deg);\n    opacity: 0\n  }\n\n}\n\n.rotateOutDownRight {\n  -webkit-animation-name: rotateOutDownRight;\n  animation-name: rotateOutDownRight\n}\n\n@-webkit-keyframes rotateOutUpLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(-45deg);\n    transform: rotate(-45deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes rotateOutUpLeft {\n  0% {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: left bottom;\n    transform-origin: left bottom;\n    -webkit-transform: rotate(-45deg);\n    transform: rotate(-45deg);\n    opacity: 0\n  }\n\n}\n\n.rotateOutUpLeft {\n  -webkit-animation-name: rotateOutUpLeft;\n  animation-name: rotateOutUpLeft\n}\n\n@-webkit-keyframes rotateOutUpRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(90deg);\n    transform: rotate(90deg);\n    opacity: 0\n  }\n\n}\n\n@keyframes rotateOutUpRight {\n  0% {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform-origin: right bottom;\n    transform-origin: right bottom;\n    -webkit-transform: rotate(90deg);\n    transform: rotate(90deg);\n    opacity: 0\n  }\n\n}\n\n.rotateOutUpRight {\n  -webkit-animation-name: rotateOutUpRight;\n  animation-name: rotateOutUpRight\n}\n\n@-webkit-keyframes hinge {\n  0% {\n    -webkit-transform-origin: top left;\n    transform-origin: top left;\n    -webkit-animation-timing-function: ease-in-out;\n    animation-timing-function: ease-in-out\n  }\n\n  20%, 60% {\n    -webkit-transform: rotate(80deg);\n    transform: rotate(80deg);\n    -webkit-transform-origin: top left;\n    transform-origin: top left;\n    -webkit-animation-timing-function: ease-in-out;\n    animation-timing-function: ease-in-out\n  }\n\n  40%, 80% {\n    -webkit-transform: rotate(60deg);\n    transform: rotate(60deg);\n    -webkit-transform-origin: top left;\n    transform-origin: top left;\n    -webkit-animation-timing-function: ease-in-out;\n    animation-timing-function: ease-in-out;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: translate3d(0, 700px, 0);\n    transform: translate3d(0, 700px, 0);\n    opacity: 0\n  }\n\n}\n\n@keyframes hinge {\n  0% {\n    -webkit-transform-origin: top left;\n    transform-origin: top left;\n    -webkit-animation-timing-function: ease-in-out;\n    animation-timing-function: ease-in-out\n  }\n\n  20%, 60% {\n    -webkit-transform: rotate(80deg);\n    transform: rotate(80deg);\n    -webkit-transform-origin: top left;\n    transform-origin: top left;\n    -webkit-animation-timing-function: ease-in-out;\n    animation-timing-function: ease-in-out\n  }\n\n  40%, 80% {\n    -webkit-transform: rotate(60deg);\n    transform: rotate(60deg);\n    -webkit-transform-origin: top left;\n    transform-origin: top left;\n    -webkit-animation-timing-function: ease-in-out;\n    animation-timing-function: ease-in-out;\n    opacity: 1\n  }\n\n  to {\n    -webkit-transform: translate3d(0, 700px, 0);\n    transform: translate3d(0, 700px, 0);\n    opacity: 0\n  }\n\n}\n\n.hinge {\n  -webkit-animation-duration: 2s;\n  animation-duration: 2s;\n  -webkit-animation-name: hinge;\n  animation-name: hinge\n}\n\n@-webkit-keyframes jackInTheBox {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(.1) rotate(30deg);\n    transform: scale(.1) rotate(30deg);\n    -webkit-transform-origin: center bottom;\n    transform-origin: center bottom\n  }\n\n  50% {\n    -webkit-transform: rotate(-10deg);\n    transform: rotate(-10deg)\n  }\n\n  70% {\n    -webkit-transform: rotate(3deg);\n    transform: rotate(3deg)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n}\n\n@keyframes jackInTheBox {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(.1) rotate(30deg);\n    transform: scale(.1) rotate(30deg);\n    -webkit-transform-origin: center bottom;\n    transform-origin: center bottom\n  }\n\n  50% {\n    -webkit-transform: rotate(-10deg);\n    transform: rotate(-10deg)\n  }\n\n  70% {\n    -webkit-transform: rotate(3deg);\n    transform: rotate(3deg)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1)\n  }\n\n}\n\n.jackInTheBox {\n  -webkit-animation-name: jackInTheBox;\n  animation-name: jackInTheBox\n}\n\n@-webkit-keyframes rollIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);\n    transform: translate3d(-100%, 0, 0) rotate(-120deg)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes rollIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-100%, 0, 0) rotate(-120deg);\n    transform: translate3d(-100%, 0, 0) rotate(-120deg)\n  }\n\n  to {\n    opacity: 1;\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.rollIn {\n  -webkit-animation-name: rollIn;\n  animation-name: rollIn\n}\n\n@-webkit-keyframes rollOut {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);\n    transform: translate3d(100%, 0, 0) rotate(120deg)\n  }\n\n}\n\n@keyframes rollOut {\n  0% {\n    opacity: 1\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: translate3d(100%, 0, 0) rotate(120deg);\n    transform: translate3d(100%, 0, 0) rotate(120deg)\n  }\n\n}\n\n.rollOut {\n  -webkit-animation-name: rollOut;\n  animation-name: rollOut\n}\n\n@-webkit-keyframes zoomIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n  50% {\n    opacity: 1\n  }\n\n}\n\n@keyframes zoomIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n  50% {\n    opacity: 1\n  }\n\n}\n\n.zoomIn {\n  -webkit-animation-name: zoomIn;\n  animation-name: zoomIn\n}\n\n@-webkit-keyframes zoomInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n@keyframes zoomInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, -1000px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n.zoomInDown {\n  -webkit-animation-name: zoomInDown;\n  animation-name: zoomInDown\n}\n\n@-webkit-keyframes zoomInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n@keyframes zoomInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n    transform: scale3d(.1, .1, .1) translate3d(-1000px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(10px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n.zoomInLeft {\n  -webkit-animation-name: zoomInLeft;\n  animation-name: zoomInLeft\n}\n\n@-webkit-keyframes zoomInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n@keyframes zoomInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n    transform: scale3d(.1, .1, .1) translate3d(1000px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(-10px, 0, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n.zoomInRight {\n  -webkit-animation-name: zoomInRight;\n  animation-name: zoomInRight\n}\n\n@-webkit-keyframes zoomInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n@keyframes zoomInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, 1000px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n.zoomInUp {\n  -webkit-animation-name: zoomInUp;\n  animation-name: zoomInUp\n}\n\n@-webkit-keyframes zoomOut {\n  0% {\n    opacity: 1\n  }\n\n  50% {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n  to {\n    opacity: 0\n  }\n\n}\n\n@keyframes zoomOut {\n  0% {\n    opacity: 1\n  }\n\n  50% {\n    opacity: 0;\n    -webkit-transform: scale3d(.3, .3, .3);\n    transform: scale3d(.3, .3, .3)\n  }\n\n  to {\n    opacity: 0\n  }\n\n}\n\n.zoomOut {\n  -webkit-animation-name: zoomOut;\n  animation-name: zoomOut\n}\n\n@-webkit-keyframes zoomOutDown {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n    -webkit-transform-origin: center bottom;\n    transform-origin: center bottom;\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n@keyframes zoomOutDown {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, -60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, 2000px, 0);\n    -webkit-transform-origin: center bottom;\n    transform-origin: center bottom;\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n.zoomOutDown {\n  -webkit-animation-name: zoomOutDown;\n  animation-name: zoomOutDown\n}\n\n@-webkit-keyframes zoomOutLeft {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n    transform: scale(.1) translate3d(-2000px, 0, 0);\n    -webkit-transform-origin: left center;\n    transform-origin: left center\n  }\n\n}\n\n@keyframes zoomOutLeft {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(42px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale(.1) translate3d(-2000px, 0, 0);\n    transform: scale(.1) translate3d(-2000px, 0, 0);\n    -webkit-transform-origin: left center;\n    transform-origin: left center\n  }\n\n}\n\n.zoomOutLeft {\n  -webkit-animation-name: zoomOutLeft;\n  animation-name: zoomOutLeft\n}\n\n@-webkit-keyframes zoomOutRight {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n    transform: scale(.1) translate3d(2000px, 0, 0);\n    -webkit-transform-origin: right center;\n    transform-origin: right center\n  }\n\n}\n\n@keyframes zoomOutRight {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0);\n    transform: scale3d(.475, .475, .475) translate3d(-42px, 0, 0)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale(.1) translate3d(2000px, 0, 0);\n    transform: scale(.1) translate3d(2000px, 0, 0);\n    -webkit-transform-origin: right center;\n    transform-origin: right center\n  }\n\n}\n\n.zoomOutRight {\n  -webkit-animation-name: zoomOutRight;\n  animation-name: zoomOutRight\n}\n\n@-webkit-keyframes zoomOutUp {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n    -webkit-transform-origin: center bottom;\n    transform-origin: center bottom;\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n@keyframes zoomOutUp {\n  40% {\n    opacity: 1;\n    -webkit-transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    transform: scale3d(.475, .475, .475) translate3d(0, 60px, 0);\n    -webkit-animation-timing-function: cubic-bezier(.55, .055, .675, .19);\n    animation-timing-function: cubic-bezier(.55, .055, .675, .19)\n  }\n\n  to {\n    opacity: 0;\n    -webkit-transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n    transform: scale3d(.1, .1, .1) translate3d(0, -2000px, 0);\n    -webkit-transform-origin: center bottom;\n    transform-origin: center bottom;\n    -webkit-animation-timing-function: cubic-bezier(.175, .885, .32, 1);\n    animation-timing-function: cubic-bezier(.175, .885, .32, 1)\n  }\n\n}\n\n.zoomOutUp {\n  -webkit-animation-name: zoomOutUp;\n  animation-name: zoomOutUp\n}\n\n@-webkit-keyframes slideInDown {\n  0% {\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes slideInDown {\n  0% {\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.slideInDown {\n  -webkit-animation-name: slideInDown;\n  animation-name: slideInDown\n}\n\n@-webkit-keyframes slideInLeft {\n  0% {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes slideInLeft {\n  0% {\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.slideInLeft {\n  -webkit-animation-name: slideInLeft;\n  animation-name: slideInLeft\n}\n\n@-webkit-keyframes slideInRight {\n  0% {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes slideInRight {\n  0% {\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.slideInRight {\n  -webkit-animation-name: slideInRight;\n  animation-name: slideInRight\n}\n\n@-webkit-keyframes slideInUp {\n  0% {\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n@keyframes slideInUp {\n  0% {\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0);\n    visibility: visible\n  }\n\n  to {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n}\n\n.slideInUp {\n  -webkit-animation-name: slideInUp;\n  animation-name: slideInUp\n}\n\n@-webkit-keyframes slideOutDown {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0)\n  }\n\n}\n\n@keyframes slideOutDown {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(0, 100%, 0);\n    transform: translate3d(0, 100%, 0)\n  }\n\n}\n\n.slideOutDown {\n  -webkit-animation-name: slideOutDown;\n  animation-name: slideOutDown\n}\n\n@-webkit-keyframes slideOutLeft {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0)\n  }\n\n}\n\n@keyframes slideOutLeft {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(-100%, 0, 0);\n    transform: translate3d(-100%, 0, 0)\n  }\n\n}\n\n.slideOutLeft {\n  -webkit-animation-name: slideOutLeft;\n  animation-name: slideOutLeft\n}\n\n@-webkit-keyframes slideOutRight {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0)\n  }\n\n}\n\n@keyframes slideOutRight {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(100%, 0, 0);\n    transform: translate3d(100%, 0, 0)\n  }\n\n}\n\n.slideOutRight {\n  -webkit-animation-name: slideOutRight;\n  animation-name: slideOutRight\n}\n\n@-webkit-keyframes slideOutUp {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0)\n  }\n\n}\n\n@keyframes slideOutUp {\n  0% {\n    -webkit-transform: translateZ(0);\n    transform: translateZ(0)\n  }\n\n  to {\n    visibility: hidden;\n    -webkit-transform: translate3d(0, -100%, 0);\n    transform: translate3d(0, -100%, 0)\n  }\n\n}\n\n.slideOutUp {\n  -webkit-animation-name: slideOutUp;\n  animation-name: slideOutUp\n}\n\n.animated {\n  -webkit-animation-duration: 1s;\n  animation-duration: 1s;\n  -webkit-animation-fill-mode: both;\n  animation-fill-mode: both\n}\n\n.animated.infinite {\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite\n}\n\n.animated.delay-1s {\n  -webkit-animation-delay: 1s;\n  animation-delay: 1s\n}\n\n.animated.delay-2s {\n  -webkit-animation-delay: 2s;\n  animation-delay: 2s\n}\n\n.animated.delay-3s {\n  -webkit-animation-delay: 3s;\n  animation-delay: 3s\n}\n\n.animated.delay-4s {\n  -webkit-animation-delay: 4s;\n  animation-delay: 4s\n}\n\n.animated.delay-5s {\n  -webkit-animation-delay: 5s;\n  animation-delay: 5s\n}\n\n.animated.fast {\n  -webkit-animation-duration: .8s;\n  animation-duration: .8s\n}\n\n.animated.faster {\n  -webkit-animation-duration: .5s;\n  animation-duration: .5s\n}\n\n.animated.slow {\n  -webkit-animation-duration: 2s;\n  animation-duration: 2s\n}\n\n.animated.slower {\n  -webkit-animation-duration: 3s;\n  animation-duration: 3s\n}\n\n@media (prefers-reduced-motion:reduce), (print) {\n  .animated {\n    -webkit-animation-duration: 1ms !important;\n    animation-duration: 1ms !important;\n    -webkit-transition-duration: 1ms !important;\n    transition-duration: 1ms !important;\n    -webkit-animation-iteration-count: 1 !important;\n    animation-iteration-count: 1 !important\n  }\n\n}\n"
  },
  {
    "path": "css/prism.css",
    "content": "/* PrismJS 1.20.0\nhttps://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+java+markup-templating+php+python&plugins=command-line+normalize-whitespace+toolbar+copy-to-clipboard */\n/**\n * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML\n * Based on https://github.com/chriskempson/tomorrow-theme\n * @author Rose Pritchard\n */\n\n code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n\t color: #ccc;\n\t background: none;\n\t font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;\n\t font-size: 1em;\n\t text-align: left;\n\t white-space: pre;\n\t word-spacing: normal;\n\t word-break: normal;\n\t word-wrap: normal;\n\t line-height: 1.5;\n \n\t -moz-tab-size: 4;\n\t -o-tab-size: 4;\n\t tab-size: 4;\n \n\t -webkit-hyphens: none;\n\t -moz-hyphens: none;\n\t -ms-hyphens: none;\n\t hyphens: none;\n \n }\n \n /* Code blocks */\n pre[class*=\"language-\"] {\n\t padding: 1em;\n\t margin: .5em 0;\n\t overflow: auto;\n }\n \n :not(pre) > code[class*=\"language-\"],\n pre[class*=\"language-\"] {\n\t background: #2d2d2d;\n }\n \n /* Inline code */\n :not(pre) > code[class*=\"language-\"] {\n\t padding: .1em;\n\t border-radius: .3em;\n\t white-space: normal;\n }\n \n .token.comment,\n .token.block-comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n\t color: #999;\n }\n \n .token.punctuation {\n\t color: #ccc;\n }\n \n .token.tag,\n .token.attr-name,\n .token.namespace,\n .token.deleted {\n\t color: #e2777a;\n }\n \n .token.function-name {\n\t color: #6196cc;\n }\n \n .token.boolean,\n .token.number,\n .token.function {\n\t color: #f08d49;\n }\n \n .token.property,\n .token.class-name,\n .token.constant,\n .token.symbol {\n\t color: #f8c555;\n }\n \n .token.selector,\n .token.important,\n .token.atrule,\n .token.keyword,\n .token.builtin {\n\t color: #cc99cd;\n }\n \n .token.string,\n .token.char,\n .token.attr-value,\n .token.regex,\n .token.variable {\n\t color: #7ec699;\n }\n \n .token.operator,\n .token.entity,\n .token.url {\n\t color: #67cdcc;\n }\n \n .token.important,\n .token.bold {\n\t font-weight: bold;\n }\n .token.italic {\n\t font-style: italic;\n }\n \n .token.entity {\n\t cursor: help;\n }\n \n .token.inserted {\n\t color: green;\n }\n \n .command-line-prompt {\n\t border-right: 1px solid #999;\n\t display: block;\n\t float: left;\n\t font-size: 100%;\n\t letter-spacing: -1px;\n\t margin-right: 1em;\n\t pointer-events: none;\n \n\t -webkit-user-select: none;\n\t -moz-user-select: none;\n\t -ms-user-select: none;\n\t user-select: none;\n }\n \n .command-line-prompt > span:before {\n\t color: #999;\n\t content: ' ';\n\t display: block;\n\t padding-right: 0.8em;\n }\n \n .command-line-prompt > span[data-user]:before {\n\t content: \"[\" attr(data-user) \"@\" attr(data-host) \"] $\";\n }\n \n .command-line-prompt > span[data-user=\"root\"]:before {\n\t content: \"[\" attr(data-user) \"@\" attr(data-host) \"] #\";\n }\n \n .command-line-prompt > span[data-prompt]:before {\n\t content: attr(data-prompt);\n }\n \n div.code-toolbar {\n\t position: relative;\n }\n \n div.code-toolbar > .toolbar {\n\t position: absolute;\n\t top: .3em;\n\t right: .2em;\n\t transition: opacity 0.3s ease-in-out;\n\t opacity: 0;\n }\n \n div.code-toolbar:hover > .toolbar {\n\t opacity: 1;\n }\n \n /* Separate line b/c rules are thrown out if selector is invalid.\n\tIE11 and old Edge versions don't support :focus-within. */\n div.code-toolbar:focus-within > .toolbar {\n\t opacity: 1;\n }\n \n div.code-toolbar > .toolbar .toolbar-item {\n\t display: inline-block;\n }\n \n div.code-toolbar > .toolbar a {\n\t cursor: pointer;\n }\n \n div.code-toolbar > .toolbar button {\n\t background: none;\n\t border: 0;\n\t color: inherit;\n\t font: inherit;\n\t line-height: normal;\n\t overflow: visible;\n\t padding: 0;\n\t -webkit-user-select: none; /* for button */\n\t -moz-user-select: none;\n\t -ms-user-select: none;\n }\n \n div.code-toolbar > .toolbar a,\n div.code-toolbar > .toolbar button,\n div.code-toolbar > .toolbar span {\n\t color: #bbb;\n\t font-size: .8em;\n\t padding: 0 .5em;\n\t background: #f5f2f0;\n\t background: rgba(224, 224, 224, 0.2);\n\t box-shadow: 0 2px 0 0 rgba(0,0,0,0.2);\n\t border-radius: .5em;\n }\n \n div.code-toolbar > .toolbar a:hover,\n div.code-toolbar > .toolbar a:focus,\n div.code-toolbar > .toolbar button:hover,\n div.code-toolbar > .toolbar button:focus,\n div.code-toolbar > .toolbar span:hover,\n div.code-toolbar > .toolbar span:focus {\n\t color: inherit;\n\t text-decoration: none;\n } "
  },
  {
    "path": "index.html",
    "content": "<html>\n\n<head>\n    <title>Happy Birthday</title>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <link rel=\"stylesheet\" href=\"css/bootstrap.min.css\">\n    <link rel=\"stylesheet\" href=\"style.css\">\n</head>\n\n<body>\n    <div class=\"container\">\n        <div class=\"row\">\n            <div class=\"loader\">\n                <button id=\"play\">Start</button>\n            </div>\n        </div>\n    </div>\n    <audio class=\"song\" controls loop>\n        <source src=\"music.mp3\">\n        </source>\n        Your browser isn't invited for super fun audio time.\n    </audio>\n    <canvas id=\"confetti\"></canvas>\n    <div class=\"main\">\n        <div class=\"container pt-5\">\n            <div class=\"row\">\n\n                <div class=\"col-12 col-xl-6 mx-auto\">\n                    <img src=\"img/banner.png\" alt=\"\">\n                </div>\n\n                <div class=\"col-12  text-center\">\n                    <div id=\"name\" class=\"area\">Gaurav</div>\n                </div>\n\n                <div class=\"col-12 text-center\">\n                    <div class=\"type-wrap\">\n                        <div id=\"typed-strings\" class=\"typing\">\n                            <h2>Happy Birthday <i id=\"nae\">Gaurav</i></h2>\n                            <h2>Have a wonderful day</h2>\n                            <h2>Filled with joy and happiness.</h2>\n                        </div>\n                        <span id=\"typed\" style=\"white-space:pre;\"></span>\n                    </div>\n                </div>\n\n                <div class=\"col-12 col-xl-3 cake\">\n                    <img src=\"img/cake.gif\" alt=\"\">\n                </div>\n            </div>\n        </div>\n        <img src=\"img/Balloon-Border.png\" width=\"100%\" class=\"balloon-border\">\n    </div>\n</body>\n<script src=\"https://unpkg.com/magic-snowflakes/dist/snowflakes.min.js\"></script>\n<script src=\"js/jquery.js\"></script>\n<script src=\"js/typed.min.js\"></script>\n<script src=\"js/script.js\"></script>\n\n</html>"
  },
  {
    "path": "js/jquery.js",
    "content": "/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */ ! function(a, b) {\n    \"object\" == typeof module && \"object\" == typeof module.exports ? module.exports = a.document ? b(a, !0) : function(a) {\n        if (!a.document) throw new Error(\"jQuery requires a window with a document\");\n        return b(a)\n    } : b(a)\n}(\"undefined\" != typeof window ? window : this, function(a, b) {\n    var c = [],\n        d = a.document,\n        e = c.slice,\n        f = c.concat,\n        g = c.push,\n        h = c.indexOf,\n        i = {},\n        j = i.toString,\n        k = i.hasOwnProperty,\n        l = {},\n        m = \"2.2.4\",\n        n = function(a, b) {\n            return new n.fn.init(a, b)\n        },\n        o = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n        p = /^-ms-/,\n        q = /-([\\da-z])/gi,\n        r = function(a, b) {\n            return b.toUpperCase()\n        };\n    n.fn = n.prototype = {\n        jquery: m,\n        constructor: n,\n        selector: \"\",\n        length: 0,\n        toArray: function() {\n            return e.call(this)\n        },\n        get: function(a) {\n            return null != a ? 0 > a ? this[a + this.length] : this[a] : e.call(this)\n        },\n        pushStack: function(a) {\n            var b = n.merge(this.constructor(), a);\n            return b.prevObject = this, b.context = this.context, b\n        },\n        each: function(a) {\n            return n.each(this, a)\n        },\n        map: function(a) {\n            return this.pushStack(n.map(this, function(b, c) {\n                return a.call(b, c, b)\n            }))\n        },\n        slice: function() {\n            return this.pushStack(e.apply(this, arguments))\n        },\n        first: function() {\n            return this.eq(0)\n        },\n        last: function() {\n            return this.eq(-1)\n        },\n        eq: function(a) {\n            var b = this.length,\n                c = +a + (0 > a ? b : 0);\n            return this.pushStack(c >= 0 && b > c ? [this[c]] : [])\n        },\n        end: function() {\n            return this.prevObject || this.constructor()\n        },\n        push: g,\n        sort: c.sort,\n        splice: c.splice\n    }, n.extend = n.fn.extend = function() {\n        var a, b, c, d, e, f, g = arguments[0] || {},\n            h = 1,\n            i = arguments.length,\n            j = !1;\n        for (\"boolean\" == typeof g && (j = g, g = arguments[h] || {}, h++), \"object\" == typeof g || n.isFunction(g) || (g = {}), h === i && (g = this, h--); i > h; h++)\n            if (null != (a = arguments[h]))\n                for (b in a) c = g[b], d = a[b], g !== d && (j && d && (n.isPlainObject(d) || (e = n.isArray(d))) ? (e ? (e = !1, f = c && n.isArray(c) ? c : []) : f = c && n.isPlainObject(c) ? c : {}, g[b] = n.extend(j, f, d)) : void 0 !== d && (g[b] = d));\n        return g\n    }, n.extend({\n        expando: \"jQuery\" + (m + Math.random()).replace(/\\D/g, \"\"),\n        isReady: !0,\n        error: function(a) {\n            throw new Error(a)\n        },\n        noop: function() {},\n        isFunction: function(a) {\n            return \"function\" === n.type(a)\n        },\n        isArray: Array.isArray,\n        isWindow: function(a) {\n            return null != a && a === a.window\n        },\n        isNumeric: function(a) {\n            var b = a && a.toString();\n            return !n.isArray(a) && b - parseFloat(b) + 1 >= 0\n        },\n        isPlainObject: function(a) {\n            var b;\n            if (\"object\" !== n.type(a) || a.nodeType || n.isWindow(a)) return !1;\n            if (a.constructor && !k.call(a, \"constructor\") && !k.call(a.constructor.prototype || {}, \"isPrototypeOf\")) return !1;\n            for (b in a);\n            return void 0 === b || k.call(a, b)\n        },\n        isEmptyObject: function(a) {\n            var b;\n            for (b in a) return !1;\n            return !0\n        },\n        type: function(a) {\n            return null == a ? a + \"\" : \"object\" == typeof a || \"function\" == typeof a ? i[j.call(a)] || \"object\" : typeof a\n        },\n        globalEval: function(a) {\n            var b, c = eval;\n            a = n.trim(a), a && (1 === a.indexOf(\"use strict\") ? (b = d.createElement(\"script\"), b.text = a, d.head.appendChild(b).parentNode.removeChild(b)) : c(a))\n        },\n        camelCase: function(a) {\n            return a.replace(p, \"ms-\").replace(q, r)\n        },\n        nodeName: function(a, b) {\n            return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase()\n        },\n        each: function(a, b) {\n            var c, d = 0;\n            if (s(a)) {\n                for (c = a.length; c > d; d++)\n                    if (b.call(a[d], d, a[d]) === !1) break\n            } else\n                for (d in a)\n                    if (b.call(a[d], d, a[d]) === !1) break;\n            return a\n        },\n        trim: function(a) {\n            return null == a ? \"\" : (a + \"\").replace(o, \"\")\n        },\n        makeArray: function(a, b) {\n            var c = b || [];\n            return null != a && (s(Object(a)) ? n.merge(c, \"string\" == typeof a ? [a] : a) : g.call(c, a)), c\n        },\n        inArray: function(a, b, c) {\n            return null == b ? -1 : h.call(b, a, c)\n        },\n        merge: function(a, b) {\n            for (var c = +b.length, d = 0, e = a.length; c > d; d++) a[e++] = b[d];\n            return a.length = e, a\n        },\n        grep: function(a, b, c) {\n            for (var d, e = [], f = 0, g = a.length, h = !c; g > f; f++) d = !b(a[f], f), d !== h && e.push(a[f]);\n            return e\n        },\n        map: function(a, b, c) {\n            var d, e, g = 0,\n                h = [];\n            if (s(a))\n                for (d = a.length; d > g; g++) e = b(a[g], g, c), null != e && h.push(e);\n            else\n                for (g in a) e = b(a[g], g, c), null != e && h.push(e);\n            return f.apply([], h)\n        },\n        guid: 1,\n        proxy: function(a, b) {\n            var c, d, f;\n            return \"string\" == typeof b && (c = a[b], b = a, a = c), n.isFunction(a) ? (d = e.call(arguments, 2), f = function() {\n                return a.apply(b || this, d.concat(e.call(arguments)))\n            }, f.guid = a.guid = a.guid || n.guid++, f) : void 0\n        },\n        now: Date.now,\n        support: l\n    }), \"function\" == typeof Symbol && (n.fn[Symbol.iterator] = c[Symbol.iterator]), n.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"), function(a, b) {\n        i[\"[object \" + b + \"]\"] = b.toLowerCase()\n    });\n\n    function s(a) {\n        var b = !!a && \"length\" in a && a.length,\n            c = n.type(a);\n        return \"function\" === c || n.isWindow(a) ? !1 : \"array\" === c || 0 === b || \"number\" == typeof b && b > 0 && b - 1 in a\n    }\n    var t = function(a) {\n        var b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = \"sizzle\" + 1 * new Date,\n            v = a.document,\n            w = 0,\n            x = 0,\n            y = ga(),\n            z = ga(),\n            A = ga(),\n            B = function(a, b) {\n                return a === b && (l = !0), 0\n            },\n            C = 1 << 31,\n            D = {}.hasOwnProperty,\n            E = [],\n            F = E.pop,\n            G = E.push,\n            H = E.push,\n            I = E.slice,\n            J = function(a, b) {\n                for (var c = 0, d = a.length; d > c; c++)\n                    if (a[c] === b) return c;\n                return -1\n            },\n            K = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n            L = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n            M = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n            N = \"\\\\[\" + L + \"*(\" + M + \")(?:\" + L + \"*([*^$|!~]?=)\" + L + \"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + M + \"))|)\" + L + \"*\\\\]\",\n            O = \":(\" + M + \")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + N + \")*)|.*)\\\\)|)\",\n            P = new RegExp(L + \"+\", \"g\"),\n            Q = new RegExp(\"^\" + L + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + L + \"+$\", \"g\"),\n            R = new RegExp(\"^\" + L + \"*,\" + L + \"*\"),\n            S = new RegExp(\"^\" + L + \"*([>+~]|\" + L + \")\" + L + \"*\"),\n            T = new RegExp(\"=\" + L + \"*([^\\\\]'\\\"]*?)\" + L + \"*\\\\]\", \"g\"),\n            U = new RegExp(O),\n            V = new RegExp(\"^\" + M + \"$\"),\n            W = {\n                ID: new RegExp(\"^#(\" + M + \")\"),\n                CLASS: new RegExp(\"^\\\\.(\" + M + \")\"),\n                TAG: new RegExp(\"^(\" + M + \"|[*])\"),\n                ATTR: new RegExp(\"^\" + N),\n                PSEUDO: new RegExp(\"^\" + O),\n                CHILD: new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + L + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + L + \"*(?:([+-]|)\" + L + \"*(\\\\d+)|))\" + L + \"*\\\\)|)\", \"i\"),\n                bool: new RegExp(\"^(?:\" + K + \")$\", \"i\"),\n                needsContext: new RegExp(\"^\" + L + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + L + \"*((?:-\\\\d)?\\\\d*)\" + L + \"*\\\\)|)(?=[^-]|$)\", \"i\")\n            },\n            X = /^(?:input|select|textarea|button)$/i,\n            Y = /^h\\d$/i,\n            Z = /^[^{]+\\{\\s*\\[native \\w/,\n            $ = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n            _ = /[+~]/,\n            aa = /'|\\\\/g,\n            ba = new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\" + L + \"?|(\" + L + \")|.)\", \"ig\"),\n            ca = function(a, b, c) {\n                var d = \"0x\" + b - 65536;\n                return d !== d || c ? b : 0 > d ? String.fromCharCode(d + 65536) : String.fromCharCode(d >> 10 | 55296, 1023 & d | 56320)\n            },\n            da = function() {\n                m()\n            };\n        try {\n            H.apply(E = I.call(v.childNodes), v.childNodes), E[v.childNodes.length].nodeType\n        } catch (ea) {\n            H = {\n                apply: E.length ? function(a, b) {\n                    G.apply(a, I.call(b))\n                } : function(a, b) {\n                    var c = a.length,\n                        d = 0;\n                    while (a[c++] = b[d++]);\n                    a.length = c - 1\n                }\n            }\n        }\n\n        function fa(a, b, d, e) {\n            var f, h, j, k, l, o, r, s, w = b && b.ownerDocument,\n                x = b ? b.nodeType : 9;\n            if (d = d || [], \"string\" != typeof a || !a || 1 !== x && 9 !== x && 11 !== x) return d;\n            if (!e && ((b ? b.ownerDocument || b : v) !== n && m(b), b = b || n, p)) {\n                if (11 !== x && (o = $.exec(a)))\n                    if (f = o[1]) {\n                        if (9 === x) {\n                            if (!(j = b.getElementById(f))) return d;\n                            if (j.id === f) return d.push(j), d\n                        } else if (w && (j = w.getElementById(f)) && t(b, j) && j.id === f) return d.push(j), d\n                    } else {\n                        if (o[2]) return H.apply(d, b.getElementsByTagName(a)), d;\n                        if ((f = o[3]) && c.getElementsByClassName && b.getElementsByClassName) return H.apply(d, b.getElementsByClassName(f)), d\n                    }\n                if (c.qsa && !A[a + \" \"] && (!q || !q.test(a))) {\n                    if (1 !== x) w = b, s = a;\n                    else if (\"object\" !== b.nodeName.toLowerCase()) {\n                        (k = b.getAttribute(\"id\")) ? k = k.replace(aa, \"\\\\$&\"): b.setAttribute(\"id\", k = u), r = g(a), h = r.length, l = V.test(k) ? \"#\" + k : \"[id='\" + k + \"']\";\n                        while (h--) r[h] = l + \" \" + qa(r[h]);\n                        s = r.join(\",\"), w = _.test(a) && oa(b.parentNode) || b\n                    }\n                    if (s) try {\n                        return H.apply(d, w.querySelectorAll(s)), d\n                    } catch (y) {} finally {\n                        k === u && b.removeAttribute(\"id\")\n                    }\n                }\n            }\n            return i(a.replace(Q, \"$1\"), b, d, e)\n        }\n\n        function ga() {\n            var a = [];\n\n            function b(c, e) {\n                return a.push(c + \" \") > d.cacheLength && delete b[a.shift()], b[c + \" \"] = e\n            }\n            return b\n        }\n\n        function ha(a) {\n            return a[u] = !0, a\n        }\n\n        function ia(a) {\n            var b = n.createElement(\"div\");\n            try {\n                return !!a(b)\n            } catch (c) {\n                return !1\n            } finally {\n                b.parentNode && b.parentNode.removeChild(b), b = null\n            }\n        }\n\n        function ja(a, b) {\n            var c = a.split(\"|\"),\n                e = c.length;\n            while (e--) d.attrHandle[c[e]] = b\n        }\n\n        function ka(a, b) {\n            var c = b && a,\n                d = c && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || C) - (~a.sourceIndex || C);\n            if (d) return d;\n            if (c)\n                while (c = c.nextSibling)\n                    if (c === b) return -1;\n            return a ? 1 : -1\n        }\n\n        function la(a) {\n            return function(b) {\n                var c = b.nodeName.toLowerCase();\n                return \"input\" === c && b.type === a\n            }\n        }\n\n        function ma(a) {\n            return function(b) {\n                var c = b.nodeName.toLowerCase();\n                return (\"input\" === c || \"button\" === c) && b.type === a\n            }\n        }\n\n        function na(a) {\n            return ha(function(b) {\n                return b = +b, ha(function(c, d) {\n                    var e, f = a([], c.length, b),\n                        g = f.length;\n                    while (g--) c[e = f[g]] && (c[e] = !(d[e] = c[e]))\n                })\n            })\n        }\n\n        function oa(a) {\n            return a && \"undefined\" != typeof a.getElementsByTagName && a\n        }\n        c = fa.support = {}, f = fa.isXML = function(a) {\n            var b = a && (a.ownerDocument || a).documentElement;\n            return b ? \"HTML\" !== b.nodeName : !1\n        }, m = fa.setDocument = function(a) {\n            var b, e, g = a ? a.ownerDocument || a : v;\n            return g !== n && 9 === g.nodeType && g.documentElement ? (n = g, o = n.documentElement, p = !f(n), (e = n.defaultView) && e.top !== e && (e.addEventListener ? e.addEventListener(\"unload\", da, !1) : e.attachEvent && e.attachEvent(\"onunload\", da)), c.attributes = ia(function(a) {\n                return a.className = \"i\", !a.getAttribute(\"className\")\n            }), c.getElementsByTagName = ia(function(a) {\n                return a.appendChild(n.createComment(\"\")), !a.getElementsByTagName(\"*\").length\n            }), c.getElementsByClassName = Z.test(n.getElementsByClassName), c.getById = ia(function(a) {\n                return o.appendChild(a).id = u, !n.getElementsByName || !n.getElementsByName(u).length\n            }), c.getById ? (d.find.ID = function(a, b) {\n                if (\"undefined\" != typeof b.getElementById && p) {\n                    var c = b.getElementById(a);\n                    return c ? [c] : []\n                }\n            }, d.filter.ID = function(a) {\n                var b = a.replace(ba, ca);\n                return function(a) {\n                    return a.getAttribute(\"id\") === b\n                }\n            }) : (delete d.find.ID, d.filter.ID = function(a) {\n                var b = a.replace(ba, ca);\n                return function(a) {\n                    var c = \"undefined\" != typeof a.getAttributeNode && a.getAttributeNode(\"id\");\n                    return c && c.value === b\n                }\n            }), d.find.TAG = c.getElementsByTagName ? function(a, b) {\n                return \"undefined\" != typeof b.getElementsByTagName ? b.getElementsByTagName(a) : c.qsa ? b.querySelectorAll(a) : void 0\n            } : function(a, b) {\n                var c, d = [],\n                    e = 0,\n                    f = b.getElementsByTagName(a);\n                if (\"*\" === a) {\n                    while (c = f[e++]) 1 === c.nodeType && d.push(c);\n                    return d\n                }\n                return f\n            }, d.find.CLASS = c.getElementsByClassName && function(a, b) {\n                return \"undefined\" != typeof b.getElementsByClassName && p ? b.getElementsByClassName(a) : void 0\n            }, r = [], q = [], (c.qsa = Z.test(n.querySelectorAll)) && (ia(function(a) {\n                o.appendChild(a).innerHTML = \"<a id='\" + u + \"'></a><select id='\" + u + \"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\", a.querySelectorAll(\"[msallowcapture^='']\").length && q.push(\"[*^$]=\" + L + \"*(?:''|\\\"\\\")\"), a.querySelectorAll(\"[selected]\").length || q.push(\"\\\\[\" + L + \"*(?:value|\" + K + \")\"), a.querySelectorAll(\"[id~=\" + u + \"-]\").length || q.push(\"~=\"), a.querySelectorAll(\":checked\").length || q.push(\":checked\"), a.querySelectorAll(\"a#\" + u + \"+*\").length || q.push(\".#.+[+~]\")\n            }), ia(function(a) {\n                var b = n.createElement(\"input\");\n                b.setAttribute(\"type\", \"hidden\"), a.appendChild(b).setAttribute(\"name\", \"D\"), a.querySelectorAll(\"[name=d]\").length && q.push(\"name\" + L + \"*[*^$|!~]?=\"), a.querySelectorAll(\":enabled\").length || q.push(\":enabled\", \":disabled\"), a.querySelectorAll(\"*,:x\"), q.push(\",.*:\")\n            })), (c.matchesSelector = Z.test(s = o.matches || o.webkitMatchesSelector || o.mozMatchesSelector || o.oMatchesSelector || o.msMatchesSelector)) && ia(function(a) {\n                c.disconnectedMatch = s.call(a, \"div\"), s.call(a, \"[s!='']:x\"), r.push(\"!=\", O)\n            }), q = q.length && new RegExp(q.join(\"|\")), r = r.length && new RegExp(r.join(\"|\")), b = Z.test(o.compareDocumentPosition), t = b || Z.test(o.contains) ? function(a, b) {\n                var c = 9 === a.nodeType ? a.documentElement : a,\n                    d = b && b.parentNode;\n                return a === d || !(!d || 1 !== d.nodeType || !(c.contains ? c.contains(d) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(d)))\n            } : function(a, b) {\n                if (b)\n                    while (b = b.parentNode)\n                        if (b === a) return !0;\n                return !1\n            }, B = b ? function(a, b) {\n                if (a === b) return l = !0, 0;\n                var d = !a.compareDocumentPosition - !b.compareDocumentPosition;\n                return d ? d : (d = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1, 1 & d || !c.sortDetached && b.compareDocumentPosition(a) === d ? a === n || a.ownerDocument === v && t(v, a) ? -1 : b === n || b.ownerDocument === v && t(v, b) ? 1 : k ? J(k, a) - J(k, b) : 0 : 4 & d ? -1 : 1)\n            } : function(a, b) {\n                if (a === b) return l = !0, 0;\n                var c, d = 0,\n                    e = a.parentNode,\n                    f = b.parentNode,\n                    g = [a],\n                    h = [b];\n                if (!e || !f) return a === n ? -1 : b === n ? 1 : e ? -1 : f ? 1 : k ? J(k, a) - J(k, b) : 0;\n                if (e === f) return ka(a, b);\n                c = a;\n                while (c = c.parentNode) g.unshift(c);\n                c = b;\n                while (c = c.parentNode) h.unshift(c);\n                while (g[d] === h[d]) d++;\n                return d ? ka(g[d], h[d]) : g[d] === v ? -1 : h[d] === v ? 1 : 0\n            }, n) : n\n        }, fa.matches = function(a, b) {\n            return fa(a, null, null, b)\n        }, fa.matchesSelector = function(a, b) {\n            if ((a.ownerDocument || a) !== n && m(a), b = b.replace(T, \"='$1']\"), c.matchesSelector && p && !A[b + \" \"] && (!r || !r.test(b)) && (!q || !q.test(b))) try {\n                var d = s.call(a, b);\n                if (d || c.disconnectedMatch || a.document && 11 !== a.document.nodeType) return d\n            } catch (e) {}\n            return fa(b, n, null, [a]).length > 0\n        }, fa.contains = function(a, b) {\n            return (a.ownerDocument || a) !== n && m(a), t(a, b)\n        }, fa.attr = function(a, b) {\n            (a.ownerDocument || a) !== n && m(a);\n            var e = d.attrHandle[b.toLowerCase()],\n                f = e && D.call(d.attrHandle, b.toLowerCase()) ? e(a, b, !p) : void 0;\n            return void 0 !== f ? f : c.attributes || !p ? a.getAttribute(b) : (f = a.getAttributeNode(b)) && f.specified ? f.value : null\n        }, fa.error = function(a) {\n            throw new Error(\"Syntax error, unrecognized expression: \" + a)\n        }, fa.uniqueSort = function(a) {\n            var b, d = [],\n                e = 0,\n                f = 0;\n            if (l = !c.detectDuplicates, k = !c.sortStable && a.slice(0), a.sort(B), l) {\n                while (b = a[f++]) b === a[f] && (e = d.push(f));\n                while (e--) a.splice(d[e], 1)\n            }\n            return k = null, a\n        }, e = fa.getText = function(a) {\n            var b, c = \"\",\n                d = 0,\n                f = a.nodeType;\n            if (f) {\n                if (1 === f || 9 === f || 11 === f) {\n                    if (\"string\" == typeof a.textContent) return a.textContent;\n                    for (a = a.firstChild; a; a = a.nextSibling) c += e(a)\n                } else if (3 === f || 4 === f) return a.nodeValue\n            } else\n                while (b = a[d++]) c += e(b);\n            return c\n        }, d = fa.selectors = {\n            cacheLength: 50,\n            createPseudo: ha,\n            match: W,\n            attrHandle: {},\n            find: {},\n            relative: {\n                \">\": {\n                    dir: \"parentNode\",\n                    first: !0\n                },\n                \" \": {\n                    dir: \"parentNode\"\n                },\n                \"+\": {\n                    dir: \"previousSibling\",\n                    first: !0\n                },\n                \"~\": {\n                    dir: \"previousSibling\"\n                }\n            },\n            preFilter: {\n                ATTR: function(a) {\n                    return a[1] = a[1].replace(ba, ca), a[3] = (a[3] || a[4] || a[5] || \"\").replace(ba, ca), \"~=\" === a[2] && (a[3] = \" \" + a[3] + \" \"), a.slice(0, 4)\n                },\n                CHILD: function(a) {\n                    return a[1] = a[1].toLowerCase(), \"nth\" === a[1].slice(0, 3) ? (a[3] || fa.error(a[0]), a[4] = +(a[4] ? a[5] + (a[6] || 1) : 2 * (\"even\" === a[3] || \"odd\" === a[3])), a[5] = +(a[7] + a[8] || \"odd\" === a[3])) : a[3] && fa.error(a[0]), a\n                },\n                PSEUDO: function(a) {\n                    var b, c = !a[6] && a[2];\n                    return W.CHILD.test(a[0]) ? null : (a[3] ? a[2] = a[4] || a[5] || \"\" : c && U.test(c) && (b = g(c, !0)) && (b = c.indexOf(\")\", c.length - b) - c.length) && (a[0] = a[0].slice(0, b), a[2] = c.slice(0, b)), a.slice(0, 3))\n                }\n            },\n            filter: {\n                TAG: function(a) {\n                    var b = a.replace(ba, ca).toLowerCase();\n                    return \"*\" === a ? function() {\n                        return !0\n                    } : function(a) {\n                        return a.nodeName && a.nodeName.toLowerCase() === b\n                    }\n                },\n                CLASS: function(a) {\n                    var b = y[a + \" \"];\n                    return b || (b = new RegExp(\"(^|\" + L + \")\" + a + \"(\" + L + \"|$)\")) && y(a, function(a) {\n                        return b.test(\"string\" == typeof a.className && a.className || \"undefined\" != typeof a.getAttribute && a.getAttribute(\"class\") || \"\")\n                    })\n                },\n                ATTR: function(a, b, c) {\n                    return function(d) {\n                        var e = fa.attr(d, a);\n                        return null == e ? \"!=\" === b : b ? (e += \"\", \"=\" === b ? e === c : \"!=\" === b ? e !== c : \"^=\" === b ? c && 0 === e.indexOf(c) : \"*=\" === b ? c && e.indexOf(c) > -1 : \"$=\" === b ? c && e.slice(-c.length) === c : \"~=\" === b ? (\" \" + e.replace(P, \" \") + \" \").indexOf(c) > -1 : \"|=\" === b ? e === c || e.slice(0, c.length + 1) === c + \"-\" : !1) : !0\n                    }\n                },\n                CHILD: function(a, b, c, d, e) {\n                    var f = \"nth\" !== a.slice(0, 3),\n                        g = \"last\" !== a.slice(-4),\n                        h = \"of-type\" === b;\n                    return 1 === d && 0 === e ? function(a) {\n                        return !!a.parentNode\n                    } : function(b, c, i) {\n                        var j, k, l, m, n, o, p = f !== g ? \"nextSibling\" : \"previousSibling\",\n                            q = b.parentNode,\n                            r = h && b.nodeName.toLowerCase(),\n                            s = !i && !h,\n                            t = !1;\n                        if (q) {\n                            if (f) {\n                                while (p) {\n                                    m = b;\n                                    while (m = m[p])\n                                        if (h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) return !1;\n                                    o = p = \"only\" === a && !o && \"nextSibling\"\n                                }\n                                return !0\n                            }\n                            if (o = [g ? q.firstChild : q.lastChild], g && s) {\n                                m = q, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n && j[2], m = n && q.childNodes[n];\n                                while (m = ++n && m && m[p] || (t = n = 0) || o.pop())\n                                    if (1 === m.nodeType && ++t && m === b) {\n                                        k[a] = [w, n, t];\n                                        break\n                                    }\n                            } else if (s && (m = b, l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), j = k[a] || [], n = j[0] === w && j[1], t = n), t === !1)\n                                while (m = ++n && m && m[p] || (t = n = 0) || o.pop())\n                                    if ((h ? m.nodeName.toLowerCase() === r : 1 === m.nodeType) && ++t && (s && (l = m[u] || (m[u] = {}), k = l[m.uniqueID] || (l[m.uniqueID] = {}), k[a] = [w, t]), m === b)) break;\n                            return t -= e, t === d || t % d === 0 && t / d >= 0\n                        }\n                    }\n                },\n                PSEUDO: function(a, b) {\n                    var c, e = d.pseudos[a] || d.setFilters[a.toLowerCase()] || fa.error(\"unsupported pseudo: \" + a);\n                    return e[u] ? e(b) : e.length > 1 ? (c = [a, a, \"\", b], d.setFilters.hasOwnProperty(a.toLowerCase()) ? ha(function(a, c) {\n                        var d, f = e(a, b),\n                            g = f.length;\n                        while (g--) d = J(a, f[g]), a[d] = !(c[d] = f[g])\n                    }) : function(a) {\n                        return e(a, 0, c)\n                    }) : e\n                }\n            },\n            pseudos: {\n                not: ha(function(a) {\n                    var b = [],\n                        c = [],\n                        d = h(a.replace(Q, \"$1\"));\n                    return d[u] ? ha(function(a, b, c, e) {\n                        var f, g = d(a, null, e, []),\n                            h = a.length;\n                        while (h--)(f = g[h]) && (a[h] = !(b[h] = f))\n                    }) : function(a, e, f) {\n                        return b[0] = a, d(b, null, f, c), b[0] = null, !c.pop()\n                    }\n                }),\n                has: ha(function(a) {\n                    return function(b) {\n                        return fa(a, b).length > 0\n                    }\n                }),\n                contains: ha(function(a) {\n                    return a = a.replace(ba, ca),\n                        function(b) {\n                            return (b.textContent || b.innerText || e(b)).indexOf(a) > -1\n                        }\n                }),\n                lang: ha(function(a) {\n                    return V.test(a || \"\") || fa.error(\"unsupported lang: \" + a), a = a.replace(ba, ca).toLowerCase(),\n                        function(b) {\n                            var c;\n                            do\n                                if (c = p ? b.lang : b.getAttribute(\"xml:lang\") || b.getAttribute(\"lang\")) return c = c.toLowerCase(), c === a || 0 === c.indexOf(a + \"-\");\n                            while ((b = b.parentNode) && 1 === b.nodeType);\n                            return !1\n                        }\n                }),\n                target: function(b) {\n                    var c = a.location && a.location.hash;\n                    return c && c.slice(1) === b.id\n                },\n                root: function(a) {\n                    return a === o\n                },\n                focus: function(a) {\n                    return a === n.activeElement && (!n.hasFocus || n.hasFocus()) && !!(a.type || a.href || ~a.tabIndex)\n                },\n                enabled: function(a) {\n                    return a.disabled === !1\n                },\n                disabled: function(a) {\n                    return a.disabled === !0\n                },\n                checked: function(a) {\n                    var b = a.nodeName.toLowerCase();\n                    return \"input\" === b && !!a.checked || \"option\" === b && !!a.selected\n                },\n                selected: function(a) {\n                    return a.parentNode && a.parentNode.selectedIndex, a.selected === !0\n                },\n                empty: function(a) {\n                    for (a = a.firstChild; a; a = a.nextSibling)\n                        if (a.nodeType < 6) return !1;\n                    return !0\n                },\n                parent: function(a) {\n                    return !d.pseudos.empty(a)\n                },\n                header: function(a) {\n                    return Y.test(a.nodeName)\n                },\n                input: function(a) {\n                    return X.test(a.nodeName)\n                },\n                button: function(a) {\n                    var b = a.nodeName.toLowerCase();\n                    return \"input\" === b && \"button\" === a.type || \"button\" === b\n                },\n                text: function(a) {\n                    var b;\n                    return \"input\" === a.nodeName.toLowerCase() && \"text\" === a.type && (null == (b = a.getAttribute(\"type\")) || \"text\" === b.toLowerCase())\n                },\n                first: na(function() {\n                    return [0]\n                }),\n                last: na(function(a, b) {\n                    return [b - 1]\n                }),\n                eq: na(function(a, b, c) {\n                    return [0 > c ? c + b : c]\n                }),\n                even: na(function(a, b) {\n                    for (var c = 0; b > c; c += 2) a.push(c);\n                    return a\n                }),\n                odd: na(function(a, b) {\n                    for (var c = 1; b > c; c += 2) a.push(c);\n                    return a\n                }),\n                lt: na(function(a, b, c) {\n                    for (var d = 0 > c ? c + b : c; --d >= 0;) a.push(d);\n                    return a\n                }),\n                gt: na(function(a, b, c) {\n                    for (var d = 0 > c ? c + b : c; ++d < b;) a.push(d);\n                    return a\n                })\n            }\n        }, d.pseudos.nth = d.pseudos.eq;\n        for (b in {\n                radio: !0,\n                checkbox: !0,\n                file: !0,\n                password: !0,\n                image: !0\n            }) d.pseudos[b] = la(b);\n        for (b in {\n                submit: !0,\n                reset: !0\n            }) d.pseudos[b] = ma(b);\n\n        function pa() {}\n        pa.prototype = d.filters = d.pseudos, d.setFilters = new pa, g = fa.tokenize = function(a, b) {\n            var c, e, f, g, h, i, j, k = z[a + \" \"];\n            if (k) return b ? 0 : k.slice(0);\n            h = a, i = [], j = d.preFilter;\n            while (h) {\n                c && !(e = R.exec(h)) || (e && (h = h.slice(e[0].length) || h), i.push(f = [])), c = !1, (e = S.exec(h)) && (c = e.shift(), f.push({\n                    value: c,\n                    type: e[0].replace(Q, \" \")\n                }), h = h.slice(c.length));\n                for (g in d.filter) !(e = W[g].exec(h)) || j[g] && !(e = j[g](e)) || (c = e.shift(), f.push({\n                    value: c,\n                    type: g,\n                    matches: e\n                }), h = h.slice(c.length));\n                if (!c) break\n            }\n            return b ? h.length : h ? fa.error(a) : z(a, i).slice(0)\n        };\n\n        function qa(a) {\n            for (var b = 0, c = a.length, d = \"\"; c > b; b++) d += a[b].value;\n            return d\n        }\n\n        function ra(a, b, c) {\n            var d = b.dir,\n                e = c && \"parentNode\" === d,\n                f = x++;\n            return b.first ? function(b, c, f) {\n                while (b = b[d])\n                    if (1 === b.nodeType || e) return a(b, c, f)\n            } : function(b, c, g) {\n                var h, i, j, k = [w, f];\n                if (g) {\n                    while (b = b[d])\n                        if ((1 === b.nodeType || e) && a(b, c, g)) return !0\n                } else\n                    while (b = b[d])\n                        if (1 === b.nodeType || e) {\n                            if (j = b[u] || (b[u] = {}), i = j[b.uniqueID] || (j[b.uniqueID] = {}), (h = i[d]) && h[0] === w && h[1] === f) return k[2] = h[2];\n                            if (i[d] = k, k[2] = a(b, c, g)) return !0\n                        }\n            }\n        }\n\n        function sa(a) {\n            return a.length > 1 ? function(b, c, d) {\n                var e = a.length;\n                while (e--)\n                    if (!a[e](b, c, d)) return !1;\n                return !0\n            } : a[0]\n        }\n\n        function ta(a, b, c) {\n            for (var d = 0, e = b.length; e > d; d++) fa(a, b[d], c);\n            return c\n        }\n\n        function ua(a, b, c, d, e) {\n            for (var f, g = [], h = 0, i = a.length, j = null != b; i > h; h++)(f = a[h]) && (c && !c(f, d, e) || (g.push(f), j && b.push(h)));\n            return g\n        }\n\n        function va(a, b, c, d, e, f) {\n            return d && !d[u] && (d = va(d)), e && !e[u] && (e = va(e, f)), ha(function(f, g, h, i) {\n                var j, k, l, m = [],\n                    n = [],\n                    o = g.length,\n                    p = f || ta(b || \"*\", h.nodeType ? [h] : h, []),\n                    q = !a || !f && b ? p : ua(p, m, a, h, i),\n                    r = c ? e || (f ? a : o || d) ? [] : g : q;\n                if (c && c(q, r, h, i), d) {\n                    j = ua(r, n), d(j, [], h, i), k = j.length;\n                    while (k--)(l = j[k]) && (r[n[k]] = !(q[n[k]] = l))\n                }\n                if (f) {\n                    if (e || a) {\n                        if (e) {\n                            j = [], k = r.length;\n                            while (k--)(l = r[k]) && j.push(q[k] = l);\n                            e(null, r = [], j, i)\n                        }\n                        k = r.length;\n                        while (k--)(l = r[k]) && (j = e ? J(f, l) : m[k]) > -1 && (f[j] = !(g[j] = l))\n                    }\n                } else r = ua(r === g ? r.splice(o, r.length) : r), e ? e(null, g, r, i) : H.apply(g, r)\n            })\n        }\n\n        function wa(a) {\n            for (var b, c, e, f = a.length, g = d.relative[a[0].type], h = g || d.relative[\" \"], i = g ? 1 : 0, k = ra(function(a) {\n                    return a === b\n                }, h, !0), l = ra(function(a) {\n                    return J(b, a) > -1\n                }, h, !0), m = [function(a, c, d) {\n                    var e = !g && (d || c !== j) || ((b = c).nodeType ? k(a, c, d) : l(a, c, d));\n                    return b = null, e\n                }]; f > i; i++)\n                if (c = d.relative[a[i].type]) m = [ra(sa(m), c)];\n                else {\n                    if (c = d.filter[a[i].type].apply(null, a[i].matches), c[u]) {\n                        for (e = ++i; f > e; e++)\n                            if (d.relative[a[e].type]) break;\n                        return va(i > 1 && sa(m), i > 1 && qa(a.slice(0, i - 1).concat({\n                            value: \" \" === a[i - 2].type ? \"*\" : \"\"\n                        })).replace(Q, \"$1\"), c, e > i && wa(a.slice(i, e)), f > e && wa(a = a.slice(e)), f > e && qa(a))\n                    }\n                    m.push(c)\n                }\n            return sa(m)\n        }\n\n        function xa(a, b) {\n            var c = b.length > 0,\n                e = a.length > 0,\n                f = function(f, g, h, i, k) {\n                    var l, o, q, r = 0,\n                        s = \"0\",\n                        t = f && [],\n                        u = [],\n                        v = j,\n                        x = f || e && d.find.TAG(\"*\", k),\n                        y = w += null == v ? 1 : Math.random() || .1,\n                        z = x.length;\n                    for (k && (j = g === n || g || k); s !== z && null != (l = x[s]); s++) {\n                        if (e && l) {\n                            o = 0, g || l.ownerDocument === n || (m(l), h = !p);\n                            while (q = a[o++])\n                                if (q(l, g || n, h)) {\n                                    i.push(l);\n                                    break\n                                }\n                            k && (w = y)\n                        }\n                        c && ((l = !q && l) && r--, f && t.push(l))\n                    }\n                    if (r += s, c && s !== r) {\n                        o = 0;\n                        while (q = b[o++]) q(t, u, g, h);\n                        if (f) {\n                            if (r > 0)\n                                while (s--) t[s] || u[s] || (u[s] = F.call(i));\n                            u = ua(u)\n                        }\n                        H.apply(i, u), k && !f && u.length > 0 && r + b.length > 1 && fa.uniqueSort(i)\n                    }\n                    return k && (w = y, j = v), t\n                };\n            return c ? ha(f) : f\n        }\n        return h = fa.compile = function(a, b) {\n            var c, d = [],\n                e = [],\n                f = A[a + \" \"];\n            if (!f) {\n                b || (b = g(a)), c = b.length;\n                while (c--) f = wa(b[c]), f[u] ? d.push(f) : e.push(f);\n                f = A(a, xa(e, d)), f.selector = a\n            }\n            return f\n        }, i = fa.select = function(a, b, e, f) {\n            var i, j, k, l, m, n = \"function\" == typeof a && a,\n                o = !f && g(a = n.selector || a);\n            if (e = e || [], 1 === o.length) {\n                if (j = o[0] = o[0].slice(0), j.length > 2 && \"ID\" === (k = j[0]).type && c.getById && 9 === b.nodeType && p && d.relative[j[1].type]) {\n                    if (b = (d.find.ID(k.matches[0].replace(ba, ca), b) || [])[0], !b) return e;\n                    n && (b = b.parentNode), a = a.slice(j.shift().value.length)\n                }\n                i = W.needsContext.test(a) ? 0 : j.length;\n                while (i--) {\n                    if (k = j[i], d.relative[l = k.type]) break;\n                    if ((m = d.find[l]) && (f = m(k.matches[0].replace(ba, ca), _.test(j[0].type) && oa(b.parentNode) || b))) {\n                        if (j.splice(i, 1), a = f.length && qa(j), !a) return H.apply(e, f), e;\n                        break\n                    }\n                }\n            }\n            return (n || h(a, o))(f, b, !p, e, !b || _.test(a) && oa(b.parentNode) || b), e\n        }, c.sortStable = u.split(\"\").sort(B).join(\"\") === u, c.detectDuplicates = !!l, m(), c.sortDetached = ia(function(a) {\n            return 1 & a.compareDocumentPosition(n.createElement(\"div\"))\n        }), ia(function(a) {\n            return a.innerHTML = \"<a href='#'></a>\", \"#\" === a.firstChild.getAttribute(\"href\")\n        }) || ja(\"type|href|height|width\", function(a, b, c) {\n            return c ? void 0 : a.getAttribute(b, \"type\" === b.toLowerCase() ? 1 : 2)\n        }), c.attributes && ia(function(a) {\n            return a.innerHTML = \"<input/>\", a.firstChild.setAttribute(\"value\", \"\"), \"\" === a.firstChild.getAttribute(\"value\")\n        }) || ja(\"value\", function(a, b, c) {\n            return c || \"input\" !== a.nodeName.toLowerCase() ? void 0 : a.defaultValue\n        }), ia(function(a) {\n            return null == a.getAttribute(\"disabled\")\n        }) || ja(K, function(a, b, c) {\n            var d;\n            return c ? void 0 : a[b] === !0 ? b.toLowerCase() : (d = a.getAttributeNode(b)) && d.specified ? d.value : null\n        }), fa\n    }(a);\n    n.find = t, n.expr = t.selectors, n.expr[\":\"] = n.expr.pseudos, n.uniqueSort = n.unique = t.uniqueSort, n.text = t.getText, n.isXMLDoc = t.isXML, n.contains = t.contains;\n    var u = function(a, b, c) {\n            var d = [],\n                e = void 0 !== c;\n            while ((a = a[b]) && 9 !== a.nodeType)\n                if (1 === a.nodeType) {\n                    if (e && n(a).is(c)) break;\n                    d.push(a)\n                }\n            return d\n        },\n        v = function(a, b) {\n            for (var c = []; a; a = a.nextSibling) 1 === a.nodeType && a !== b && c.push(a);\n            return c\n        },\n        w = n.expr.match.needsContext,\n        x = /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/,\n        y = /^.[^:#\\[\\.,]*$/;\n\n    function z(a, b, c) {\n        if (n.isFunction(b)) return n.grep(a, function(a, d) {\n            return !!b.call(a, d, a) !== c\n        });\n        if (b.nodeType) return n.grep(a, function(a) {\n            return a === b !== c\n        });\n        if (\"string\" == typeof b) {\n            if (y.test(b)) return n.filter(b, a, c);\n            b = n.filter(b, a)\n        }\n        return n.grep(a, function(a) {\n            return h.call(b, a) > -1 !== c\n        })\n    }\n    n.filter = function(a, b, c) {\n        var d = b[0];\n        return c && (a = \":not(\" + a + \")\"), 1 === b.length && 1 === d.nodeType ? n.find.matchesSelector(d, a) ? [d] : [] : n.find.matches(a, n.grep(b, function(a) {\n            return 1 === a.nodeType\n        }))\n    }, n.fn.extend({\n        find: function(a) {\n            var b, c = this.length,\n                d = [],\n                e = this;\n            if (\"string\" != typeof a) return this.pushStack(n(a).filter(function() {\n                for (b = 0; c > b; b++)\n                    if (n.contains(e[b], this)) return !0\n            }));\n            for (b = 0; c > b; b++) n.find(a, e[b], d);\n            return d = this.pushStack(c > 1 ? n.unique(d) : d), d.selector = this.selector ? this.selector + \" \" + a : a, d\n        },\n        filter: function(a) {\n            return this.pushStack(z(this, a || [], !1))\n        },\n        not: function(a) {\n            return this.pushStack(z(this, a || [], !0))\n        },\n        is: function(a) {\n            return !!z(this, \"string\" == typeof a && w.test(a) ? n(a) : a || [], !1).length\n        }\n    });\n    var A, B = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n        C = n.fn.init = function(a, b, c) {\n            var e, f;\n            if (!a) return this;\n            if (c = c || A, \"string\" == typeof a) {\n                if (e = \"<\" === a[0] && \">\" === a[a.length - 1] && a.length >= 3 ? [null, a, null] : B.exec(a), !e || !e[1] && b) return !b || b.jquery ? (b || c).find(a) : this.constructor(b).find(a);\n                if (e[1]) {\n                    if (b = b instanceof n ? b[0] : b, n.merge(this, n.parseHTML(e[1], b && b.nodeType ? b.ownerDocument || b : d, !0)), x.test(e[1]) && n.isPlainObject(b))\n                        for (e in b) n.isFunction(this[e]) ? this[e](b[e]) : this.attr(e, b[e]);\n                    return this\n                }\n                return f = d.getElementById(e[2]), f && f.parentNode && (this.length = 1, this[0] = f), this.context = d, this.selector = a, this\n            }\n            return a.nodeType ? (this.context = this[0] = a, this.length = 1, this) : n.isFunction(a) ? void 0 !== c.ready ? c.ready(a) : a(n) : (void 0 !== a.selector && (this.selector = a.selector, this.context = a.context), n.makeArray(a, this))\n        };\n    C.prototype = n.fn, A = n(d);\n    var D = /^(?:parents|prev(?:Until|All))/,\n        E = {\n            children: !0,\n            contents: !0,\n            next: !0,\n            prev: !0\n        };\n    n.fn.extend({\n        has: function(a) {\n            var b = n(a, this),\n                c = b.length;\n            return this.filter(function() {\n                for (var a = 0; c > a; a++)\n                    if (n.contains(this, b[a])) return !0\n            })\n        },\n        closest: function(a, b) {\n            for (var c, d = 0, e = this.length, f = [], g = w.test(a) || \"string\" != typeof a ? n(a, b || this.context) : 0; e > d; d++)\n                for (c = this[d]; c && c !== b; c = c.parentNode)\n                    if (c.nodeType < 11 && (g ? g.index(c) > -1 : 1 === c.nodeType && n.find.matchesSelector(c, a))) {\n                        f.push(c);\n                        break\n                    }\n            return this.pushStack(f.length > 1 ? n.uniqueSort(f) : f)\n        },\n        index: function(a) {\n            return a ? \"string\" == typeof a ? h.call(n(a), this[0]) : h.call(this, a.jquery ? a[0] : a) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1\n        },\n        add: function(a, b) {\n            return this.pushStack(n.uniqueSort(n.merge(this.get(), n(a, b))))\n        },\n        addBack: function(a) {\n            return this.add(null == a ? this.prevObject : this.prevObject.filter(a))\n        }\n    });\n\n    function F(a, b) {\n        while ((a = a[b]) && 1 !== a.nodeType);\n        return a\n    }\n    n.each({\n        parent: function(a) {\n            var b = a.parentNode;\n            return b && 11 !== b.nodeType ? b : null\n        },\n        parents: function(a) {\n            return u(a, \"parentNode\")\n        },\n        parentsUntil: function(a, b, c) {\n            return u(a, \"parentNode\", c)\n        },\n        next: function(a) {\n            return F(a, \"nextSibling\")\n        },\n        prev: function(a) {\n            return F(a, \"previousSibling\")\n        },\n        nextAll: function(a) {\n            return u(a, \"nextSibling\")\n        },\n        prevAll: function(a) {\n            return u(a, \"previousSibling\")\n        },\n        nextUntil: function(a, b, c) {\n            return u(a, \"nextSibling\", c)\n        },\n        prevUntil: function(a, b, c) {\n            return u(a, \"previousSibling\", c)\n        },\n        siblings: function(a) {\n            return v((a.parentNode || {}).firstChild, a)\n        },\n        children: function(a) {\n            return v(a.firstChild)\n        },\n        contents: function(a) {\n            return a.contentDocument || n.merge([], a.childNodes)\n        }\n    }, function(a, b) {\n        n.fn[a] = function(c, d) {\n            var e = n.map(this, b, c);\n            return \"Until\" !== a.slice(-5) && (d = c), d && \"string\" == typeof d && (e = n.filter(d, e)), this.length > 1 && (E[a] || n.uniqueSort(e), D.test(a) && e.reverse()), this.pushStack(e)\n        }\n    });\n    var G = /\\S+/g;\n\n    function H(a) {\n        var b = {};\n        return n.each(a.match(G) || [], function(a, c) {\n            b[c] = !0\n        }), b\n    }\n    n.Callbacks = function(a) {\n        a = \"string\" == typeof a ? H(a) : n.extend({}, a);\n        var b, c, d, e, f = [],\n            g = [],\n            h = -1,\n            i = function() {\n                for (e = a.once, d = b = !0; g.length; h = -1) {\n                    c = g.shift();\n                    while (++h < f.length) f[h].apply(c[0], c[1]) === !1 && a.stopOnFalse && (h = f.length, c = !1)\n                }\n                a.memory || (c = !1), b = !1, e && (f = c ? [] : \"\")\n            },\n            j = {\n                add: function() {\n                    return f && (c && !b && (h = f.length - 1, g.push(c)), function d(b) {\n                        n.each(b, function(b, c) {\n                            n.isFunction(c) ? a.unique && j.has(c) || f.push(c) : c && c.length && \"string\" !== n.type(c) && d(c)\n                        })\n                    }(arguments), c && !b && i()), this\n                },\n                remove: function() {\n                    return n.each(arguments, function(a, b) {\n                        var c;\n                        while ((c = n.inArray(b, f, c)) > -1) f.splice(c, 1), h >= c && h--\n                    }), this\n                },\n                has: function(a) {\n                    return a ? n.inArray(a, f) > -1 : f.length > 0\n                },\n                empty: function() {\n                    return f && (f = []), this\n                },\n                disable: function() {\n                    return e = g = [], f = c = \"\", this\n                },\n                disabled: function() {\n                    return !f\n                },\n                lock: function() {\n                    return e = g = [], c || (f = c = \"\"), this\n                },\n                locked: function() {\n                    return !!e\n                },\n                fireWith: function(a, c) {\n                    return e || (c = c || [], c = [a, c.slice ? c.slice() : c], g.push(c), b || i()), this\n                },\n                fire: function() {\n                    return j.fireWith(this, arguments), this\n                },\n                fired: function() {\n                    return !!d\n                }\n            };\n        return j\n    }, n.extend({\n        Deferred: function(a) {\n            var b = [\n                    [\"resolve\", \"done\", n.Callbacks(\"once memory\"), \"resolved\"],\n                    [\"reject\", \"fail\", n.Callbacks(\"once memory\"), \"rejected\"],\n                    [\"notify\", \"progress\", n.Callbacks(\"memory\")]\n                ],\n                c = \"pending\",\n                d = {\n                    state: function() {\n                        return c\n                    },\n                    always: function() {\n                        return e.done(arguments).fail(arguments), this\n                    },\n                    then: function() {\n                        var a = arguments;\n                        return n.Deferred(function(c) {\n                            n.each(b, function(b, f) {\n                                var g = n.isFunction(a[b]) && a[b];\n                                e[f[1]](function() {\n                                    var a = g && g.apply(this, arguments);\n                                    a && n.isFunction(a.promise) ? a.promise().progress(c.notify).done(c.resolve).fail(c.reject) : c[f[0] + \"With\"](this === d ? c.promise() : this, g ? [a] : arguments)\n                                })\n                            }), a = null\n                        }).promise()\n                    },\n                    promise: function(a) {\n                        return null != a ? n.extend(a, d) : d\n                    }\n                },\n                e = {};\n            return d.pipe = d.then, n.each(b, function(a, f) {\n                var g = f[2],\n                    h = f[3];\n                d[f[1]] = g.add, h && g.add(function() {\n                    c = h\n                }, b[1 ^ a][2].disable, b[2][2].lock), e[f[0]] = function() {\n                    return e[f[0] + \"With\"](this === e ? d : this, arguments), this\n                }, e[f[0] + \"With\"] = g.fireWith\n            }), d.promise(e), a && a.call(e, e), e\n        },\n        when: function(a) {\n            var b = 0,\n                c = e.call(arguments),\n                d = c.length,\n                f = 1 !== d || a && n.isFunction(a.promise) ? d : 0,\n                g = 1 === f ? a : n.Deferred(),\n                h = function(a, b, c) {\n                    return function(d) {\n                        b[a] = this, c[a] = arguments.length > 1 ? e.call(arguments) : d, c === i ? g.notifyWith(b, c) : --f || g.resolveWith(b, c)\n                    }\n                },\n                i, j, k;\n            if (d > 1)\n                for (i = new Array(d), j = new Array(d), k = new Array(d); d > b; b++) c[b] && n.isFunction(c[b].promise) ? c[b].promise().progress(h(b, j, i)).done(h(b, k, c)).fail(g.reject) : --f;\n            return f || g.resolveWith(k, c), g.promise()\n        }\n    });\n    var I;\n    n.fn.ready = function(a) {\n        return n.ready.promise().done(a), this\n    }, n.extend({\n        isReady: !1,\n        readyWait: 1,\n        holdReady: function(a) {\n            a ? n.readyWait++ : n.ready(!0)\n        },\n        ready: function(a) {\n            (a === !0 ? --n.readyWait : n.isReady) || (n.isReady = !0, a !== !0 && --n.readyWait > 0 || (I.resolveWith(d, [n]), n.fn.triggerHandler && (n(d).triggerHandler(\"ready\"), n(d).off(\"ready\"))))\n        }\n    });\n\n    function J() {\n        d.removeEventListener(\"DOMContentLoaded\", J), a.removeEventListener(\"load\", J), n.ready()\n    }\n    n.ready.promise = function(b) {\n        return I || (I = n.Deferred(), \"complete\" === d.readyState || \"loading\" !== d.readyState && !d.documentElement.doScroll ? a.setTimeout(n.ready) : (d.addEventListener(\"DOMContentLoaded\", J), a.addEventListener(\"load\", J))), I.promise(b)\n    }, n.ready.promise();\n    var K = function(a, b, c, d, e, f, g) {\n            var h = 0,\n                i = a.length,\n                j = null == c;\n            if (\"object\" === n.type(c)) {\n                e = !0;\n                for (h in c) K(a, b, h, c[h], !0, f, g)\n            } else if (void 0 !== d && (e = !0, n.isFunction(d) || (g = !0), j && (g ? (b.call(a, d), b = null) : (j = b, b = function(a, b, c) {\n                    return j.call(n(a), c)\n                })), b))\n                for (; i > h; h++) b(a[h], c, g ? d : d.call(a[h], h, b(a[h], c)));\n            return e ? a : j ? b.call(a) : i ? b(a[0], c) : f\n        },\n        L = function(a) {\n            return 1 === a.nodeType || 9 === a.nodeType || !+a.nodeType\n        };\n\n    function M() {\n        this.expando = n.expando + M.uid++\n    }\n    M.uid = 1, M.prototype = {\n        register: function(a, b) {\n            var c = b || {};\n            return a.nodeType ? a[this.expando] = c : Object.defineProperty(a, this.expando, {\n                value: c,\n                writable: !0,\n                configurable: !0\n            }), a[this.expando]\n        },\n        cache: function(a) {\n            if (!L(a)) return {};\n            var b = a[this.expando];\n            return b || (b = {}, L(a) && (a.nodeType ? a[this.expando] = b : Object.defineProperty(a, this.expando, {\n                value: b,\n                configurable: !0\n            }))), b\n        },\n        set: function(a, b, c) {\n            var d, e = this.cache(a);\n            if (\"string\" == typeof b) e[b] = c;\n            else\n                for (d in b) e[d] = b[d];\n            return e\n        },\n        get: function(a, b) {\n            return void 0 === b ? this.cache(a) : a[this.expando] && a[this.expando][b]\n        },\n        access: function(a, b, c) {\n            var d;\n            return void 0 === b || b && \"string\" == typeof b && void 0 === c ? (d = this.get(a, b), void 0 !== d ? d : this.get(a, n.camelCase(b))) : (this.set(a, b, c), void 0 !== c ? c : b)\n        },\n        remove: function(a, b) {\n            var c, d, e, f = a[this.expando];\n            if (void 0 !== f) {\n                if (void 0 === b) this.register(a);\n                else {\n                    n.isArray(b) ? d = b.concat(b.map(n.camelCase)) : (e = n.camelCase(b), b in f ? d = [b, e] : (d = e, d = d in f ? [d] : d.match(G) || [])), c = d.length;\n                    while (c--) delete f[d[c]]\n                }(void 0 === b || n.isEmptyObject(f)) && (a.nodeType ? a[this.expando] = void 0 : delete a[this.expando])\n            }\n        },\n        hasData: function(a) {\n            var b = a[this.expando];\n            return void 0 !== b && !n.isEmptyObject(b)\n        }\n    };\n    var N = new M,\n        O = new M,\n        P = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n        Q = /[A-Z]/g;\n\n    function R(a, b, c) {\n        var d;\n        if (void 0 === c && 1 === a.nodeType)\n            if (d = \"data-\" + b.replace(Q, \"-$&\").toLowerCase(), c = a.getAttribute(d), \"string\" == typeof c) {\n                try {\n                    c = \"true\" === c ? !0 : \"false\" === c ? !1 : \"null\" === c ? null : +c + \"\" === c ? +c : P.test(c) ? n.parseJSON(c) : c;\n                } catch (e) {}\n                O.set(a, b, c)\n            } else c = void 0;\n        return c\n    }\n    n.extend({\n        hasData: function(a) {\n            return O.hasData(a) || N.hasData(a)\n        },\n        data: function(a, b, c) {\n            return O.access(a, b, c)\n        },\n        removeData: function(a, b) {\n            O.remove(a, b)\n        },\n        _data: function(a, b, c) {\n            return N.access(a, b, c)\n        },\n        _removeData: function(a, b) {\n            N.remove(a, b)\n        }\n    }), n.fn.extend({\n        data: function(a, b) {\n            var c, d, e, f = this[0],\n                g = f && f.attributes;\n            if (void 0 === a) {\n                if (this.length && (e = O.get(f), 1 === f.nodeType && !N.get(f, \"hasDataAttrs\"))) {\n                    c = g.length;\n                    while (c--) g[c] && (d = g[c].name, 0 === d.indexOf(\"data-\") && (d = n.camelCase(d.slice(5)), R(f, d, e[d])));\n                    N.set(f, \"hasDataAttrs\", !0)\n                }\n                return e\n            }\n            return \"object\" == typeof a ? this.each(function() {\n                O.set(this, a)\n            }) : K(this, function(b) {\n                var c, d;\n                if (f && void 0 === b) {\n                    if (c = O.get(f, a) || O.get(f, a.replace(Q, \"-$&\").toLowerCase()), void 0 !== c) return c;\n                    if (d = n.camelCase(a), c = O.get(f, d), void 0 !== c) return c;\n                    if (c = R(f, d, void 0), void 0 !== c) return c\n                } else d = n.camelCase(a), this.each(function() {\n                    var c = O.get(this, d);\n                    O.set(this, d, b), a.indexOf(\"-\") > -1 && void 0 !== c && O.set(this, a, b)\n                })\n            }, null, b, arguments.length > 1, null, !0)\n        },\n        removeData: function(a) {\n            return this.each(function() {\n                O.remove(this, a)\n            })\n        }\n    }), n.extend({\n        queue: function(a, b, c) {\n            var d;\n            return a ? (b = (b || \"fx\") + \"queue\", d = N.get(a, b), c && (!d || n.isArray(c) ? d = N.access(a, b, n.makeArray(c)) : d.push(c)), d || []) : void 0\n        },\n        dequeue: function(a, b) {\n            b = b || \"fx\";\n            var c = n.queue(a, b),\n                d = c.length,\n                e = c.shift(),\n                f = n._queueHooks(a, b),\n                g = function() {\n                    n.dequeue(a, b)\n                };\n            \"inprogress\" === e && (e = c.shift(), d--), e && (\"fx\" === b && c.unshift(\"inprogress\"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()\n        },\n        _queueHooks: function(a, b) {\n            var c = b + \"queueHooks\";\n            return N.get(a, c) || N.access(a, c, {\n                empty: n.Callbacks(\"once memory\").add(function() {\n                    N.remove(a, [b + \"queue\", c])\n                })\n            })\n        }\n    }), n.fn.extend({\n        queue: function(a, b) {\n            var c = 2;\n            return \"string\" != typeof a && (b = a, a = \"fx\", c--), arguments.length < c ? n.queue(this[0], a) : void 0 === b ? this : this.each(function() {\n                var c = n.queue(this, a, b);\n                n._queueHooks(this, a), \"fx\" === a && \"inprogress\" !== c[0] && n.dequeue(this, a)\n            })\n        },\n        dequeue: function(a) {\n            return this.each(function() {\n                n.dequeue(this, a)\n            })\n        },\n        clearQueue: function(a) {\n            return this.queue(a || \"fx\", [])\n        },\n        promise: function(a, b) {\n            var c, d = 1,\n                e = n.Deferred(),\n                f = this,\n                g = this.length,\n                h = function() {\n                    --d || e.resolveWith(f, [f])\n                };\n            \"string\" != typeof a && (b = a, a = void 0), a = a || \"fx\";\n            while (g--) c = N.get(f[g], a + \"queueHooks\"), c && c.empty && (d++, c.empty.add(h));\n            return h(), e.promise(b)\n        }\n    });\n    var S = /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,\n        T = new RegExp(\"^(?:([+-])=|)(\" + S + \")([a-z%]*)$\", \"i\"),\n        U = [\"Top\", \"Right\", \"Bottom\", \"Left\"],\n        V = function(a, b) {\n            return a = b || a, \"none\" === n.css(a, \"display\") || !n.contains(a.ownerDocument, a)\n        };\n\n    function W(a, b, c, d) {\n        var e, f = 1,\n            g = 20,\n            h = d ? function() {\n                return d.cur()\n            } : function() {\n                return n.css(a, b, \"\")\n            },\n            i = h(),\n            j = c && c[3] || (n.cssNumber[b] ? \"\" : \"px\"),\n            k = (n.cssNumber[b] || \"px\" !== j && +i) && T.exec(n.css(a, b));\n        if (k && k[3] !== j) {\n            j = j || k[3], c = c || [], k = +i || 1;\n            do f = f || \".5\", k /= f, n.style(a, b, k + j); while (f !== (f = h() / i) && 1 !== f && --g)\n        }\n        return c && (k = +k || +i || 0, e = c[1] ? k + (c[1] + 1) * c[2] : +c[2], d && (d.unit = j, d.start = k, d.end = e)), e\n    }\n    var X = /^(?:checkbox|radio)$/i,\n        Y = /<([\\w:-]+)/,\n        Z = /^$|\\/(?:java|ecma)script/i,\n        $ = {\n            option: [1, \"<select multiple='multiple'>\", \"</select>\"],\n            thead: [1, \"<table>\", \"</table>\"],\n            col: [2, \"<table><colgroup>\", \"</colgroup></table>\"],\n            tr: [2, \"<table><tbody>\", \"</tbody></table>\"],\n            td: [3, \"<table><tbody><tr>\", \"</tr></tbody></table>\"],\n            _default: [0, \"\", \"\"]\n        };\n    $.optgroup = $.option, $.tbody = $.tfoot = $.colgroup = $.caption = $.thead, $.th = $.td;\n\n    function _(a, b) {\n        var c = \"undefined\" != typeof a.getElementsByTagName ? a.getElementsByTagName(b || \"*\") : \"undefined\" != typeof a.querySelectorAll ? a.querySelectorAll(b || \"*\") : [];\n        return void 0 === b || b && n.nodeName(a, b) ? n.merge([a], c) : c\n    }\n\n    function aa(a, b) {\n        for (var c = 0, d = a.length; d > c; c++) N.set(a[c], \"globalEval\", !b || N.get(b[c], \"globalEval\"))\n    }\n    var ba = /<|&#?\\w+;/;\n\n    function ca(a, b, c, d, e) {\n        for (var f, g, h, i, j, k, l = b.createDocumentFragment(), m = [], o = 0, p = a.length; p > o; o++)\n            if (f = a[o], f || 0 === f)\n                if (\"object\" === n.type(f)) n.merge(m, f.nodeType ? [f] : f);\n                else if (ba.test(f)) {\n            g = g || l.appendChild(b.createElement(\"div\")), h = (Y.exec(f) || [\"\", \"\"])[1].toLowerCase(), i = $[h] || $._default, g.innerHTML = i[1] + n.htmlPrefilter(f) + i[2], k = i[0];\n            while (k--) g = g.lastChild;\n            n.merge(m, g.childNodes), g = l.firstChild, g.textContent = \"\"\n        } else m.push(b.createTextNode(f));\n        l.textContent = \"\", o = 0;\n        while (f = m[o++])\n            if (d && n.inArray(f, d) > -1) e && e.push(f);\n            else if (j = n.contains(f.ownerDocument, f), g = _(l.appendChild(f), \"script\"), j && aa(g), c) {\n            k = 0;\n            while (f = g[k++]) Z.test(f.type || \"\") && c.push(f)\n        }\n        return l\n    }! function() {\n        var a = d.createDocumentFragment(),\n            b = a.appendChild(d.createElement(\"div\")),\n            c = d.createElement(\"input\");\n        c.setAttribute(\"type\", \"radio\"), c.setAttribute(\"checked\", \"checked\"), c.setAttribute(\"name\", \"t\"), b.appendChild(c), l.checkClone = b.cloneNode(!0).cloneNode(!0).lastChild.checked, b.innerHTML = \"<textarea>x</textarea>\", l.noCloneChecked = !!b.cloneNode(!0).lastChild.defaultValue\n    }();\n    var da = /^key/,\n        ea = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n        fa = /^([^.]*)(?:\\.(.+)|)/;\n\n    function ga() {\n        return !0\n    }\n\n    function ha() {\n        return !1\n    }\n\n    function ia() {\n        try {\n            return d.activeElement\n        } catch (a) {}\n    }\n\n    function ja(a, b, c, d, e, f) {\n        var g, h;\n        if (\"object\" == typeof b) {\n            \"string\" != typeof c && (d = d || c, c = void 0);\n            for (h in b) ja(a, h, c, d, b[h], f);\n            return a\n        }\n        if (null == d && null == e ? (e = c, d = c = void 0) : null == e && (\"string\" == typeof c ? (e = d, d = void 0) : (e = d, d = c, c = void 0)), e === !1) e = ha;\n        else if (!e) return a;\n        return 1 === f && (g = e, e = function(a) {\n            return n().off(a), g.apply(this, arguments)\n        }, e.guid = g.guid || (g.guid = n.guid++)), a.each(function() {\n            n.event.add(this, b, e, d, c)\n        })\n    }\n    n.event = {\n        global: {},\n        add: function(a, b, c, d, e) {\n            var f, g, h, i, j, k, l, m, o, p, q, r = N.get(a);\n            if (r) {\n                c.handler && (f = c, c = f.handler, e = f.selector), c.guid || (c.guid = n.guid++), (i = r.events) || (i = r.events = {}), (g = r.handle) || (g = r.handle = function(b) {\n                    return \"undefined\" != typeof n && n.event.triggered !== b.type ? n.event.dispatch.apply(a, arguments) : void 0\n                }), b = (b || \"\").match(G) || [\"\"], j = b.length;\n                while (j--) h = fa.exec(b[j]) || [], o = q = h[1], p = (h[2] || \"\").split(\".\").sort(), o && (l = n.event.special[o] || {}, o = (e ? l.delegateType : l.bindType) || o, l = n.event.special[o] || {}, k = n.extend({\n                    type: o,\n                    origType: q,\n                    data: d,\n                    handler: c,\n                    guid: c.guid,\n                    selector: e,\n                    needsContext: e && n.expr.match.needsContext.test(e),\n                    namespace: p.join(\".\")\n                }, f), (m = i[o]) || (m = i[o] = [], m.delegateCount = 0, l.setup && l.setup.call(a, d, p, g) !== !1 || a.addEventListener && a.addEventListener(o, g)), l.add && (l.add.call(a, k), k.handler.guid || (k.handler.guid = c.guid)), e ? m.splice(m.delegateCount++, 0, k) : m.push(k), n.event.global[o] = !0)\n            }\n        },\n        remove: function(a, b, c, d, e) {\n            var f, g, h, i, j, k, l, m, o, p, q, r = N.hasData(a) && N.get(a);\n            if (r && (i = r.events)) {\n                b = (b || \"\").match(G) || [\"\"], j = b.length;\n                while (j--)\n                    if (h = fa.exec(b[j]) || [], o = q = h[1], p = (h[2] || \"\").split(\".\").sort(), o) {\n                        l = n.event.special[o] || {}, o = (d ? l.delegateType : l.bindType) || o, m = i[o] || [], h = h[2] && new RegExp(\"(^|\\\\.)\" + p.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\"), g = f = m.length;\n                        while (f--) k = m[f], !e && q !== k.origType || c && c.guid !== k.guid || h && !h.test(k.namespace) || d && d !== k.selector && (\"**\" !== d || !k.selector) || (m.splice(f, 1), k.selector && m.delegateCount--, l.remove && l.remove.call(a, k));\n                        g && !m.length && (l.teardown && l.teardown.call(a, p, r.handle) !== !1 || n.removeEvent(a, o, r.handle), delete i[o])\n                    } else\n                        for (o in i) n.event.remove(a, o + b[j], c, d, !0);\n                n.isEmptyObject(i) && N.remove(a, \"handle events\")\n            }\n        },\n        dispatch: function(a) {\n            a = n.event.fix(a);\n            var b, c, d, f, g, h = [],\n                i = e.call(arguments),\n                j = (N.get(this, \"events\") || {})[a.type] || [],\n                k = n.event.special[a.type] || {};\n            if (i[0] = a, a.delegateTarget = this, !k.preDispatch || k.preDispatch.call(this, a) !== !1) {\n                h = n.event.handlers.call(this, a, j), b = 0;\n                while ((f = h[b++]) && !a.isPropagationStopped()) {\n                    a.currentTarget = f.elem, c = 0;\n                    while ((g = f.handlers[c++]) && !a.isImmediatePropagationStopped()) a.rnamespace && !a.rnamespace.test(g.namespace) || (a.handleObj = g, a.data = g.data, d = ((n.event.special[g.origType] || {}).handle || g.handler).apply(f.elem, i), void 0 !== d && (a.result = d) === !1 && (a.preventDefault(), a.stopPropagation()))\n                }\n                return k.postDispatch && k.postDispatch.call(this, a), a.result\n            }\n        },\n        handlers: function(a, b) {\n            var c, d, e, f, g = [],\n                h = b.delegateCount,\n                i = a.target;\n            if (h && i.nodeType && (\"click\" !== a.type || isNaN(a.button) || a.button < 1))\n                for (; i !== this; i = i.parentNode || this)\n                    if (1 === i.nodeType && (i.disabled !== !0 || \"click\" !== a.type)) {\n                        for (d = [], c = 0; h > c; c++) f = b[c], e = f.selector + \" \", void 0 === d[e] && (d[e] = f.needsContext ? n(e, this).index(i) > -1 : n.find(e, this, null, [i]).length), d[e] && d.push(f);\n                        d.length && g.push({\n                            elem: i,\n                            handlers: d\n                        })\n                    }\n            return h < b.length && g.push({\n                elem: this,\n                handlers: b.slice(h)\n            }), g\n        },\n        props: \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\n        fixHooks: {},\n        keyHooks: {\n            props: \"char charCode key keyCode\".split(\" \"),\n            filter: function(a, b) {\n                return null == a.which && (a.which = null != b.charCode ? b.charCode : b.keyCode), a\n            }\n        },\n        mouseHooks: {\n            props: \"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\n            filter: function(a, b) {\n                var c, e, f, g = b.button;\n                return null == a.pageX && null != b.clientX && (c = a.target.ownerDocument || d, e = c.documentElement, f = c.body, a.pageX = b.clientX + (e && e.scrollLeft || f && f.scrollLeft || 0) - (e && e.clientLeft || f && f.clientLeft || 0), a.pageY = b.clientY + (e && e.scrollTop || f && f.scrollTop || 0) - (e && e.clientTop || f && f.clientTop || 0)), a.which || void 0 === g || (a.which = 1 & g ? 1 : 2 & g ? 3 : 4 & g ? 2 : 0), a\n            }\n        },\n        fix: function(a) {\n            if (a[n.expando]) return a;\n            var b, c, e, f = a.type,\n                g = a,\n                h = this.fixHooks[f];\n            h || (this.fixHooks[f] = h = ea.test(f) ? this.mouseHooks : da.test(f) ? this.keyHooks : {}), e = h.props ? this.props.concat(h.props) : this.props, a = new n.Event(g), b = e.length;\n            while (b--) c = e[b], a[c] = g[c];\n            return a.target || (a.target = d), 3 === a.target.nodeType && (a.target = a.target.parentNode), h.filter ? h.filter(a, g) : a\n        },\n        special: {\n            load: {\n                noBubble: !0\n            },\n            focus: {\n                trigger: function() {\n                    return this !== ia() && this.focus ? (this.focus(), !1) : void 0\n                },\n                delegateType: \"focusin\"\n            },\n            blur: {\n                trigger: function() {\n                    return this === ia() && this.blur ? (this.blur(), !1) : void 0\n                },\n                delegateType: \"focusout\"\n            },\n            click: {\n                trigger: function() {\n                    return \"checkbox\" === this.type && this.click && n.nodeName(this, \"input\") ? (this.click(), !1) : void 0\n                },\n                _default: function(a) {\n                    return n.nodeName(a.target, \"a\")\n                }\n            },\n            beforeunload: {\n                postDispatch: function(a) {\n                    void 0 !== a.result && a.originalEvent && (a.originalEvent.returnValue = a.result)\n                }\n            }\n        }\n    }, n.removeEvent = function(a, b, c) {\n        a.removeEventListener && a.removeEventListener(b, c)\n    }, n.Event = function(a, b) {\n        return this instanceof n.Event ? (a && a.type ? (this.originalEvent = a, this.type = a.type, this.isDefaultPrevented = a.defaultPrevented || void 0 === a.defaultPrevented && a.returnValue === !1 ? ga : ha) : this.type = a, b && n.extend(this, b), this.timeStamp = a && a.timeStamp || n.now(), void(this[n.expando] = !0)) : new n.Event(a, b)\n    }, n.Event.prototype = {\n        constructor: n.Event,\n        isDefaultPrevented: ha,\n        isPropagationStopped: ha,\n        isImmediatePropagationStopped: ha,\n        isSimulated: !1,\n        preventDefault: function() {\n            var a = this.originalEvent;\n            this.isDefaultPrevented = ga, a && !this.isSimulated && a.preventDefault()\n        },\n        stopPropagation: function() {\n            var a = this.originalEvent;\n            this.isPropagationStopped = ga, a && !this.isSimulated && a.stopPropagation()\n        },\n        stopImmediatePropagation: function() {\n            var a = this.originalEvent;\n            this.isImmediatePropagationStopped = ga, a && !this.isSimulated && a.stopImmediatePropagation(), this.stopPropagation()\n        }\n    }, n.each({\n        mouseenter: \"mouseover\",\n        mouseleave: \"mouseout\",\n        pointerenter: \"pointerover\",\n        pointerleave: \"pointerout\"\n    }, function(a, b) {\n        n.event.special[a] = {\n            delegateType: b,\n            bindType: b,\n            handle: function(a) {\n                var c, d = this,\n                    e = a.relatedTarget,\n                    f = a.handleObj;\n                return e && (e === d || n.contains(d, e)) || (a.type = f.origType, c = f.handler.apply(this, arguments), a.type = b), c\n            }\n        }\n    }), n.fn.extend({\n        on: function(a, b, c, d) {\n            return ja(this, a, b, c, d)\n        },\n        one: function(a, b, c, d) {\n            return ja(this, a, b, c, d, 1)\n        },\n        off: function(a, b, c) {\n            var d, e;\n            if (a && a.preventDefault && a.handleObj) return d = a.handleObj, n(a.delegateTarget).off(d.namespace ? d.origType + \".\" + d.namespace : d.origType, d.selector, d.handler), this;\n            if (\"object\" == typeof a) {\n                for (e in a) this.off(e, b, a[e]);\n                return this\n            }\n            return b !== !1 && \"function\" != typeof b || (c = b, b = void 0), c === !1 && (c = ha), this.each(function() {\n                n.event.remove(this, a, c, b)\n            })\n        }\n    });\n    var ka = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n        la = /<script|<style|<link/i,\n        ma = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n        na = /^true\\/(.*)/,\n        oa = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;\n\n    function pa(a, b) {\n        return n.nodeName(a, \"table\") && n.nodeName(11 !== b.nodeType ? b : b.firstChild, \"tr\") ? a.getElementsByTagName(\"tbody\")[0] || a.appendChild(a.ownerDocument.createElement(\"tbody\")) : a\n    }\n\n    function qa(a) {\n        return a.type = (null !== a.getAttribute(\"type\")) + \"/\" + a.type, a\n    }\n\n    function ra(a) {\n        var b = na.exec(a.type);\n        return b ? a.type = b[1] : a.removeAttribute(\"type\"), a\n    }\n\n    function sa(a, b) {\n        var c, d, e, f, g, h, i, j;\n        if (1 === b.nodeType) {\n            if (N.hasData(a) && (f = N.access(a), g = N.set(b, f), j = f.events)) {\n                delete g.handle, g.events = {};\n                for (e in j)\n                    for (c = 0, d = j[e].length; d > c; c++) n.event.add(b, e, j[e][c])\n            }\n            O.hasData(a) && (h = O.access(a), i = n.extend({}, h), O.set(b, i))\n        }\n    }\n\n    function ta(a, b) {\n        var c = b.nodeName.toLowerCase();\n        \"input\" === c && X.test(a.type) ? b.checked = a.checked : \"input\" !== c && \"textarea\" !== c || (b.defaultValue = a.defaultValue)\n    }\n\n    function ua(a, b, c, d) {\n        b = f.apply([], b);\n        var e, g, h, i, j, k, m = 0,\n            o = a.length,\n            p = o - 1,\n            q = b[0],\n            r = n.isFunction(q);\n        if (r || o > 1 && \"string\" == typeof q && !l.checkClone && ma.test(q)) return a.each(function(e) {\n            var f = a.eq(e);\n            r && (b[0] = q.call(this, e, f.html())), ua(f, b, c, d)\n        });\n        if (o && (e = ca(b, a[0].ownerDocument, !1, a, d), g = e.firstChild, 1 === e.childNodes.length && (e = g), g || d)) {\n            for (h = n.map(_(e, \"script\"), qa), i = h.length; o > m; m++) j = e, m !== p && (j = n.clone(j, !0, !0), i && n.merge(h, _(j, \"script\"))), c.call(a[m], j, m);\n            if (i)\n                for (k = h[h.length - 1].ownerDocument, n.map(h, ra), m = 0; i > m; m++) j = h[m], Z.test(j.type || \"\") && !N.access(j, \"globalEval\") && n.contains(k, j) && (j.src ? n._evalUrl && n._evalUrl(j.src) : n.globalEval(j.textContent.replace(oa, \"\")))\n        }\n        return a\n    }\n\n    function va(a, b, c) {\n        for (var d, e = b ? n.filter(b, a) : a, f = 0; null != (d = e[f]); f++) c || 1 !== d.nodeType || n.cleanData(_(d)), d.parentNode && (c && n.contains(d.ownerDocument, d) && aa(_(d, \"script\")), d.parentNode.removeChild(d));\n        return a\n    }\n    n.extend({\n        htmlPrefilter: function(a) {\n            return a.replace(ka, \"<$1></$2>\")\n        },\n        clone: function(a, b, c) {\n            var d, e, f, g, h = a.cloneNode(!0),\n                i = n.contains(a.ownerDocument, a);\n            if (!(l.noCloneChecked || 1 !== a.nodeType && 11 !== a.nodeType || n.isXMLDoc(a)))\n                for (g = _(h), f = _(a), d = 0, e = f.length; e > d; d++) ta(f[d], g[d]);\n            if (b)\n                if (c)\n                    for (f = f || _(a), g = g || _(h), d = 0, e = f.length; e > d; d++) sa(f[d], g[d]);\n                else sa(a, h);\n            return g = _(h, \"script\"), g.length > 0 && aa(g, !i && _(a, \"script\")), h\n        },\n        cleanData: function(a) {\n            for (var b, c, d, e = n.event.special, f = 0; void 0 !== (c = a[f]); f++)\n                if (L(c)) {\n                    if (b = c[N.expando]) {\n                        if (b.events)\n                            for (d in b.events) e[d] ? n.event.remove(c, d) : n.removeEvent(c, d, b.handle);\n                        c[N.expando] = void 0\n                    }\n                    c[O.expando] && (c[O.expando] = void 0)\n                }\n        }\n    }), n.fn.extend({\n        domManip: ua,\n        detach: function(a) {\n            return va(this, a, !0)\n        },\n        remove: function(a) {\n            return va(this, a)\n        },\n        text: function(a) {\n            return K(this, function(a) {\n                return void 0 === a ? n.text(this) : this.empty().each(function() {\n                    1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = a)\n                })\n            }, null, a, arguments.length)\n        },\n        append: function() {\n            return ua(this, arguments, function(a) {\n                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {\n                    var b = pa(this, a);\n                    b.appendChild(a)\n                }\n            })\n        },\n        prepend: function() {\n            return ua(this, arguments, function(a) {\n                if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {\n                    var b = pa(this, a);\n                    b.insertBefore(a, b.firstChild)\n                }\n            })\n        },\n        before: function() {\n            return ua(this, arguments, function(a) {\n                this.parentNode && this.parentNode.insertBefore(a, this)\n            })\n        },\n        after: function() {\n            return ua(this, arguments, function(a) {\n                this.parentNode && this.parentNode.insertBefore(a, this.nextSibling)\n            })\n        },\n        empty: function() {\n            for (var a, b = 0; null != (a = this[b]); b++) 1 === a.nodeType && (n.cleanData(_(a, !1)), a.textContent = \"\");\n            return this\n        },\n        clone: function(a, b) {\n            return a = null == a ? !1 : a, b = null == b ? a : b, this.map(function() {\n                return n.clone(this, a, b)\n            })\n        },\n        html: function(a) {\n            return K(this, function(a) {\n                var b = this[0] || {},\n                    c = 0,\n                    d = this.length;\n                if (void 0 === a && 1 === b.nodeType) return b.innerHTML;\n                if (\"string\" == typeof a && !la.test(a) && !$[(Y.exec(a) || [\"\", \"\"])[1].toLowerCase()]) {\n                    a = n.htmlPrefilter(a);\n                    try {\n                        for (; d > c; c++) b = this[c] || {}, 1 === b.nodeType && (n.cleanData(_(b, !1)), b.innerHTML = a);\n                        b = 0\n                    } catch (e) {}\n                }\n                b && this.empty().append(a)\n            }, null, a, arguments.length)\n        },\n        replaceWith: function() {\n            var a = [];\n            return ua(this, arguments, function(b) {\n                var c = this.parentNode;\n                n.inArray(this, a) < 0 && (n.cleanData(_(this)), c && c.replaceChild(b, this))\n            }, a)\n        }\n    }), n.each({\n        appendTo: \"append\",\n        prependTo: \"prepend\",\n        insertBefore: \"before\",\n        insertAfter: \"after\",\n        replaceAll: \"replaceWith\"\n    }, function(a, b) {\n        n.fn[a] = function(a) {\n            for (var c, d = [], e = n(a), f = e.length - 1, h = 0; f >= h; h++) c = h === f ? this : this.clone(!0), n(e[h])[b](c), g.apply(d, c.get());\n            return this.pushStack(d)\n        }\n    });\n    var wa, xa = {\n        HTML: \"block\",\n        BODY: \"block\"\n    };\n\n    function ya(a, b) {\n        var c = n(b.createElement(a)).appendTo(b.body),\n            d = n.css(c[0], \"display\");\n        return c.detach(), d\n    }\n\n    function za(a) {\n        var b = d,\n            c = xa[a];\n        return c || (c = ya(a, b), \"none\" !== c && c || (wa = (wa || n(\"<iframe frameborder='0' width='0' height='0'/>\")).appendTo(b.documentElement), b = wa[0].contentDocument, b.write(), b.close(), c = ya(a, b), wa.detach()), xa[a] = c), c\n    }\n    var Aa = /^margin/,\n        Ba = new RegExp(\"^(\" + S + \")(?!px)[a-z%]+$\", \"i\"),\n        Ca = function(b) {\n            var c = b.ownerDocument.defaultView;\n            return c && c.opener || (c = a), c.getComputedStyle(b)\n        },\n        Da = function(a, b, c, d) {\n            var e, f, g = {};\n            for (f in b) g[f] = a.style[f], a.style[f] = b[f];\n            e = c.apply(a, d || []);\n            for (f in b) a.style[f] = g[f];\n            return e\n        },\n        Ea = d.documentElement;\n    ! function() {\n        var b, c, e, f, g = d.createElement(\"div\"),\n            h = d.createElement(\"div\");\n        if (h.style) {\n            h.style.backgroundClip = \"content-box\", h.cloneNode(!0).style.backgroundClip = \"\", l.clearCloneStyle = \"content-box\" === h.style.backgroundClip, g.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute\", g.appendChild(h);\n\n            function i() {\n                h.style.cssText = \"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%\", h.innerHTML = \"\", Ea.appendChild(g);\n                var d = a.getComputedStyle(h);\n                b = \"1%\" !== d.top, f = \"2px\" === d.marginLeft, c = \"4px\" === d.width, h.style.marginRight = \"50%\", e = \"4px\" === d.marginRight, Ea.removeChild(g)\n            }\n            n.extend(l, {\n                pixelPosition: function() {\n                    return i(), b\n                },\n                boxSizingReliable: function() {\n                    return null == c && i(), c\n                },\n                pixelMarginRight: function() {\n                    return null == c && i(), e\n                },\n                reliableMarginLeft: function() {\n                    return null == c && i(), f\n                },\n                reliableMarginRight: function() {\n                    var b, c = h.appendChild(d.createElement(\"div\"));\n                    return c.style.cssText = h.style.cssText = \"-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0\", c.style.marginRight = c.style.width = \"0\", h.style.width = \"1px\", Ea.appendChild(g), b = !parseFloat(a.getComputedStyle(c).marginRight), Ea.removeChild(g), h.removeChild(c), b\n                }\n            })\n        }\n    }();\n\n    function Fa(a, b, c) {\n        var d, e, f, g, h = a.style;\n        return c = c || Ca(a), g = c ? c.getPropertyValue(b) || c[b] : void 0, \"\" !== g && void 0 !== g || n.contains(a.ownerDocument, a) || (g = n.style(a, b)), c && !l.pixelMarginRight() && Ba.test(g) && Aa.test(b) && (d = h.width, e = h.minWidth, f = h.maxWidth, h.minWidth = h.maxWidth = h.width = g, g = c.width, h.width = d, h.minWidth = e, h.maxWidth = f), void 0 !== g ? g + \"\" : g\n    }\n\n    function Ga(a, b) {\n        return {\n            get: function() {\n                return a() ? void delete this.get : (this.get = b).apply(this, arguments)\n            }\n        }\n    }\n    var Ha = /^(none|table(?!-c[ea]).+)/,\n        Ia = {\n            position: \"absolute\",\n            visibility: \"hidden\",\n            display: \"block\"\n        },\n        Ja = {\n            letterSpacing: \"0\",\n            fontWeight: \"400\"\n        },\n        Ka = [\"Webkit\", \"O\", \"Moz\", \"ms\"],\n        La = d.createElement(\"div\").style;\n\n    function Ma(a) {\n        if (a in La) return a;\n        var b = a[0].toUpperCase() + a.slice(1),\n            c = Ka.length;\n        while (c--)\n            if (a = Ka[c] + b, a in La) return a\n    }\n\n    function Na(a, b, c) {\n        var d = T.exec(b);\n        return d ? Math.max(0, d[2] - (c || 0)) + (d[3] || \"px\") : b\n    }\n\n    function Oa(a, b, c, d, e) {\n        for (var f = c === (d ? \"border\" : \"content\") ? 4 : \"width\" === b ? 1 : 0, g = 0; 4 > f; f += 2) \"margin\" === c && (g += n.css(a, c + U[f], !0, e)), d ? (\"content\" === c && (g -= n.css(a, \"padding\" + U[f], !0, e)), \"margin\" !== c && (g -= n.css(a, \"border\" + U[f] + \"Width\", !0, e))) : (g += n.css(a, \"padding\" + U[f], !0, e), \"padding\" !== c && (g += n.css(a, \"border\" + U[f] + \"Width\", !0, e)));\n        return g\n    }\n\n    function Pa(a, b, c) {\n        var d = !0,\n            e = \"width\" === b ? a.offsetWidth : a.offsetHeight,\n            f = Ca(a),\n            g = \"border-box\" === n.css(a, \"boxSizing\", !1, f);\n        if (0 >= e || null == e) {\n            if (e = Fa(a, b, f), (0 > e || null == e) && (e = a.style[b]), Ba.test(e)) return e;\n            d = g && (l.boxSizingReliable() || e === a.style[b]), e = parseFloat(e) || 0\n        }\n        return e + Oa(a, b, c || (g ? \"border\" : \"content\"), d, f) + \"px\"\n    }\n\n    function Qa(a, b) {\n        for (var c, d, e, f = [], g = 0, h = a.length; h > g; g++) d = a[g], d.style && (f[g] = N.get(d, \"olddisplay\"), c = d.style.display, b ? (f[g] || \"none\" !== c || (d.style.display = \"\"), \"\" === d.style.display && V(d) && (f[g] = N.access(d, \"olddisplay\", za(d.nodeName)))) : (e = V(d), \"none\" === c && e || N.set(d, \"olddisplay\", e ? c : n.css(d, \"display\"))));\n        for (g = 0; h > g; g++) d = a[g], d.style && (b && \"none\" !== d.style.display && \"\" !== d.style.display || (d.style.display = b ? f[g] || \"\" : \"none\"));\n        return a\n    }\n    n.extend({\n        cssHooks: {\n            opacity: {\n                get: function(a, b) {\n                    if (b) {\n                        var c = Fa(a, \"opacity\");\n                        return \"\" === c ? \"1\" : c\n                    }\n                }\n            }\n        },\n        cssNumber: {\n            animationIterationCount: !0,\n            columnCount: !0,\n            fillOpacity: !0,\n            flexGrow: !0,\n            flexShrink: !0,\n            fontWeight: !0,\n            lineHeight: !0,\n            opacity: !0,\n            order: !0,\n            orphans: !0,\n            widows: !0,\n            zIndex: !0,\n            zoom: !0\n        },\n        cssProps: {\n            \"float\": \"cssFloat\"\n        },\n        style: function(a, b, c, d) {\n            if (a && 3 !== a.nodeType && 8 !== a.nodeType && a.style) {\n                var e, f, g, h = n.camelCase(b),\n                    i = a.style;\n                return b = n.cssProps[h] || (n.cssProps[h] = Ma(h) || h), g = n.cssHooks[b] || n.cssHooks[h], void 0 === c ? g && \"get\" in g && void 0 !== (e = g.get(a, !1, d)) ? e : i[b] : (f = typeof c, \"string\" === f && (e = T.exec(c)) && e[1] && (c = W(a, b, e), f = \"number\"), null != c && c === c && (\"number\" === f && (c += e && e[3] || (n.cssNumber[h] ? \"\" : \"px\")), l.clearCloneStyle || \"\" !== c || 0 !== b.indexOf(\"background\") || (i[b] = \"inherit\"), g && \"set\" in g && void 0 === (c = g.set(a, c, d)) || (i[b] = c)), void 0)\n            }\n        },\n        css: function(a, b, c, d) {\n            var e, f, g, h = n.camelCase(b);\n            return b = n.cssProps[h] || (n.cssProps[h] = Ma(h) || h), g = n.cssHooks[b] || n.cssHooks[h], g && \"get\" in g && (e = g.get(a, !0, c)), void 0 === e && (e = Fa(a, b, d)), \"normal\" === e && b in Ja && (e = Ja[b]), \"\" === c || c ? (f = parseFloat(e), c === !0 || isFinite(f) ? f || 0 : e) : e\n        }\n    }), n.each([\"height\", \"width\"], function(a, b) {\n        n.cssHooks[b] = {\n            get: function(a, c, d) {\n                return c ? Ha.test(n.css(a, \"display\")) && 0 === a.offsetWidth ? Da(a, Ia, function() {\n                    return Pa(a, b, d)\n                }) : Pa(a, b, d) : void 0\n            },\n            set: function(a, c, d) {\n                var e, f = d && Ca(a),\n                    g = d && Oa(a, b, d, \"border-box\" === n.css(a, \"boxSizing\", !1, f), f);\n                return g && (e = T.exec(c)) && \"px\" !== (e[3] || \"px\") && (a.style[b] = c, c = n.css(a, b)), Na(a, c, g)\n            }\n        }\n    }), n.cssHooks.marginLeft = Ga(l.reliableMarginLeft, function(a, b) {\n        return b ? (parseFloat(Fa(a, \"marginLeft\")) || a.getBoundingClientRect().left - Da(a, {\n            marginLeft: 0\n        }, function() {\n            return a.getBoundingClientRect().left\n        })) + \"px\" : void 0\n    }), n.cssHooks.marginRight = Ga(l.reliableMarginRight, function(a, b) {\n        return b ? Da(a, {\n            display: \"inline-block\"\n        }, Fa, [a, \"marginRight\"]) : void 0\n    }), n.each({\n        margin: \"\",\n        padding: \"\",\n        border: \"Width\"\n    }, function(a, b) {\n        n.cssHooks[a + b] = {\n            expand: function(c) {\n                for (var d = 0, e = {}, f = \"string\" == typeof c ? c.split(\" \") : [c]; 4 > d; d++) e[a + U[d] + b] = f[d] || f[d - 2] || f[0];\n                return e\n            }\n        }, Aa.test(a) || (n.cssHooks[a + b].set = Na)\n    }), n.fn.extend({\n        css: function(a, b) {\n            return K(this, function(a, b, c) {\n                var d, e, f = {},\n                    g = 0;\n                if (n.isArray(b)) {\n                    for (d = Ca(a), e = b.length; e > g; g++) f[b[g]] = n.css(a, b[g], !1, d);\n                    return f\n                }\n                return void 0 !== c ? n.style(a, b, c) : n.css(a, b)\n            }, a, b, arguments.length > 1)\n        },\n        show: function() {\n            return Qa(this, !0)\n        },\n        hide: function() {\n            return Qa(this)\n        },\n        toggle: function(a) {\n            return \"boolean\" == typeof a ? a ? this.show() : this.hide() : this.each(function() {\n                V(this) ? n(this).show() : n(this).hide()\n            })\n        }\n    });\n\n    function Ra(a, b, c, d, e) {\n        return new Ra.prototype.init(a, b, c, d, e)\n    }\n    n.Tween = Ra, Ra.prototype = {\n        constructor: Ra,\n        init: function(a, b, c, d, e, f) {\n            this.elem = a, this.prop = c, this.easing = e || n.easing._default, this.options = b, this.start = this.now = this.cur(), this.end = d, this.unit = f || (n.cssNumber[c] ? \"\" : \"px\")\n        },\n        cur: function() {\n            var a = Ra.propHooks[this.prop];\n            return a && a.get ? a.get(this) : Ra.propHooks._default.get(this)\n        },\n        run: function(a) {\n            var b, c = Ra.propHooks[this.prop];\n            return this.options.duration ? this.pos = b = n.easing[this.easing](a, this.options.duration * a, 0, 1, this.options.duration) : this.pos = b = a, this.now = (this.end - this.start) * b + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), c && c.set ? c.set(this) : Ra.propHooks._default.set(this), this\n        }\n    }, Ra.prototype.init.prototype = Ra.prototype, Ra.propHooks = {\n        _default: {\n            get: function(a) {\n                var b;\n                return 1 !== a.elem.nodeType || null != a.elem[a.prop] && null == a.elem.style[a.prop] ? a.elem[a.prop] : (b = n.css(a.elem, a.prop, \"\"), b && \"auto\" !== b ? b : 0)\n            },\n            set: function(a) {\n                n.fx.step[a.prop] ? n.fx.step[a.prop](a) : 1 !== a.elem.nodeType || null == a.elem.style[n.cssProps[a.prop]] && !n.cssHooks[a.prop] ? a.elem[a.prop] = a.now : n.style(a.elem, a.prop, a.now + a.unit)\n            }\n        }\n    }, Ra.propHooks.scrollTop = Ra.propHooks.scrollLeft = {\n        set: function(a) {\n            a.elem.nodeType && a.elem.parentNode && (a.elem[a.prop] = a.now)\n        }\n    }, n.easing = {\n        linear: function(a) {\n            return a\n        },\n        swing: function(a) {\n            return .5 - Math.cos(a * Math.PI) / 2\n        },\n        _default: \"swing\"\n    }, n.fx = Ra.prototype.init, n.fx.step = {};\n    var Sa, Ta, Ua = /^(?:toggle|show|hide)$/,\n        Va = /queueHooks$/;\n\n    function Wa() {\n        return a.setTimeout(function() {\n            Sa = void 0\n        }), Sa = n.now()\n    }\n\n    function Xa(a, b) {\n        var c, d = 0,\n            e = {\n                height: a\n            };\n        for (b = b ? 1 : 0; 4 > d; d += 2 - b) c = U[d], e[\"margin\" + c] = e[\"padding\" + c] = a;\n        return b && (e.opacity = e.width = a), e\n    }\n\n    function Ya(a, b, c) {\n        for (var d, e = (_a.tweeners[b] || []).concat(_a.tweeners[\"*\"]), f = 0, g = e.length; g > f; f++)\n            if (d = e[f].call(c, b, a)) return d\n    }\n\n    function Za(a, b, c) {\n        var d, e, f, g, h, i, j, k, l = this,\n            m = {},\n            o = a.style,\n            p = a.nodeType && V(a),\n            q = N.get(a, \"fxshow\");\n        c.queue || (h = n._queueHooks(a, \"fx\"), null == h.unqueued && (h.unqueued = 0, i = h.empty.fire, h.empty.fire = function() {\n            h.unqueued || i()\n        }), h.unqueued++, l.always(function() {\n            l.always(function() {\n                h.unqueued--, n.queue(a, \"fx\").length || h.empty.fire()\n            })\n        })), 1 === a.nodeType && (\"height\" in b || \"width\" in b) && (c.overflow = [o.overflow, o.overflowX, o.overflowY], j = n.css(a, \"display\"), k = \"none\" === j ? N.get(a, \"olddisplay\") || za(a.nodeName) : j, \"inline\" === k && \"none\" === n.css(a, \"float\") && (o.display = \"inline-block\")), c.overflow && (o.overflow = \"hidden\", l.always(function() {\n            o.overflow = c.overflow[0], o.overflowX = c.overflow[1], o.overflowY = c.overflow[2]\n        }));\n        for (d in b)\n            if (e = b[d], Ua.exec(e)) {\n                if (delete b[d], f = f || \"toggle\" === e, e === (p ? \"hide\" : \"show\")) {\n                    if (\"show\" !== e || !q || void 0 === q[d]) continue;\n                    p = !0\n                }\n                m[d] = q && q[d] || n.style(a, d)\n            } else j = void 0;\n        if (n.isEmptyObject(m)) \"inline\" === (\"none\" === j ? za(a.nodeName) : j) && (o.display = j);\n        else {\n            q ? \"hidden\" in q && (p = q.hidden) : q = N.access(a, \"fxshow\", {}), f && (q.hidden = !p), p ? n(a).show() : l.done(function() {\n                n(a).hide()\n            }), l.done(function() {\n                var b;\n                N.remove(a, \"fxshow\");\n                for (b in m) n.style(a, b, m[b])\n            });\n            for (d in m) g = Ya(p ? q[d] : 0, d, l), d in q || (q[d] = g.start, p && (g.end = g.start, g.start = \"width\" === d || \"height\" === d ? 1 : 0))\n        }\n    }\n\n    function $a(a, b) {\n        var c, d, e, f, g;\n        for (c in a)\n            if (d = n.camelCase(c), e = b[d], f = a[c], n.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = n.cssHooks[d], g && \"expand\" in g) {\n                f = g.expand(f), delete a[d];\n                for (c in f) c in a || (a[c] = f[c], b[c] = e)\n            } else b[d] = e\n    }\n\n    function _a(a, b, c) {\n        var d, e, f = 0,\n            g = _a.prefilters.length,\n            h = n.Deferred().always(function() {\n                delete i.elem\n            }),\n            i = function() {\n                if (e) return !1;\n                for (var b = Sa || Wa(), c = Math.max(0, j.startTime + j.duration - b), d = c / j.duration || 0, f = 1 - d, g = 0, i = j.tweens.length; i > g; g++) j.tweens[g].run(f);\n                return h.notifyWith(a, [j, f, c]), 1 > f && i ? c : (h.resolveWith(a, [j]), !1)\n            },\n            j = h.promise({\n                elem: a,\n                props: n.extend({}, b),\n                opts: n.extend(!0, {\n                    specialEasing: {},\n                    easing: n.easing._default\n                }, c),\n                originalProperties: b,\n                originalOptions: c,\n                startTime: Sa || Wa(),\n                duration: c.duration,\n                tweens: [],\n                createTween: function(b, c) {\n                    var d = n.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing);\n                    return j.tweens.push(d), d\n                },\n                stop: function(b) {\n                    var c = 0,\n                        d = b ? j.tweens.length : 0;\n                    if (e) return this;\n                    for (e = !0; d > c; c++) j.tweens[c].run(1);\n                    return b ? (h.notifyWith(a, [j, 1, 0]), h.resolveWith(a, [j, b])) : h.rejectWith(a, [j, b]), this\n                }\n            }),\n            k = j.props;\n        for ($a(k, j.opts.specialEasing); g > f; f++)\n            if (d = _a.prefilters[f].call(j, a, k, j.opts)) return n.isFunction(d.stop) && (n._queueHooks(j.elem, j.opts.queue).stop = n.proxy(d.stop, d)), d;\n        return n.map(k, Ya, j), n.isFunction(j.opts.start) && j.opts.start.call(a, j), n.fx.timer(n.extend(i, {\n            elem: a,\n            anim: j,\n            queue: j.opts.queue\n        })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always)\n    }\n    n.Animation = n.extend(_a, {\n            tweeners: {\n                \"*\": [function(a, b) {\n                    var c = this.createTween(a, b);\n                    return W(c.elem, a, T.exec(b), c), c\n                }]\n            },\n            tweener: function(a, b) {\n                n.isFunction(a) ? (b = a, a = [\"*\"]) : a = a.match(G);\n                for (var c, d = 0, e = a.length; e > d; d++) c = a[d], _a.tweeners[c] = _a.tweeners[c] || [], _a.tweeners[c].unshift(b)\n            },\n            prefilters: [Za],\n            prefilter: function(a, b) {\n                b ? _a.prefilters.unshift(a) : _a.prefilters.push(a)\n            }\n        }), n.speed = function(a, b, c) {\n            var d = a && \"object\" == typeof a ? n.extend({}, a) : {\n                complete: c || !c && b || n.isFunction(a) && a,\n                duration: a,\n                easing: c && b || b && !n.isFunction(b) && b\n            };\n            return d.duration = n.fx.off ? 0 : \"number\" == typeof d.duration ? d.duration : d.duration in n.fx.speeds ? n.fx.speeds[d.duration] : n.fx.speeds._default, null != d.queue && d.queue !== !0 || (d.queue = \"fx\"), d.old = d.complete, d.complete = function() {\n                n.isFunction(d.old) && d.old.call(this), d.queue && n.dequeue(this, d.queue)\n            }, d\n        }, n.fn.extend({\n            fadeTo: function(a, b, c, d) {\n                return this.filter(V).css(\"opacity\", 0).show().end().animate({\n                    opacity: b\n                }, a, c, d)\n            },\n            animate: function(a, b, c, d) {\n                var e = n.isEmptyObject(a),\n                    f = n.speed(b, c, d),\n                    g = function() {\n                        var b = _a(this, n.extend({}, a), f);\n                        (e || N.get(this, \"finish\")) && b.stop(!0)\n                    };\n                return g.finish = g, e || f.queue === !1 ? this.each(g) : this.queue(f.queue, g)\n            },\n            stop: function(a, b, c) {\n                var d = function(a) {\n                    var b = a.stop;\n                    delete a.stop, b(c)\n                };\n                return \"string\" != typeof a && (c = b, b = a, a = void 0), b && a !== !1 && this.queue(a || \"fx\", []), this.each(function() {\n                    var b = !0,\n                        e = null != a && a + \"queueHooks\",\n                        f = n.timers,\n                        g = N.get(this);\n                    if (e) g[e] && g[e].stop && d(g[e]);\n                    else\n                        for (e in g) g[e] && g[e].stop && Va.test(e) && d(g[e]);\n                    for (e = f.length; e--;) f[e].elem !== this || null != a && f[e].queue !== a || (f[e].anim.stop(c), b = !1, f.splice(e, 1));\n                    !b && c || n.dequeue(this, a)\n                })\n            },\n            finish: function(a) {\n                return a !== !1 && (a = a || \"fx\"), this.each(function() {\n                    var b, c = N.get(this),\n                        d = c[a + \"queue\"],\n                        e = c[a + \"queueHooks\"],\n                        f = n.timers,\n                        g = d ? d.length : 0;\n                    for (c.finish = !0, n.queue(this, a, []), e && e.stop && e.stop.call(this, !0), b = f.length; b--;) f[b].elem === this && f[b].queue === a && (f[b].anim.stop(!0), f.splice(b, 1));\n                    for (b = 0; g > b; b++) d[b] && d[b].finish && d[b].finish.call(this);\n                    delete c.finish\n                })\n            }\n        }), n.each([\"toggle\", \"show\", \"hide\"], function(a, b) {\n            var c = n.fn[b];\n            n.fn[b] = function(a, d, e) {\n                return null == a || \"boolean\" == typeof a ? c.apply(this, arguments) : this.animate(Xa(b, !0), a, d, e)\n            }\n        }), n.each({\n            slideDown: Xa(\"show\"),\n            slideUp: Xa(\"hide\"),\n            slideToggle: Xa(\"toggle\"),\n            fadeIn: {\n                opacity: \"show\"\n            },\n            fadeOut: {\n                opacity: \"hide\"\n            },\n            fadeToggle: {\n                opacity: \"toggle\"\n            }\n        }, function(a, b) {\n            n.fn[a] = function(a, c, d) {\n                return this.animate(b, a, c, d)\n            }\n        }), n.timers = [], n.fx.tick = function() {\n            var a, b = 0,\n                c = n.timers;\n            for (Sa = n.now(); b < c.length; b++) a = c[b], a() || c[b] !== a || c.splice(b--, 1);\n            c.length || n.fx.stop(), Sa = void 0\n        }, n.fx.timer = function(a) {\n            n.timers.push(a), a() ? n.fx.start() : n.timers.pop()\n        }, n.fx.interval = 13, n.fx.start = function() {\n            Ta || (Ta = a.setInterval(n.fx.tick, n.fx.interval))\n        }, n.fx.stop = function() {\n            a.clearInterval(Ta), Ta = null\n        }, n.fx.speeds = {\n            slow: 600,\n            fast: 200,\n            _default: 400\n        }, n.fn.delay = function(b, c) {\n            return b = n.fx ? n.fx.speeds[b] || b : b, c = c || \"fx\", this.queue(c, function(c, d) {\n                var e = a.setTimeout(c, b);\n                d.stop = function() {\n                    a.clearTimeout(e)\n                }\n            })\n        },\n        function() {\n            var a = d.createElement(\"input\"),\n                b = d.createElement(\"select\"),\n                c = b.appendChild(d.createElement(\"option\"));\n            a.type = \"checkbox\", l.checkOn = \"\" !== a.value, l.optSelected = c.selected, b.disabled = !0, l.optDisabled = !c.disabled, a = d.createElement(\"input\"), a.value = \"t\", a.type = \"radio\", l.radioValue = \"t\" === a.value\n        }();\n    var ab, bb = n.expr.attrHandle;\n    n.fn.extend({\n        attr: function(a, b) {\n            return K(this, n.attr, a, b, arguments.length > 1)\n        },\n        removeAttr: function(a) {\n            return this.each(function() {\n                n.removeAttr(this, a)\n            })\n        }\n    }), n.extend({\n        attr: function(a, b, c) {\n            var d, e, f = a.nodeType;\n            if (3 !== f && 8 !== f && 2 !== f) return \"undefined\" == typeof a.getAttribute ? n.prop(a, b, c) : (1 === f && n.isXMLDoc(a) || (b = b.toLowerCase(), e = n.attrHooks[b] || (n.expr.match.bool.test(b) ? ab : void 0)), void 0 !== c ? null === c ? void n.removeAttr(a, b) : e && \"set\" in e && void 0 !== (d = e.set(a, c, b)) ? d : (a.setAttribute(b, c + \"\"), c) : e && \"get\" in e && null !== (d = e.get(a, b)) ? d : (d = n.find.attr(a, b), null == d ? void 0 : d))\n        },\n        attrHooks: {\n            type: {\n                set: function(a, b) {\n                    if (!l.radioValue && \"radio\" === b && n.nodeName(a, \"input\")) {\n                        var c = a.value;\n                        return a.setAttribute(\"type\", b), c && (a.value = c), b\n                    }\n                }\n            }\n        },\n        removeAttr: function(a, b) {\n            var c, d, e = 0,\n                f = b && b.match(G);\n            if (f && 1 === a.nodeType)\n                while (c = f[e++]) d = n.propFix[c] || c, n.expr.match.bool.test(c) && (a[d] = !1), a.removeAttribute(c)\n        }\n    }), ab = {\n        set: function(a, b, c) {\n            return b === !1 ? n.removeAttr(a, c) : a.setAttribute(c, c), c\n        }\n    }, n.each(n.expr.match.bool.source.match(/\\w+/g), function(a, b) {\n        var c = bb[b] || n.find.attr;\n        bb[b] = function(a, b, d) {\n            var e, f;\n            return d || (f = bb[b], bb[b] = e, e = null != c(a, b, d) ? b.toLowerCase() : null, bb[b] = f), e\n        }\n    });\n    var cb = /^(?:input|select|textarea|button)$/i,\n        db = /^(?:a|area)$/i;\n    n.fn.extend({\n        prop: function(a, b) {\n            return K(this, n.prop, a, b, arguments.length > 1)\n        },\n        removeProp: function(a) {\n            return this.each(function() {\n                delete this[n.propFix[a] || a]\n            })\n        }\n    }), n.extend({\n        prop: function(a, b, c) {\n            var d, e, f = a.nodeType;\n            if (3 !== f && 8 !== f && 2 !== f) return 1 === f && n.isXMLDoc(a) || (b = n.propFix[b] || b, e = n.propHooks[b]),\n                void 0 !== c ? e && \"set\" in e && void 0 !== (d = e.set(a, c, b)) ? d : a[b] = c : e && \"get\" in e && null !== (d = e.get(a, b)) ? d : a[b]\n        },\n        propHooks: {\n            tabIndex: {\n                get: function(a) {\n                    var b = n.find.attr(a, \"tabindex\");\n                    return b ? parseInt(b, 10) : cb.test(a.nodeName) || db.test(a.nodeName) && a.href ? 0 : -1\n                }\n            }\n        },\n        propFix: {\n            \"for\": \"htmlFor\",\n            \"class\": \"className\"\n        }\n    }), l.optSelected || (n.propHooks.selected = {\n        get: function(a) {\n            var b = a.parentNode;\n            return b && b.parentNode && b.parentNode.selectedIndex, null\n        },\n        set: function(a) {\n            var b = a.parentNode;\n            b && (b.selectedIndex, b.parentNode && b.parentNode.selectedIndex)\n        }\n    }), n.each([\"tabIndex\", \"readOnly\", \"maxLength\", \"cellSpacing\", \"cellPadding\", \"rowSpan\", \"colSpan\", \"useMap\", \"frameBorder\", \"contentEditable\"], function() {\n        n.propFix[this.toLowerCase()] = this\n    });\n    var eb = /[\\t\\r\\n\\f]/g;\n\n    function fb(a) {\n        return a.getAttribute && a.getAttribute(\"class\") || \"\"\n    }\n    n.fn.extend({\n        addClass: function(a) {\n            var b, c, d, e, f, g, h, i = 0;\n            if (n.isFunction(a)) return this.each(function(b) {\n                n(this).addClass(a.call(this, b, fb(this)))\n            });\n            if (\"string\" == typeof a && a) {\n                b = a.match(G) || [];\n                while (c = this[i++])\n                    if (e = fb(c), d = 1 === c.nodeType && (\" \" + e + \" \").replace(eb, \" \")) {\n                        g = 0;\n                        while (f = b[g++]) d.indexOf(\" \" + f + \" \") < 0 && (d += f + \" \");\n                        h = n.trim(d), e !== h && c.setAttribute(\"class\", h)\n                    }\n            }\n            return this\n        },\n        removeClass: function(a) {\n            var b, c, d, e, f, g, h, i = 0;\n            if (n.isFunction(a)) return this.each(function(b) {\n                n(this).removeClass(a.call(this, b, fb(this)))\n            });\n            if (!arguments.length) return this.attr(\"class\", \"\");\n            if (\"string\" == typeof a && a) {\n                b = a.match(G) || [];\n                while (c = this[i++])\n                    if (e = fb(c), d = 1 === c.nodeType && (\" \" + e + \" \").replace(eb, \" \")) {\n                        g = 0;\n                        while (f = b[g++])\n                            while (d.indexOf(\" \" + f + \" \") > -1) d = d.replace(\" \" + f + \" \", \" \");\n                        h = n.trim(d), e !== h && c.setAttribute(\"class\", h)\n                    }\n            }\n            return this\n        },\n        toggleClass: function(a, b) {\n            var c = typeof a;\n            return \"boolean\" == typeof b && \"string\" === c ? b ? this.addClass(a) : this.removeClass(a) : n.isFunction(a) ? this.each(function(c) {\n                n(this).toggleClass(a.call(this, c, fb(this), b), b)\n            }) : this.each(function() {\n                var b, d, e, f;\n                if (\"string\" === c) {\n                    d = 0, e = n(this), f = a.match(G) || [];\n                    while (b = f[d++]) e.hasClass(b) ? e.removeClass(b) : e.addClass(b)\n                } else void 0 !== a && \"boolean\" !== c || (b = fb(this), b && N.set(this, \"__className__\", b), this.setAttribute && this.setAttribute(\"class\", b || a === !1 ? \"\" : N.get(this, \"__className__\") || \"\"))\n            })\n        },\n        hasClass: function(a) {\n            var b, c, d = 0;\n            b = \" \" + a + \" \";\n            while (c = this[d++])\n                if (1 === c.nodeType && (\" \" + fb(c) + \" \").replace(eb, \" \").indexOf(b) > -1) return !0;\n            return !1\n        }\n    });\n    var gb = /\\r/g,\n        hb = /[\\x20\\t\\r\\n\\f]+/g;\n    n.fn.extend({\n        val: function(a) {\n            var b, c, d, e = this[0]; {\n                if (arguments.length) return d = n.isFunction(a), this.each(function(c) {\n                    var e;\n                    1 === this.nodeType && (e = d ? a.call(this, c, n(this).val()) : a, null == e ? e = \"\" : \"number\" == typeof e ? e += \"\" : n.isArray(e) && (e = n.map(e, function(a) {\n                        return null == a ? \"\" : a + \"\"\n                    })), b = n.valHooks[this.type] || n.valHooks[this.nodeName.toLowerCase()], b && \"set\" in b && void 0 !== b.set(this, e, \"value\") || (this.value = e))\n                });\n                if (e) return b = n.valHooks[e.type] || n.valHooks[e.nodeName.toLowerCase()], b && \"get\" in b && void 0 !== (c = b.get(e, \"value\")) ? c : (c = e.value, \"string\" == typeof c ? c.replace(gb, \"\") : null == c ? \"\" : c)\n            }\n        }\n    }), n.extend({\n        valHooks: {\n            option: {\n                get: function(a) {\n                    var b = n.find.attr(a, \"value\");\n                    return null != b ? b : n.trim(n.text(a)).replace(hb, \" \")\n                }\n            },\n            select: {\n                get: function(a) {\n                    for (var b, c, d = a.options, e = a.selectedIndex, f = \"select-one\" === a.type || 0 > e, g = f ? null : [], h = f ? e + 1 : d.length, i = 0 > e ? h : f ? e : 0; h > i; i++)\n                        if (c = d[i], (c.selected || i === e) && (l.optDisabled ? !c.disabled : null === c.getAttribute(\"disabled\")) && (!c.parentNode.disabled || !n.nodeName(c.parentNode, \"optgroup\"))) {\n                            if (b = n(c).val(), f) return b;\n                            g.push(b)\n                        }\n                    return g\n                },\n                set: function(a, b) {\n                    var c, d, e = a.options,\n                        f = n.makeArray(b),\n                        g = e.length;\n                    while (g--) d = e[g], (d.selected = n.inArray(n.valHooks.option.get(d), f) > -1) && (c = !0);\n                    return c || (a.selectedIndex = -1), f\n                }\n            }\n        }\n    }), n.each([\"radio\", \"checkbox\"], function() {\n        n.valHooks[this] = {\n            set: function(a, b) {\n                return n.isArray(b) ? a.checked = n.inArray(n(a).val(), b) > -1 : void 0\n            }\n        }, l.checkOn || (n.valHooks[this].get = function(a) {\n            return null === a.getAttribute(\"value\") ? \"on\" : a.value\n        })\n    });\n    var ib = /^(?:focusinfocus|focusoutblur)$/;\n    n.extend(n.event, {\n        trigger: function(b, c, e, f) {\n            var g, h, i, j, l, m, o, p = [e || d],\n                q = k.call(b, \"type\") ? b.type : b,\n                r = k.call(b, \"namespace\") ? b.namespace.split(\".\") : [];\n            if (h = i = e = e || d, 3 !== e.nodeType && 8 !== e.nodeType && !ib.test(q + n.event.triggered) && (q.indexOf(\".\") > -1 && (r = q.split(\".\"), q = r.shift(), r.sort()), l = q.indexOf(\":\") < 0 && \"on\" + q, b = b[n.expando] ? b : new n.Event(q, \"object\" == typeof b && b), b.isTrigger = f ? 2 : 3, b.namespace = r.join(\".\"), b.rnamespace = b.namespace ? new RegExp(\"(^|\\\\.)\" + r.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null, b.result = void 0, b.target || (b.target = e), c = null == c ? [b] : n.makeArray(c, [b]), o = n.event.special[q] || {}, f || !o.trigger || o.trigger.apply(e, c) !== !1)) {\n                if (!f && !o.noBubble && !n.isWindow(e)) {\n                    for (j = o.delegateType || q, ib.test(j + q) || (h = h.parentNode); h; h = h.parentNode) p.push(h), i = h;\n                    i === (e.ownerDocument || d) && p.push(i.defaultView || i.parentWindow || a)\n                }\n                g = 0;\n                while ((h = p[g++]) && !b.isPropagationStopped()) b.type = g > 1 ? j : o.bindType || q, m = (N.get(h, \"events\") || {})[b.type] && N.get(h, \"handle\"), m && m.apply(h, c), m = l && h[l], m && m.apply && L(h) && (b.result = m.apply(h, c), b.result === !1 && b.preventDefault());\n                return b.type = q, f || b.isDefaultPrevented() || o._default && o._default.apply(p.pop(), c) !== !1 || !L(e) || l && n.isFunction(e[q]) && !n.isWindow(e) && (i = e[l], i && (e[l] = null), n.event.triggered = q, e[q](), n.event.triggered = void 0, i && (e[l] = i)), b.result\n            }\n        },\n        simulate: function(a, b, c) {\n            var d = n.extend(new n.Event, c, {\n                type: a,\n                isSimulated: !0\n            });\n            n.event.trigger(d, null, b)\n        }\n    }), n.fn.extend({\n        trigger: function(a, b) {\n            return this.each(function() {\n                n.event.trigger(a, b, this)\n            })\n        },\n        triggerHandler: function(a, b) {\n            var c = this[0];\n            return c ? n.event.trigger(a, b, c, !0) : void 0\n        }\n    }), n.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"), function(a, b) {\n        n.fn[b] = function(a, c) {\n            return arguments.length > 0 ? this.on(b, null, a, c) : this.trigger(b)\n        }\n    }), n.fn.extend({\n        hover: function(a, b) {\n            return this.mouseenter(a).mouseleave(b || a)\n        }\n    }), l.focusin = \"onfocusin\" in a, l.focusin || n.each({\n        focus: \"focusin\",\n        blur: \"focusout\"\n    }, function(a, b) {\n        var c = function(a) {\n            n.event.simulate(b, a.target, n.event.fix(a))\n        };\n        n.event.special[b] = {\n            setup: function() {\n                var d = this.ownerDocument || this,\n                    e = N.access(d, b);\n                e || d.addEventListener(a, c, !0), N.access(d, b, (e || 0) + 1)\n            },\n            teardown: function() {\n                var d = this.ownerDocument || this,\n                    e = N.access(d, b) - 1;\n                e ? N.access(d, b, e) : (d.removeEventListener(a, c, !0), N.remove(d, b))\n            }\n        }\n    });\n    var jb = a.location,\n        kb = n.now(),\n        lb = /\\?/;\n    n.parseJSON = function(a) {\n        return JSON.parse(a + \"\")\n    }, n.parseXML = function(b) {\n        var c;\n        if (!b || \"string\" != typeof b) return null;\n        try {\n            c = (new a.DOMParser).parseFromString(b, \"text/xml\")\n        } catch (d) {\n            c = void 0\n        }\n        return c && !c.getElementsByTagName(\"parsererror\").length || n.error(\"Invalid XML: \" + b), c\n    };\n    var mb = /#.*$/,\n        nb = /([?&])_=[^&]*/,\n        ob = /^(.*?):[ \\t]*([^\\r\\n]*)$/gm,\n        pb = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n        qb = /^(?:GET|HEAD)$/,\n        rb = /^\\/\\//,\n        sb = {},\n        tb = {},\n        ub = \"*/\".concat(\"*\"),\n        vb = d.createElement(\"a\");\n    vb.href = jb.href;\n\n    function wb(a) {\n        return function(b, c) {\n            \"string\" != typeof b && (c = b, b = \"*\");\n            var d, e = 0,\n                f = b.toLowerCase().match(G) || [];\n            if (n.isFunction(c))\n                while (d = f[e++]) \"+\" === d[0] ? (d = d.slice(1) || \"*\", (a[d] = a[d] || []).unshift(c)) : (a[d] = a[d] || []).push(c)\n        }\n    }\n\n    function xb(a, b, c, d) {\n        var e = {},\n            f = a === tb;\n\n        function g(h) {\n            var i;\n            return e[h] = !0, n.each(a[h] || [], function(a, h) {\n                var j = h(b, c, d);\n                return \"string\" != typeof j || f || e[j] ? f ? !(i = j) : void 0 : (b.dataTypes.unshift(j), g(j), !1)\n            }), i\n        }\n        return g(b.dataTypes[0]) || !e[\"*\"] && g(\"*\")\n    }\n\n    function yb(a, b) {\n        var c, d, e = n.ajaxSettings.flatOptions || {};\n        for (c in b) void 0 !== b[c] && ((e[c] ? a : d || (d = {}))[c] = b[c]);\n        return d && n.extend(!0, a, d), a\n    }\n\n    function zb(a, b, c) {\n        var d, e, f, g, h = a.contents,\n            i = a.dataTypes;\n        while (\"*\" === i[0]) i.shift(), void 0 === d && (d = a.mimeType || b.getResponseHeader(\"Content-Type\"));\n        if (d)\n            for (e in h)\n                if (h[e] && h[e].test(d)) {\n                    i.unshift(e);\n                    break\n                }\n        if (i[0] in c) f = i[0];\n        else {\n            for (e in c) {\n                if (!i[0] || a.converters[e + \" \" + i[0]]) {\n                    f = e;\n                    break\n                }\n                g || (g = e)\n            }\n            f = f || g\n        }\n        return f ? (f !== i[0] && i.unshift(f), c[f]) : void 0\n    }\n\n    function Ab(a, b, c, d) {\n        var e, f, g, h, i, j = {},\n            k = a.dataTypes.slice();\n        if (k[1])\n            for (g in a.converters) j[g.toLowerCase()] = a.converters[g];\n        f = k.shift();\n        while (f)\n            if (a.responseFields[f] && (c[a.responseFields[f]] = b), !i && d && a.dataFilter && (b = a.dataFilter(b, a.dataType)), i = f, f = k.shift())\n                if (\"*\" === f) f = i;\n                else if (\"*\" !== i && i !== f) {\n            if (g = j[i + \" \" + f] || j[\"* \" + f], !g)\n                for (e in j)\n                    if (h = e.split(\" \"), h[1] === f && (g = j[i + \" \" + h[0]] || j[\"* \" + h[0]])) {\n                        g === !0 ? g = j[e] : j[e] !== !0 && (f = h[0], k.unshift(h[1]));\n                        break\n                    }\n            if (g !== !0)\n                if (g && a[\"throws\"]) b = g(b);\n                else try {\n                    b = g(b)\n                } catch (l) {\n                    return {\n                        state: \"parsererror\",\n                        error: g ? l : \"No conversion from \" + i + \" to \" + f\n                    }\n                }\n        }\n        return {\n            state: \"success\",\n            data: b\n        }\n    }\n    n.extend({\n        active: 0,\n        lastModified: {},\n        etag: {},\n        ajaxSettings: {\n            url: jb.href,\n            type: \"GET\",\n            isLocal: pb.test(jb.protocol),\n            global: !0,\n            processData: !0,\n            async: !0,\n            contentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n            accepts: {\n                \"*\": ub,\n                text: \"text/plain\",\n                html: \"text/html\",\n                xml: \"application/xml, text/xml\",\n                json: \"application/json, text/javascript\"\n            },\n            contents: {\n                xml: /\\bxml\\b/,\n                html: /\\bhtml/,\n                json: /\\bjson\\b/\n            },\n            responseFields: {\n                xml: \"responseXML\",\n                text: \"responseText\",\n                json: \"responseJSON\"\n            },\n            converters: {\n                \"* text\": String,\n                \"text html\": !0,\n                \"text json\": n.parseJSON,\n                \"text xml\": n.parseXML\n            },\n            flatOptions: {\n                url: !0,\n                context: !0\n            }\n        },\n        ajaxSetup: function(a, b) {\n            return b ? yb(yb(a, n.ajaxSettings), b) : yb(n.ajaxSettings, a)\n        },\n        ajaxPrefilter: wb(sb),\n        ajaxTransport: wb(tb),\n        ajax: function(b, c) {\n            \"object\" == typeof b && (c = b, b = void 0), c = c || {};\n            var e, f, g, h, i, j, k, l, m = n.ajaxSetup({}, c),\n                o = m.context || m,\n                p = m.context && (o.nodeType || o.jquery) ? n(o) : n.event,\n                q = n.Deferred(),\n                r = n.Callbacks(\"once memory\"),\n                s = m.statusCode || {},\n                t = {},\n                u = {},\n                v = 0,\n                w = \"canceled\",\n                x = {\n                    readyState: 0,\n                    getResponseHeader: function(a) {\n                        var b;\n                        if (2 === v) {\n                            if (!h) {\n                                h = {};\n                                while (b = ob.exec(g)) h[b[1].toLowerCase()] = b[2]\n                            }\n                            b = h[a.toLowerCase()]\n                        }\n                        return null == b ? null : b\n                    },\n                    getAllResponseHeaders: function() {\n                        return 2 === v ? g : null\n                    },\n                    setRequestHeader: function(a, b) {\n                        var c = a.toLowerCase();\n                        return v || (a = u[c] = u[c] || a, t[a] = b), this\n                    },\n                    overrideMimeType: function(a) {\n                        return v || (m.mimeType = a), this\n                    },\n                    statusCode: function(a) {\n                        var b;\n                        if (a)\n                            if (2 > v)\n                                for (b in a) s[b] = [s[b], a[b]];\n                            else x.always(a[x.status]);\n                        return this\n                    },\n                    abort: function(a) {\n                        var b = a || w;\n                        return e && e.abort(b), z(0, b), this\n                    }\n                };\n            if (q.promise(x).complete = r.add, x.success = x.done, x.error = x.fail, m.url = ((b || m.url || jb.href) + \"\").replace(mb, \"\").replace(rb, jb.protocol + \"//\"), m.type = c.method || c.type || m.method || m.type, m.dataTypes = n.trim(m.dataType || \"*\").toLowerCase().match(G) || [\"\"], null == m.crossDomain) {\n                j = d.createElement(\"a\");\n                try {\n                    j.href = m.url, j.href = j.href, m.crossDomain = vb.protocol + \"//\" + vb.host != j.protocol + \"//\" + j.host\n                } catch (y) {\n                    m.crossDomain = !0\n                }\n            }\n            if (m.data && m.processData && \"string\" != typeof m.data && (m.data = n.param(m.data, m.traditional)), xb(sb, m, c, x), 2 === v) return x;\n            k = n.event && m.global, k && 0 === n.active++ && n.event.trigger(\"ajaxStart\"), m.type = m.type.toUpperCase(), m.hasContent = !qb.test(m.type), f = m.url, m.hasContent || (m.data && (f = m.url += (lb.test(f) ? \"&\" : \"?\") + m.data, delete m.data), m.cache === !1 && (m.url = nb.test(f) ? f.replace(nb, \"$1_=\" + kb++) : f + (lb.test(f) ? \"&\" : \"?\") + \"_=\" + kb++)), m.ifModified && (n.lastModified[f] && x.setRequestHeader(\"If-Modified-Since\", n.lastModified[f]), n.etag[f] && x.setRequestHeader(\"If-None-Match\", n.etag[f])), (m.data && m.hasContent && m.contentType !== !1 || c.contentType) && x.setRequestHeader(\"Content-Type\", m.contentType), x.setRequestHeader(\"Accept\", m.dataTypes[0] && m.accepts[m.dataTypes[0]] ? m.accepts[m.dataTypes[0]] + (\"*\" !== m.dataTypes[0] ? \", \" + ub + \"; q=0.01\" : \"\") : m.accepts[\"*\"]);\n            for (l in m.headers) x.setRequestHeader(l, m.headers[l]);\n            if (m.beforeSend && (m.beforeSend.call(o, x, m) === !1 || 2 === v)) return x.abort();\n            w = \"abort\";\n            for (l in {\n                    success: 1,\n                    error: 1,\n                    complete: 1\n                }) x[l](m[l]);\n            if (e = xb(tb, m, c, x)) {\n                if (x.readyState = 1, k && p.trigger(\"ajaxSend\", [x, m]), 2 === v) return x;\n                m.async && m.timeout > 0 && (i = a.setTimeout(function() {\n                    x.abort(\"timeout\")\n                }, m.timeout));\n                try {\n                    v = 1, e.send(t, z)\n                } catch (y) {\n                    if (!(2 > v)) throw y;\n                    z(-1, y)\n                }\n            } else z(-1, \"No Transport\");\n\n            function z(b, c, d, h) {\n                var j, l, t, u, w, y = c;\n                2 !== v && (v = 2, i && a.clearTimeout(i), e = void 0, g = h || \"\", x.readyState = b > 0 ? 4 : 0, j = b >= 200 && 300 > b || 304 === b, d && (u = zb(m, x, d)), u = Ab(m, u, x, j), j ? (m.ifModified && (w = x.getResponseHeader(\"Last-Modified\"), w && (n.lastModified[f] = w), w = x.getResponseHeader(\"etag\"), w && (n.etag[f] = w)), 204 === b || \"HEAD\" === m.type ? y = \"nocontent\" : 304 === b ? y = \"notmodified\" : (y = u.state, l = u.data, t = u.error, j = !t)) : (t = y, !b && y || (y = \"error\", 0 > b && (b = 0))), x.status = b, x.statusText = (c || y) + \"\", j ? q.resolveWith(o, [l, y, x]) : q.rejectWith(o, [x, y, t]), x.statusCode(s), s = void 0, k && p.trigger(j ? \"ajaxSuccess\" : \"ajaxError\", [x, m, j ? l : t]), r.fireWith(o, [x, y]), k && (p.trigger(\"ajaxComplete\", [x, m]), --n.active || n.event.trigger(\"ajaxStop\")))\n            }\n            return x\n        },\n        getJSON: function(a, b, c) {\n            return n.get(a, b, c, \"json\")\n        },\n        getScript: function(a, b) {\n            return n.get(a, void 0, b, \"script\")\n        }\n    }), n.each([\"get\", \"post\"], function(a, b) {\n        n[b] = function(a, c, d, e) {\n            return n.isFunction(c) && (e = e || d, d = c, c = void 0), n.ajax(n.extend({\n                url: a,\n                type: b,\n                dataType: e,\n                data: c,\n                success: d\n            }, n.isPlainObject(a) && a))\n        }\n    }), n._evalUrl = function(a) {\n        return n.ajax({\n            url: a,\n            type: \"GET\",\n            dataType: \"script\",\n            async: !1,\n            global: !1,\n            \"throws\": !0\n        })\n    }, n.fn.extend({\n        wrapAll: function(a) {\n            var b;\n            return n.isFunction(a) ? this.each(function(b) {\n                n(this).wrapAll(a.call(this, b))\n            }) : (this[0] && (b = n(a, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && b.insertBefore(this[0]), b.map(function() {\n                var a = this;\n                while (a.firstElementChild) a = a.firstElementChild;\n                return a\n            }).append(this)), this)\n        },\n        wrapInner: function(a) {\n            return n.isFunction(a) ? this.each(function(b) {\n                n(this).wrapInner(a.call(this, b))\n            }) : this.each(function() {\n                var b = n(this),\n                    c = b.contents();\n                c.length ? c.wrapAll(a) : b.append(a)\n            })\n        },\n        wrap: function(a) {\n            var b = n.isFunction(a);\n            return this.each(function(c) {\n                n(this).wrapAll(b ? a.call(this, c) : a)\n            })\n        },\n        unwrap: function() {\n            return this.parent().each(function() {\n                n.nodeName(this, \"body\") || n(this).replaceWith(this.childNodes)\n            }).end()\n        }\n    }), n.expr.filters.hidden = function(a) {\n        return !n.expr.filters.visible(a)\n    }, n.expr.filters.visible = function(a) {\n        return a.offsetWidth > 0 || a.offsetHeight > 0 || a.getClientRects().length > 0\n    };\n    var Bb = /%20/g,\n        Cb = /\\[\\]$/,\n        Db = /\\r?\\n/g,\n        Eb = /^(?:submit|button|image|reset|file)$/i,\n        Fb = /^(?:input|select|textarea|keygen)/i;\n\n    function Gb(a, b, c, d) {\n        var e;\n        if (n.isArray(b)) n.each(b, function(b, e) {\n            c || Cb.test(a) ? d(a, e) : Gb(a + \"[\" + (\"object\" == typeof e && null != e ? b : \"\") + \"]\", e, c, d)\n        });\n        else if (c || \"object\" !== n.type(b)) d(a, b);\n        else\n            for (e in b) Gb(a + \"[\" + e + \"]\", b[e], c, d)\n    }\n    n.param = function(a, b) {\n        var c, d = [],\n            e = function(a, b) {\n                b = n.isFunction(b) ? b() : null == b ? \"\" : b, d[d.length] = encodeURIComponent(a) + \"=\" + encodeURIComponent(b)\n            };\n        if (void 0 === b && (b = n.ajaxSettings && n.ajaxSettings.traditional), n.isArray(a) || a.jquery && !n.isPlainObject(a)) n.each(a, function() {\n            e(this.name, this.value)\n        });\n        else\n            for (c in a) Gb(c, a[c], b, e);\n        return d.join(\"&\").replace(Bb, \"+\")\n    }, n.fn.extend({\n        serialize: function() {\n            return n.param(this.serializeArray())\n        },\n        serializeArray: function() {\n            return this.map(function() {\n                var a = n.prop(this, \"elements\");\n                return a ? n.makeArray(a) : this\n            }).filter(function() {\n                var a = this.type;\n                return this.name && !n(this).is(\":disabled\") && Fb.test(this.nodeName) && !Eb.test(a) && (this.checked || !X.test(a))\n            }).map(function(a, b) {\n                var c = n(this).val();\n                return null == c ? null : n.isArray(c) ? n.map(c, function(a) {\n                    return {\n                        name: b.name,\n                        value: a.replace(Db, \"\\r\\n\")\n                    }\n                }) : {\n                    name: b.name,\n                    value: c.replace(Db, \"\\r\\n\")\n                }\n            }).get()\n        }\n    }), n.ajaxSettings.xhr = function() {\n        try {\n            return new a.XMLHttpRequest\n        } catch (b) {}\n    };\n    var Hb = {\n            0: 200,\n            1223: 204\n        },\n        Ib = n.ajaxSettings.xhr();\n    l.cors = !!Ib && \"withCredentials\" in Ib, l.ajax = Ib = !!Ib, n.ajaxTransport(function(b) {\n        var c, d;\n        return l.cors || Ib && !b.crossDomain ? {\n            send: function(e, f) {\n                var g, h = b.xhr();\n                if (h.open(b.type, b.url, b.async, b.username, b.password), b.xhrFields)\n                    for (g in b.xhrFields) h[g] = b.xhrFields[g];\n                b.mimeType && h.overrideMimeType && h.overrideMimeType(b.mimeType), b.crossDomain || e[\"X-Requested-With\"] || (e[\"X-Requested-With\"] = \"XMLHttpRequest\");\n                for (g in e) h.setRequestHeader(g, e[g]);\n                c = function(a) {\n                    return function() {\n                        c && (c = d = h.onload = h.onerror = h.onabort = h.onreadystatechange = null, \"abort\" === a ? h.abort() : \"error\" === a ? \"number\" != typeof h.status ? f(0, \"error\") : f(h.status, h.statusText) : f(Hb[h.status] || h.status, h.statusText, \"text\" !== (h.responseType || \"text\") || \"string\" != typeof h.responseText ? {\n                            binary: h.response\n                        } : {\n                            text: h.responseText\n                        }, h.getAllResponseHeaders()))\n                    }\n                }, h.onload = c(), d = h.onerror = c(\"error\"), void 0 !== h.onabort ? h.onabort = d : h.onreadystatechange = function() {\n                    4 === h.readyState && a.setTimeout(function() {\n                        c && d()\n                    })\n                }, c = c(\"abort\");\n                try {\n                    h.send(b.hasContent && b.data || null)\n                } catch (i) {\n                    if (c) throw i\n                }\n            },\n            abort: function() {\n                c && c()\n            }\n        } : void 0\n    }), n.ajaxSetup({\n        accepts: {\n            script: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\n        },\n        contents: {\n            script: /\\b(?:java|ecma)script\\b/\n        },\n        converters: {\n            \"text script\": function(a) {\n                return n.globalEval(a), a\n            }\n        }\n    }), n.ajaxPrefilter(\"script\", function(a) {\n        void 0 === a.cache && (a.cache = !1), a.crossDomain && (a.type = \"GET\")\n    }), n.ajaxTransport(\"script\", function(a) {\n        if (a.crossDomain) {\n            var b, c;\n            return {\n                send: function(e, f) {\n                    b = n(\"<script>\").prop({\n                        charset: a.scriptCharset,\n                        src: a.url\n                    }).on(\"load error\", c = function(a) {\n                        b.remove(), c = null, a && f(\"error\" === a.type ? 404 : 200, a.type)\n                    }), d.head.appendChild(b[0])\n                },\n                abort: function() {\n                    c && c()\n                }\n            }\n        }\n    });\n    var Jb = [],\n        Kb = /(=)\\?(?=&|$)|\\?\\?/;\n    n.ajaxSetup({\n        jsonp: \"callback\",\n        jsonpCallback: function() {\n            var a = Jb.pop() || n.expando + \"_\" + kb++;\n            return this[a] = !0, a\n        }\n    }), n.ajaxPrefilter(\"json jsonp\", function(b, c, d) {\n        var e, f, g, h = b.jsonp !== !1 && (Kb.test(b.url) ? \"url\" : \"string\" == typeof b.data && 0 === (b.contentType || \"\").indexOf(\"application/x-www-form-urlencoded\") && Kb.test(b.data) && \"data\");\n        return h || \"jsonp\" === b.dataTypes[0] ? (e = b.jsonpCallback = n.isFunction(b.jsonpCallback) ? b.jsonpCallback() : b.jsonpCallback, h ? b[h] = b[h].replace(Kb, \"$1\" + e) : b.jsonp !== !1 && (b.url += (lb.test(b.url) ? \"&\" : \"?\") + b.jsonp + \"=\" + e), b.converters[\"script json\"] = function() {\n            return g || n.error(e + \" was not called\"), g[0]\n        }, b.dataTypes[0] = \"json\", f = a[e], a[e] = function() {\n            g = arguments\n        }, d.always(function() {\n            void 0 === f ? n(a).removeProp(e) : a[e] = f, b[e] && (b.jsonpCallback = c.jsonpCallback, Jb.push(e)), g && n.isFunction(f) && f(g[0]), g = f = void 0\n        }), \"script\") : void 0\n    }), n.parseHTML = function(a, b, c) {\n        if (!a || \"string\" != typeof a) return null;\n        \"boolean\" == typeof b && (c = b, b = !1), b = b || d;\n        var e = x.exec(a),\n            f = !c && [];\n        return e ? [b.createElement(e[1])] : (e = ca([a], b, f), f && f.length && n(f).remove(), n.merge([], e.childNodes))\n    };\n    var Lb = n.fn.load;\n    n.fn.load = function(a, b, c) {\n        if (\"string\" != typeof a && Lb) return Lb.apply(this, arguments);\n        var d, e, f, g = this,\n            h = a.indexOf(\" \");\n        return h > -1 && (d = n.trim(a.slice(h)), a = a.slice(0, h)), n.isFunction(b) ? (c = b, b = void 0) : b && \"object\" == typeof b && (e = \"POST\"), g.length > 0 && n.ajax({\n            url: a,\n            type: e || \"GET\",\n            dataType: \"html\",\n            data: b\n        }).done(function(a) {\n            f = arguments, g.html(d ? n(\"<div>\").append(n.parseHTML(a)).find(d) : a)\n        }).always(c && function(a, b) {\n            g.each(function() {\n                c.apply(this, f || [a.responseText, b, a])\n            })\n        }), this\n    }, n.each([\"ajaxStart\", \"ajaxStop\", \"ajaxComplete\", \"ajaxError\", \"ajaxSuccess\", \"ajaxSend\"], function(a, b) {\n        n.fn[b] = function(a) {\n            return this.on(b, a)\n        }\n    }), n.expr.filters.animated = function(a) {\n        return n.grep(n.timers, function(b) {\n            return a === b.elem\n        }).length\n    };\n\n    function Mb(a) {\n        return n.isWindow(a) ? a : 9 === a.nodeType && a.defaultView\n    }\n    n.offset = {\n        setOffset: function(a, b, c) {\n            var d, e, f, g, h, i, j, k = n.css(a, \"position\"),\n                l = n(a),\n                m = {};\n            \"static\" === k && (a.style.position = \"relative\"), h = l.offset(), f = n.css(a, \"top\"), i = n.css(a, \"left\"), j = (\"absolute\" === k || \"fixed\" === k) && (f + i).indexOf(\"auto\") > -1, j ? (d = l.position(), g = d.top, e = d.left) : (g = parseFloat(f) || 0, e = parseFloat(i) || 0), n.isFunction(b) && (b = b.call(a, c, n.extend({}, h))), null != b.top && (m.top = b.top - h.top + g), null != b.left && (m.left = b.left - h.left + e), \"using\" in b ? b.using.call(a, m) : l.css(m)\n        }\n    }, n.fn.extend({\n        offset: function(a) {\n            if (arguments.length) return void 0 === a ? this : this.each(function(b) {\n                n.offset.setOffset(this, a, b)\n            });\n            var b, c, d = this[0],\n                e = {\n                    top: 0,\n                    left: 0\n                },\n                f = d && d.ownerDocument;\n            if (f) return b = f.documentElement, n.contains(b, d) ? (e = d.getBoundingClientRect(), c = Mb(f), {\n                top: e.top + c.pageYOffset - b.clientTop,\n                left: e.left + c.pageXOffset - b.clientLeft\n            }) : e\n        },\n        position: function() {\n            if (this[0]) {\n                var a, b, c = this[0],\n                    d = {\n                        top: 0,\n                        left: 0\n                    };\n                return \"fixed\" === n.css(c, \"position\") ? b = c.getBoundingClientRect() : (a = this.offsetParent(), b = this.offset(), n.nodeName(a[0], \"html\") || (d = a.offset()), d.top += n.css(a[0], \"borderTopWidth\", !0), d.left += n.css(a[0], \"borderLeftWidth\", !0)), {\n                    top: b.top - d.top - n.css(c, \"marginTop\", !0),\n                    left: b.left - d.left - n.css(c, \"marginLeft\", !0)\n                }\n            }\n        },\n        offsetParent: function() {\n            return this.map(function() {\n                var a = this.offsetParent;\n                while (a && \"static\" === n.css(a, \"position\")) a = a.offsetParent;\n                return a || Ea\n            })\n        }\n    }), n.each({\n        scrollLeft: \"pageXOffset\",\n        scrollTop: \"pageYOffset\"\n    }, function(a, b) {\n        var c = \"pageYOffset\" === b;\n        n.fn[a] = function(d) {\n            return K(this, function(a, d, e) {\n                var f = Mb(a);\n                return void 0 === e ? f ? f[b] : a[d] : void(f ? f.scrollTo(c ? f.pageXOffset : e, c ? e : f.pageYOffset) : a[d] = e)\n            }, a, d, arguments.length)\n        }\n    }), n.each([\"top\", \"left\"], function(a, b) {\n        n.cssHooks[b] = Ga(l.pixelPosition, function(a, c) {\n            return c ? (c = Fa(a, b), Ba.test(c) ? n(a).position()[b] + \"px\" : c) : void 0\n        })\n    }), n.each({\n        Height: \"height\",\n        Width: \"width\"\n    }, function(a, b) {\n        n.each({\n            padding: \"inner\" + a,\n            content: b,\n            \"\": \"outer\" + a\n        }, function(c, d) {\n            n.fn[d] = function(d, e) {\n                var f = arguments.length && (c || \"boolean\" != typeof d),\n                    g = c || (d === !0 || e === !0 ? \"margin\" : \"border\");\n                return K(this, function(b, c, d) {\n                    var e;\n                    return n.isWindow(b) ? b.document.documentElement[\"client\" + a] : 9 === b.nodeType ? (e = b.documentElement, Math.max(b.body[\"scroll\" + a], e[\"scroll\" + a], b.body[\"offset\" + a], e[\"offset\" + a], e[\"client\" + a])) : void 0 === d ? n.css(b, c, g) : n.style(b, c, d, g)\n                }, b, f ? d : void 0, f, null)\n            }\n        })\n    }), n.fn.extend({\n        bind: function(a, b, c) {\n            return this.on(a, null, b, c)\n        },\n        unbind: function(a, b) {\n            return this.off(a, null, b)\n        },\n        delegate: function(a, b, c, d) {\n            return this.on(b, a, c, d)\n        },\n        undelegate: function(a, b, c) {\n            return 1 === arguments.length ? this.off(a, \"**\") : this.off(b, a || \"**\", c)\n        },\n        size: function() {\n            return this.length\n        }\n    }), n.fn.andSelf = n.fn.addBack, \"function\" == typeof define && define.amd && define(\"jquery\", [], function() {\n        return n\n    });\n    var Nb = a.jQuery,\n        Ob = a.$;\n    return n.noConflict = function(b) {\n        return a.$ === n && (a.$ = Ob), b && a.jQuery === n && (a.jQuery = Nb), n\n    }, b || (a.jQuery = a.$ = n), n\n});"
  },
  {
    "path": "js/script.js",
    "content": "var sf = new Snowflakes({\n    color: \"#ffd700\",\n    minSize: 20\n});\nvar url_string = window.location.href; //window.location.href\nvar url = new URL(url_string);\nvar c = url.searchParams.get(\"name\");\nconsole.log(c);\nif (c != null) {\n    document.getElementById(\"name\").innerHTML = c;\n    document.getElementById(\"nae\").innerHTML = c;\n}\n$(\".main\").fadeOut(1);\n$('#play').click(function () {\n    $(\".loader\").fadeOut(1500);\n    $(\".main\").fadeIn(\"slow\");\n    sf.destroy();\n    $('.balloon-border').animate({\n        top: -500\n    }, 8000);\n    var audio = $('.song')[0];\n    audio.play();\n\n});\nvar typed = new Typed(\"#typed\", {\n    stringsElement: '#typed-strings',\n    typeSpeed: 30,\n    backSpeed: 10,\n    loop: true\n});\nvar retina = window.devicePixelRatio,\n\n    // Math shorthands\n    PI = Math.PI,\n    sqrt = Math.sqrt,\n    round = Math.round,\n    random = Math.random,\n    cos = Math.cos,\n    sin = Math.sin,\n\n    // Local WindowAnimationTiming interface\n    rAF = window.requestAnimationFrame,\n    cAF = window.cancelAnimationFrame || window.cancelRequestAnimationFrame,\n    _now = Date.now || function () {\n        return new Date().getTime();\n    };\n\n// Local WindowAnimationTiming interface polyfill\n(function (w) {\n    /**\n     * Fallback implementation.\n     */\n    var prev = _now();\n\n    function fallback(fn) {\n        var curr = _now();\n        var ms = Math.max(0, 16 - (curr - prev));\n        var req = setTimeout(fn, ms);\n        prev = curr;\n        return req;\n    }\n\n    /**\n     * Cancel.\n     */\n    var cancel = w.cancelAnimationFrame ||\n        w.webkitCancelAnimationFrame ||\n        w.clearTimeout;\n\n    rAF = w.requestAnimationFrame ||\n        w.webkitRequestAnimationFrame ||\n        fallback;\n\n    cAF = function (id) {\n        cancel.call(w, id);\n    };\n}(window));\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    var speed = 50,\n        duration = (1.0 / speed),\n        confettiRibbonCount = 10,\n        ribbonPaperCount = 15,\n        ribbonPaperDist = 8.0,\n        ribbonPaperThick = 8.0,\n        confettiPaperCount = 10,\n        DEG_TO_RAD = PI / 180,\n        RAD_TO_DEG = 180 / PI,\n        colors = [\n            [\"#df0049\", \"#660671\"],\n            [\"#00e857\", \"#005291\"],\n            [\"#2bebbc\", \"#05798a\"],\n            [\"#ffd200\", \"#b06c00\"]\n        ];\n\n    function Vector2(_x, _y) {\n        this.x = _x, this.y = _y;\n        this.Length = function () {\n            return sqrt(this.SqrLength());\n        }\n        this.SqrLength = function () {\n            return this.x * this.x + this.y * this.y;\n        }\n        this.Add = function (_vec) {\n            this.x += _vec.x;\n            this.y += _vec.y;\n        }\n        this.Sub = function (_vec) {\n            this.x -= _vec.x;\n            this.y -= _vec.y;\n        }\n        this.Div = function (_f) {\n            this.x /= _f;\n            this.y /= _f;\n        }\n        this.Mul = function (_f) {\n            this.x *= _f;\n            this.y *= _f;\n        }\n        this.Normalize = function () {\n            var sqrLen = this.SqrLength();\n            if (sqrLen != 0) {\n                var factor = 1.0 / sqrt(sqrLen);\n                this.x *= factor;\n                this.y *= factor;\n            }\n        }\n        this.Normalized = function () {\n            var sqrLen = this.SqrLength();\n            if (sqrLen != 0) {\n                var factor = 1.0 / sqrt(sqrLen);\n                return new Vector2(this.x * factor, this.y * factor);\n            }\n            return new Vector2(0, 0);\n        }\n    }\n    Vector2.Lerp = function (_vec0, _vec1, _t) {\n        return new Vector2((_vec1.x - _vec0.x) * _t + _vec0.x, (_vec1.y - _vec0.y) * _t + _vec0.y);\n    }\n    Vector2.Distance = function (_vec0, _vec1) {\n        return sqrt(Vector2.SqrDistance(_vec0, _vec1));\n    }\n    Vector2.SqrDistance = function (_vec0, _vec1) {\n        var x = _vec0.x - _vec1.x;\n        var y = _vec0.y - _vec1.y;\n        return (x * x + y * y + z * z);\n    }\n    Vector2.Scale = function (_vec0, _vec1) {\n        return new Vector2(_vec0.x * _vec1.x, _vec0.y * _vec1.y);\n    }\n    Vector2.Min = function (_vec0, _vec1) {\n        return new Vector2(Math.min(_vec0.x, _vec1.x), Math.min(_vec0.y, _vec1.y));\n    }\n    Vector2.Max = function (_vec0, _vec1) {\n        return new Vector2(Math.max(_vec0.x, _vec1.x), Math.max(_vec0.y, _vec1.y));\n    }\n    Vector2.ClampMagnitude = function (_vec0, _len) {\n        var vecNorm = _vec0.Normalized;\n        return new Vector2(vecNorm.x * _len, vecNorm.y * _len);\n    }\n    Vector2.Sub = function (_vec0, _vec1) {\n        return new Vector2(_vec0.x - _vec1.x, _vec0.y - _vec1.y, _vec0.z - _vec1.z);\n    }\n\n    function EulerMass(_x, _y, _mass, _drag) {\n        this.position = new Vector2(_x, _y);\n        this.mass = _mass;\n        this.drag = _drag;\n        this.force = new Vector2(0, 0);\n        this.velocity = new Vector2(0, 0);\n        this.AddForce = function (_f) {\n            this.force.Add(_f);\n        }\n        this.Integrate = function (_dt) {\n            var acc = this.CurrentForce(this.position);\n            acc.Div(this.mass);\n            var posDelta = new Vector2(this.velocity.x, this.velocity.y);\n            posDelta.Mul(_dt);\n            this.position.Add(posDelta);\n            acc.Mul(_dt);\n            this.velocity.Add(acc);\n            this.force = new Vector2(0, 0);\n        }\n        this.CurrentForce = function (_pos, _vel) {\n            var totalForce = new Vector2(this.force.x, this.force.y);\n            var speed = this.velocity.Length();\n            var dragVel = new Vector2(this.velocity.x, this.velocity.y);\n            dragVel.Mul(this.drag * this.mass * speed);\n            totalForce.Sub(dragVel);\n            return totalForce;\n        }\n    }\n\n    function ConfettiPaper(_x, _y) {\n        this.pos = new Vector2(_x, _y);\n        this.rotationSpeed = (random() * 600 + 800);\n        this.angle = DEG_TO_RAD * random() * 360;\n        this.rotation = DEG_TO_RAD * random() * 360;\n        this.cosA = 1.0;\n        this.size = 5.0;\n        this.oscillationSpeed = (random() * 1.5 + 0.5);\n        this.xSpeed = 40.0;\n        this.ySpeed = (random() * 60 + 50.0);\n        this.corners = new Array();\n        this.time = random();\n        var ci = round(random() * (colors.length - 1));\n        this.frontColor = colors[ci][0];\n        this.backColor = colors[ci][1];\n        for (var i = 0; i < 4; i++) {\n            var dx = cos(this.angle + DEG_TO_RAD * (i * 90 + 45));\n            var dy = sin(this.angle + DEG_TO_RAD * (i * 90 + 45));\n            this.corners[i] = new Vector2(dx, dy);\n        }\n        this.Update = function (_dt) {\n            this.time += _dt;\n            this.rotation += this.rotationSpeed * _dt;\n            this.cosA = cos(DEG_TO_RAD * this.rotation);\n            this.pos.x += cos(this.time * this.oscillationSpeed) * this.xSpeed * _dt\n            this.pos.y += this.ySpeed * _dt;\n            if (this.pos.y > ConfettiPaper.bounds.y) {\n                this.pos.x = random() * ConfettiPaper.bounds.x;\n                this.pos.y = 0;\n            }\n        }\n        this.Draw = function (_g) {\n            if (this.cosA > 0) {\n                _g.fillStyle = this.frontColor;\n            } else {\n                _g.fillStyle = this.backColor;\n            }\n            _g.beginPath();\n            _g.moveTo((this.pos.x + this.corners[0].x * this.size) * retina, (this.pos.y + this.corners[0].y * this.size * this.cosA) * retina);\n            for (var i = 1; i < 4; i++) {\n                _g.lineTo((this.pos.x + this.corners[i].x * this.size) * retina, (this.pos.y + this.corners[i].y * this.size * this.cosA) * retina);\n            }\n            _g.closePath();\n            _g.fill();\n        }\n    }\n    ConfettiPaper.bounds = new Vector2(0, 0);\n\n    function ConfettiRibbon(_x, _y, _count, _dist, _thickness, _angle, _mass, _drag) {\n        this.particleDist = _dist;\n        this.particleCount = _count;\n        this.particleMass = _mass;\n        this.particleDrag = _drag;\n        this.particles = new Array();\n        var ci = round(random() * (colors.length - 1));\n        this.frontColor = colors[ci][0];\n        this.backColor = colors[ci][1];\n        this.xOff = (cos(DEG_TO_RAD * _angle) * _thickness);\n        this.yOff = (sin(DEG_TO_RAD * _angle) * _thickness);\n        this.position = new Vector2(_x, _y);\n        this.prevPosition = new Vector2(_x, _y);\n        this.velocityInherit = (random() * 2 + 4);\n        this.time = random() * 100;\n        this.oscillationSpeed = (random() * 2 + 2);\n        this.oscillationDistance = (random() * 40 + 40);\n        this.ySpeed = (random() * 40 + 80);\n        for (var i = 0; i < this.particleCount; i++) {\n            this.particles[i] = new EulerMass(_x, _y - i * this.particleDist, this.particleMass, this.particleDrag);\n        }\n        this.Update = function (_dt) {\n            var i = 0;\n            this.time += _dt * this.oscillationSpeed;\n            this.position.y += this.ySpeed * _dt;\n            this.position.x += cos(this.time) * this.oscillationDistance * _dt;\n            this.particles[0].position = this.position;\n            var dX = this.prevPosition.x - this.position.x;\n            var dY = this.prevPosition.y - this.position.y;\n            var delta = sqrt(dX * dX + dY * dY);\n            this.prevPosition = new Vector2(this.position.x, this.position.y);\n            for (i = 1; i < this.particleCount; i++) {\n                var dirP = Vector2.Sub(this.particles[i - 1].position, this.particles[i].position);\n                dirP.Normalize();\n                dirP.Mul((delta / _dt) * this.velocityInherit);\n                this.particles[i].AddForce(dirP);\n            }\n            for (i = 1; i < this.particleCount; i++) {\n                this.particles[i].Integrate(_dt);\n            }\n            for (i = 1; i < this.particleCount; i++) {\n                var rp2 = new Vector2(this.particles[i].position.x, this.particles[i].position.y);\n                rp2.Sub(this.particles[i - 1].position);\n                rp2.Normalize();\n                rp2.Mul(this.particleDist);\n                rp2.Add(this.particles[i - 1].position);\n                this.particles[i].position = rp2;\n            }\n            if (this.position.y > ConfettiRibbon.bounds.y + this.particleDist * this.particleCount) {\n                this.Reset();\n            }\n        }\n        this.Reset = function () {\n            this.position.y = -random() * ConfettiRibbon.bounds.y;\n            this.position.x = random() * ConfettiRibbon.bounds.x;\n            this.prevPosition = new Vector2(this.position.x, this.position.y);\n            this.velocityInherit = random() * 2 + 4;\n            this.time = random() * 100;\n            this.oscillationSpeed = random() * 2.0 + 1.5;\n            this.oscillationDistance = (random() * 40 + 40);\n            this.ySpeed = random() * 40 + 80;\n            var ci = round(random() * (colors.length - 1));\n            this.frontColor = colors[ci][0];\n            this.backColor = colors[ci][1];\n            this.particles = new Array();\n            for (var i = 0; i < this.particleCount; i++) {\n                this.particles[i] = new EulerMass(this.position.x, this.position.y - i * this.particleDist, this.particleMass, this.particleDrag);\n            }\n        };\n        this.Draw = function (_g) {\n            for (var i = 0; i < this.particleCount - 1; i++) {\n                var p0 = new Vector2(this.particles[i].position.x + this.xOff, this.particles[i].position.y + this.yOff);\n                var p1 = new Vector2(this.particles[i + 1].position.x + this.xOff, this.particles[i + 1].position.y + this.yOff);\n                if (this.Side(this.particles[i].position.x, this.particles[i].position.y, this.particles[i + 1].position.x, this.particles[i + 1].position.y, p1.x, p1.y) < 0) {\n                    _g.fillStyle = this.frontColor;\n                    _g.strokeStyle = this.frontColor;\n                } else {\n                    _g.fillStyle = this.backColor;\n                    _g.strokeStyle = this.backColor;\n                }\n                if (i == 0) {\n                    _g.beginPath();\n                    _g.moveTo(this.particles[i].position.x * retina, this.particles[i].position.y * retina);\n                    _g.lineTo(this.particles[i + 1].position.x * retina, this.particles[i + 1].position.y * retina);\n                    _g.lineTo(((this.particles[i + 1].position.x + p1.x) * 0.5) * retina, ((this.particles[i + 1].position.y + p1.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                    _g.beginPath();\n                    _g.moveTo(p1.x * retina, p1.y * retina);\n                    _g.lineTo(p0.x * retina, p0.y * retina);\n                    _g.lineTo(((this.particles[i + 1].position.x + p1.x) * 0.5) * retina, ((this.particles[i + 1].position.y + p1.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                } else if (i == this.particleCount - 2) {\n                    _g.beginPath();\n                    _g.moveTo(this.particles[i].position.x * retina, this.particles[i].position.y * retina);\n                    _g.lineTo(this.particles[i + 1].position.x * retina, this.particles[i + 1].position.y * retina);\n                    _g.lineTo(((this.particles[i].position.x + p0.x) * 0.5) * retina, ((this.particles[i].position.y + p0.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                    _g.beginPath();\n                    _g.moveTo(p1.x * retina, p1.y * retina);\n                    _g.lineTo(p0.x * retina, p0.y * retina);\n                    _g.lineTo(((this.particles[i].position.x + p0.x) * 0.5) * retina, ((this.particles[i].position.y + p0.y) * 0.5) * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                } else {\n                    _g.beginPath();\n                    _g.moveTo(this.particles[i].position.x * retina, this.particles[i].position.y * retina);\n                    _g.lineTo(this.particles[i + 1].position.x * retina, this.particles[i + 1].position.y * retina);\n                    _g.lineTo(p1.x * retina, p1.y * retina);\n                    _g.lineTo(p0.x * retina, p0.y * retina);\n                    _g.closePath();\n                    _g.stroke();\n                    _g.fill();\n                }\n            }\n        }\n        this.Side = function (x1, y1, x2, y2, x3, y3) {\n            return ((x1 - x2) * (y3 - y2) - (y1 - y2) * (x3 - x2));\n        }\n    }\n    ConfettiRibbon.bounds = new Vector2(0, 0);\n    confetti = {};\n    confetti.Context = function (id) {\n        var i = 0;\n        var canvas = document.getElementById(id);\n        var canvasParent = canvas.parentNode;\n        var canvasWidth = canvasParent.offsetWidth;\n        var canvasHeight = canvasParent.offsetHeight;\n        canvas.width = canvasWidth * retina;\n        canvas.height = canvasHeight * retina;\n        var context = canvas.getContext('2d');\n        var interval = null;\n        var confettiRibbons = new Array();\n        ConfettiRibbon.bounds = new Vector2(canvasWidth, canvasHeight);\n        for (i = 0; i < confettiRibbonCount; i++) {\n            confettiRibbons[i] = new ConfettiRibbon(random() * canvasWidth, -random() * canvasHeight * 2, ribbonPaperCount, ribbonPaperDist, ribbonPaperThick, 45, 1, 0.05);\n        }\n        var confettiPapers = new Array();\n        ConfettiPaper.bounds = new Vector2(canvasWidth, canvasHeight);\n        for (i = 0; i < confettiPaperCount; i++) {\n            confettiPapers[i] = new ConfettiPaper(random() * canvasWidth, random() * canvasHeight);\n        }\n        this.resize = function () {\n            canvasWidth = canvasParent.offsetWidth;\n            canvasHeight = canvasParent.offsetHeight;\n            canvas.width = canvasWidth * retina;\n            canvas.height = canvasHeight * retina;\n            ConfettiPaper.bounds = new Vector2(canvasWidth, canvasHeight);\n            ConfettiRibbon.bounds = new Vector2(canvasWidth, canvasHeight);\n        }\n        this.start = function () {\n            this.stop()\n            var context = this;\n            this.update();\n        }\n        this.stop = function () {\n            cAF(this.interval);\n        }\n        this.update = function () {\n            var i = 0;\n            context.clearRect(0, 0, canvas.width, canvas.height);\n            for (i = 0; i < confettiPaperCount; i++) {\n                confettiPapers[i].Update(duration);\n                confettiPapers[i].Draw(context);\n            }\n            for (i = 0; i < confettiRibbonCount; i++) {\n                confettiRibbons[i].Update(duration);\n                confettiRibbons[i].Draw(context);\n            }\n            this.interval = rAF(function () {\n                confetti.update();\n            });\n        }\n    };\n    var confetti = new confetti.Context('confetti');\n    confetti.start();\n    window.addEventListener('resize', function (event) {\n        confetti.resize();\n    });\n});"
  },
  {
    "path": "style.css",
    "content": "/* customizable snowflake styling */\n.loader button {\n    width: 50%;\n    height: 100px;\n    position: fixed;\n    left: 50%;\n    top: 45%;\n    transform: translateY(-50%);\n    transform: translateX(-50%);\n    background: center no-repeat #fff;\n    z-index: 9999999999999999999999;\n    font-size: 50px;\n    outline: none;\n    box-sizing: border-box;\n    border: none;\n    border-radius: .3em;\n    text-transform: uppercase;\n    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(110, 80, 20, .4),\n        inset 0 -2px 5px 1px rgba(139, 66, 8, 1),\n        inset 0 -1px 1px 3px rgba(250, 227, 133, 1);\n    background-image: linear-gradient(160deg, #a54e07, #b47e11, #fef1a2, #bc881b, #a54e07);\n    border: 1px solid #a55d07;\n    color: rgb(120, 50, 5);\n    text-shadow: 0 2px 2px rgba(250, 227, 133, 1);\n    cursor: pointer;\n    transition: all .2s ease-in-out;\n    background-size: 100% 100%;\n    background-position: center;\n}\n\n.golden-btn:focus,\n.golden-btn:hover {\n    background-size: 150% 150%;\n    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23),\n        inset 0 -2px 5px 1px #b17d10,\n        inset 0 -1px 1px 3px rgba(250, 227, 133, 1);\n    border: 1px solid rgba(165, 93, 7, .6);\n    color: rgba(120, 50, 5, .8);\n}\n\n.golden-btn:active {\n    box-shadow: 0 3px 6px rgba(0, 0, 0, .16), 0 3px 6px rgba(110, 80, 20, .4),\n        inset 0 -2px 5px 1px #b17d10,\n        inset 0 -1px 1px 3px rgba(250, 227, 133, 1);\n}\n\n.loader {\n    position: fixed;\n    left: 0px;\n    top: 0px;\n    width: 100%;\n    height: 100%;\n    z-index: 999;\n    background: url(img/back.png) center no-repeat #000;\n}\n\n.song {\n    display: none;\n}\n\nbody {\n    background-color: #FFDAB9;\n}\n\nimg {\n    width: 100%;\n}\n\n.balloon-border {\n    position: fixed;\n    top: 100%;\n    opacity: 0.5;\n    z-index: 99999999;\n}\n\n.area {\n    text-align: center;\n    font-size: 70px;\n    color: #C4515C;\n    letter-spacing: -7px;\n    font-weight: 700;\n    text-transform: uppercase;\n    animation: spin 2s ease-out infinite;\n    text-shadow: 0px 0px 5px #fff, 0px 0px 7px #fff;\n}\n\n#nae {\n    text-transform: capitalize;\n}\n\n#confetti {\n    position: absolute;\n    left: 0;\n    top: 0;\n    height: 100%;\n    width: 100%;\n}\n\n@keyframes spin {\n    0% {\n        transform: rotateZ(0);\n    }\n\n    25% {\n        transform: rotateZ(10deg);\n    }\n\n    50% {\n        transform: rotateZ(0deg);\n    }\n\n    75% {\n        transform: rotateZ(-10deg);\n    }\n}\n\n.type-wrap {\n    font-size: 25px;\n    color: #C4515C;\n\n}\n\n.cake {\n    transform: translateY(-50%);\n    transform: translateX(-50%);\n    left: 50%;\n    position: absolute;\n    padding-top: 250px;\n}"
  },
  {
    "path": "update",
    "content": "git add .\ngit commit -m \"Hello World!\"\ngit push origin master"
  }
]