diff --git a/css/app.e2444263.css b/css/app.e2444263.css new file mode 100644 index 0000000..abfc6dd --- /dev/null +++ b/css/app.e2444263.css @@ -0,0 +1 @@ +.loading-wrapper[data-v-31c61828]{position:fixed;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.loading[data-v-31c61828]{text-align:center;position:fixed;width:100%;height:100%;overflow:hidden;z-index:99999;background-color:#f2f2f2}.loading_night[data-v-31c61828]{background-color:#303133}.loading-text[data-v-31c61828]{font-size:18px;font-weight:700;margin-top:26px;color:#303133}.loading-anim[data-v-31c61828]{display:inline-block;width:100px;height:100px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAt1BMVEX///8AAABIz0hHzkdIzkhIz0hIz0hHzkdIzkhFz0VAz0BHzUdIz0hHzkdIzkhIzUhHzUdHzUdIzkhEzEREzERGz0ZIz0hHzUdIzkhIzUhHzkdHzkdHzUdGz0ZIzkhHzkdKzkpIzUhGzUZD00NIzUhGzUZIzkhIzkhHzkdHzkdIzkhHz0dIzUhK1UpHzUdC0EJHzkdHzkdIz0hH1UdHzUdGzkZIzUhJ20lD10NJzklIzkhIzkj////r6/fCAAAAO3RSTlMAACDvoEBg0MAwEI9fz9+A8JDgDx5Ff/r9i+VdbHSDkx9RTRdce+6q6brLb58YSBvtd0oScFTxBxM/v5xq7LMAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wwcCBssFsYwawAAAe9JREFUaN7t2tlywiAUBmABiQY1W6vWbna1i6Z2sYs97/9eNcQ6U40kEMhoh/824qeAxwSo1Wx2MUgimAAQLNNCAanDInWzCAUeahRxUsQx212NxGgaHhMq21sqCHIpdZFpRDoW2ROEtdpY/S1xu8XyEdZZ/BA8VcNbNO6wPIQbAK6akZa2v0rWN0mLk6+G+Gnr3O5qgnR1EjfOQviHCRS7yw02uyELwWGkbHAlCnGR3wkuM4WxLSuGkQNfmLYW5BDE8fUgXcHVXv9oYB45PoGBeQSd5ioaEHSWp+hA0DkMzSNoKFZKI78zuWsQuaA8l3BlEFnm2iL/FrlpZqanFbntZxmjO73IfdbVh31ERjQjj1LImEyYGMn+9xUjbELGKyRObviJI57CTzBdu/b8Ip7CDkkeQuIlQrffY5dB0rtvuqvINHnpqwISR8nTQsExSWbVW7ExSZ4jong1u2ZByJDu7kKsHszkCqQCIl+FLbKLyPtaefwwgWxEP2LvVixiEYtoQgqlHPJJC+XLLqoZRsyvpuKJB0R9XZiA18pfF+Yr3KqKS4qtcFeyVl/FrgNrlN8/aeTun3AlUh34aMPYsqcVOmWmsBMyW1Ysooi487nx/fhKThbwDdVvs0glpz0qObdSyQkchAOAQOUskU3h/AAe7qmqtAqp/QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0xMi0yOFQwODoyNzo0NCswMDowMPJYdAwAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMTItMjhUMDg6Mjc6NDQrMDA6MDCDBcywAAAAAElFTkSuQmCC) no-repeat;background-size:cover}.dialog-footer[data-v-7cee040c],.reset__dialog[data-v-7cee040c],.text[data-v-7cee040c]{text-align:center}.editor__header[data-v-de3fb786]{width:100%}.header__item[data-v-de3fb786]{margin:0 3px}.header__item_last[data-v-de3fb786]{margin-right:8px}.header__switch[data-v-de3fb786]{margin-left:8px}.mode__switch[data-v-de3fb786]{margin-left:24px;width:24px;height:24px;background:url(../img/night.8bc3a963.png) no-repeat;background-size:cover;-webkit-transition:all .3s;transition:all .3s}.mode__switch_black[data-v-de3fb786]{background:url(../img/light.f7a977db.png) no-repeat;background-size:cover}.top[data-v-de3fb786]{margin-right:0}.tb-options{margin-bottom:20px}.head-style .el-input__inner{background-color:#f2f2f2}.menu[data-v-2cdcffb0]{position:absolute;padding:6px 0;border-radius:4px;border:1px solid #aaa;background-color:#fff;z-index:9999}.menu_item[data-v-2cdcffb0]{margin-top:10px;min-width:125px;font-size:14px;line-height:20px;color:#303133;cursor:pointer}.menu_item[data-v-2cdcffb0]:first-of-type{margin-top:0}.menu_item[data-v-2cdcffb0]:hover{color:#fff;background:#8b9294}.menu_item span[data-v-2cdcffb0]{text-align:center;display:inline-block;padding:4px 0;width:100%}.menu_item[data-v-2cdcffb0] .el-upload{width:100%}li[data-v-2cdcffb0]:hover{background-color:#1790ff;color:#fff}li[data-v-2cdcffb0]{font-size:15px;list-style:none}.main-body[data-v-1f6c3034]{padding-top:12px;overflow:hidden}.el-main[data-v-1f6c3034]{padding:0;margin:20px;margin-top:0}.container[data-v-1f6c3034],.el-main[data-v-1f6c3034]{-webkit-transition:all .3s;transition:all .3s}.preview[data-v-1f6c3034]{-webkit-transition:background 0s;transition:background 0s;-webkit-transition-delay:.2s;transition-delay:.2s}.preview-wrapper_night[data-v-1f6c3034]{overflow-y:inherit;position:relative;left:-3px}.preview-wrapper_night .preview[data-v-1f6c3034]{background-color:#fff}#output-wrapper[data-v-1f6c3034]{position:relative}.loading-mask[data-v-1f6c3034]{top:50%;width:376px;height:101%;padding-top:1px;font-size:15px;color:grey;background-color:#1e1e1e}.loading-mask .loading__img[data-v-1f6c3034],.loading-mask[data-v-1f6c3034]{position:absolute;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.loading-mask .loading__img[data-v-1f6c3034]{top:330px;width:50px;height:50px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAMAAABHPGVmAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAAt1BMVEX///8AAABIz0hHzkdIzkhIz0hIz0hHzkdIzkhFz0VAz0BHzUdIz0hHzkdIzkhIzUhHzUdHzUdIzkhEzEREzERGz0ZIz0hHzUdIzkhIzUhHzkdHzkdHzUdGz0ZIzkhHzkdKzkpIzUhGzUZD00NIzUhGzUZIzkhIzkhHzkdHzkdIzkhHz0dIzUhK1UpHzUdC0EJHzkdHzkdIz0hH1UdHzUdGzkZIzUhJ20lD10NJzklIzkhIzkj////r6/fCAAAAO3RSTlMAACDvoEBg0MAwEI9fz9+A8JDgDx5Ff/r9i+VdbHSDkx9RTRdce+6q6brLb58YSBvtd0oScFTxBxM/v5xq7LMAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wwcCBssFsYwawAAAe9JREFUaN7t2tlywiAUBmABiQY1W6vWbna1i6Z2sYs97/9eNcQ6U40kEMhoh/824qeAxwSo1Wx2MUgimAAQLNNCAanDInWzCAUeahRxUsQx212NxGgaHhMq21sqCHIpdZFpRDoW2ROEtdpY/S1xu8XyEdZZ/BA8VcNbNO6wPIQbAK6akZa2v0rWN0mLk6+G+Gnr3O5qgnR1EjfOQviHCRS7yw02uyELwWGkbHAlCnGR3wkuM4WxLSuGkQNfmLYW5BDE8fUgXcHVXv9oYB45PoGBeQSd5ioaEHSWp+hA0DkMzSNoKFZKI78zuWsQuaA8l3BlEFnm2iL/FrlpZqanFbntZxmjO73IfdbVh31ERjQjj1LImEyYGMn+9xUjbELGKyRObviJI57CTzBdu/b8Ip7CDkkeQuIlQrffY5dB0rtvuqvINHnpqwISR8nTQsExSWbVW7ExSZ4jong1u2ZByJDu7kKsHszkCqQCIl+FLbKLyPtaefwwgWxEP2LvVixiEYtoQgqlHPJJC+XLLqoZRsyvpuKJB0R9XZiA18pfF+Yr3KqKS4qtcFeyVl/FrgNrlN8/aeTun3AlUh34aMPYsqcVOmWmsBMyW1Ysooi487nx/fhKThbwDdVvs0glpz0qObdSyQkchAOAQOUskU3h/AAe7qmqtAqp/QAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxOS0xMi0yOFQwODoyNzo0NCswMDowMPJYdAwAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTktMTItMjhUMDg6Mjc6NDQrMDA6MDCDBcywAAAAAElFTkSuQmCC) no-repeat;background-size:cover}.loading-mask span[data-v-1f6c3034]{position:absolute;left:50%;top:390px;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.bounceInRight[data-v-1f6c3034]{-webkit-animation-name:bounceInRight-data-v-1f6c3034;animation-name:bounceInRight-data-v-1f6c3034;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes bounceInRight-data-v-1f6c3034{0%,60%,75%,90%,to{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}@keyframes bounceInRight-data-v-1f6c3034{0%,60%,75%,90%,to{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}to{-webkit-transform:none;transform:none}}.cm-s-style-mirror.CodeMirror{background:#f5f5f5;color:#444;font-size:16px;padding:20px;line-height:25px}.cm-s-style-mirror div.CodeMirror-selected{background:#e0e0e0}.cm-s-style-mirror .CodeMirror-line::selection,.cm-s-style-mirror .CodeMirror-line>span::selection,.cm-s-style-mirror .CodeMirror-line>span>span::selection{background:#e0e0e0}.cm-s-style-mirror .CodeMirror-line::-moz-selection,.cm-s-style-mirror .CodeMirror-line>span::-moz-selection,.cm-s-style-mirror .CodeMirror-line>span>span::-moz-selection{background:#e0e0e0}.cm-s-style-mirror .CodeMirror-gutters{background:#f5f5f5;border-right:0}.cm-s-style-mirror .CodeMirror-guttermarker{color:#ac4142}.cm-s-style-mirror .CodeMirror-guttermarker-subtle,.cm-s-style-mirror .CodeMirror-linenumber{color:#b0b0b0}.cm-s-style-mirror .CodeMirror-cursor{border-left:1px solid #505050}.cm-s-style-mirror span.cm-comment{color:green}.cm-s-style-mirror span.cm-atom,.cm-s-style-mirror span.cm-number{color:#aa759f}.cm-s-style-mirror span.cm-attribute,.cm-s-style-mirror span.cm-property{color:#90a959}.cm-s-style-mirror span.cm-keyword{color:#023a52}.cm-s-style-mirror span.cm-string{color:#e46918}.cm-s-style-mirror span.cm-variable{color:#90a959}.cm-s-style-mirror span.cm-variable-2{color:#00695f}.cm-s-style-mirror span.cm-variable-3{color:#2e6e8a}.cm-s-style-mirror span.cm-def{color:#d28445}.cm-s-style-mirror span.cm-bracket{color:#202020}.cm-s-style-mirror span.cm-tag{color:#000}.cm-s-style-mirror span.cm-link{color:#b26a00}.cm-s-style-mirror span.cm-error{text-decoration:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy;-webkit-text-decoration-color:#df8d8e;text-decoration-color:#df8d8e}.cm-s-style-mirror .CodeMirror-activeline-background{background:#dddcdc}.cm-s-style-mirror .CodeMirror-matchingbracket{color:#202020!important;background-color:rgba(0,0,0,.1)!important}*{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}button,input,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{font-weight:400}em{font-style:normal!important}body,html{height:100%;font-family:PingFang SC,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif}.el-message__icon{display:none}.container{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.container,.top{display:-webkit-box;display:-ms-flexbox;display:flex}.top{height:60px;padding:10px 20px;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-right:20px}.web-title{margin:0 15px 0 5px}.web-icon{width:auto;height:1.5rem;vertical-align:middle}#editor{display:block;border:none;width:100%;padding:10px}#editor,section{height:100%}.main-body{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-top:0;padding-bottom:10px}.ctrl{-ms-flex-preferred-size:60px;flex-basis:60px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1}.ctrl,.preview-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.preview-wrapper{-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);padding:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:scroll;word-break:break-all}.main-section{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%}.hint{opacity:.6;margin:20px 0}.preview{margin:0 -20px;width:375px;padding:20px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;outline:none;-webkit-box-shadow:0 0 60px rgba(0,0,0,.1);box-shadow:0 0 60px rgba(0,0,0,.1)}.preview table{margin-bottom:10px;border-collapse:collapse;display:table;width:100%!important}.select-item-left{float:left}.select-item-right{float:right;color:#8492a6;font-size:13px}.CodeMirror{height:100%!important;-webkit-box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);box-shadow:inset 0 0 0 1px rgba(0,0,0,.1);font-size:14px;padding:20px;width:100%!important;font-family:PingFang SC,BlinkMacSystemFont,Roboto,Helvetica Neue,sans-serif!important}.el-form-item{margin-bottom:0!important}.el-tooltip{cursor:pointer}.rich_media_content .code-snippet *,.rich_media_content .code-snippet__fix *{max-width:1000%!important}.code-snippet__fix{word-wrap:break-word!important;font-size:14px;margin:10px 8px;color:#333;position:relative;background-color:#eee;border:1px solid #f0f0f0;border-radius:2px;display:-webkit-box;display:-ms-flexbox;display:flex;line-height:24px}.code-snippet__fix .code-snippet__line-index{counter-reset:line;-ms-flex-negative:0;flex-shrink:0;height:100%;padding:1em;list-style-type:none}.code-snippet__fix .code-snippet__line-index li{list-style-type:none;text-align:right}.code-snippet__fix .code-snippet__line-index li:before{min-width:1.5em;text-align:right;left:-2.5em;counter-increment:line;content:counter(line);display:inline;color:rgba(0,0,0,.15)}.code-snippet__fix pre{overflow-x:auto;padding:1em 1em 1em 1em;white-space:normal;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-overflow-scrolling:touch}.code-snippet__fix code{text-align:left;font-size:14px;white-space:pre;display:-webkit-box;display:-ms-flexbox;display:flex;position:relative;font-family:Consolas,Liberation Mono,Menlo,Courier,monospace}.code-snippet__fix ul li{list-style:none}::-webkit-scrollbar{width:6px;height:6px;background-color:#fff}::-webkit-scrollbar-track{border-radius:6px;background-color:hsla(0,0%,78.4%,.3)}::-webkit-scrollbar-thumb{border-radius:6px;-webkit-transition:background-color .3s;transition:background-color .3s}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background-color:rgba(144,146,152,.5)}.CodeMirror-vscrollbar:focus{outline:none}.CodeMirror-scroll,.preview-wrapper{overflow:unset;overflow-y:scroll}.fade-enter[data-v-6f36a3b6],.fade-leave-to[data-v-6f36a3b6]{opacity:0}.fade-enter-to[data-v-6f36a3b6],.fade-leave[data-v-6f36a3b6]{opacity:1}.fade-enter-active[data-v-6f36a3b6],.fade-leave-active[data-v-6f36a3b6]{-webkit-transition:all 1s;transition:all 1s}.container_night,.container_night .el-main{background-color:#333}.container_night .CodeMirror{caret-color:grey;color:grey;background-color:#1e1e1e;-webkit-box-shadow:inset 0 0 0 1px rgba(100,37,37,.102);box-shadow:inset 0 0 0 1px rgba(100,37,37,.102)}.container_night .output_night .preview{background-color:#1e1e1e;-webkit-box-shadow:0 0 70px rgba(0,0,0,.3);box-shadow:0 0 70px rgba(0,0,0,.3)}.container_night .output_night .preview-wrapper{background-color:#1e1e1e;-webkit-box-shadow:inset 0 0 0 1px hsla(0,4.3%,91%,.102);box-shadow:inset 0 0 0 1px hsla(0,4.3%,91%,.102)}.container_night .output_night .code-snippet__fix{background-color:#eee}.container_night .cm-s-style-mirror .CodeMirror-matchingbracket{color:#fff!important;background:#1e1e1e!important}.container_night .cm-s-style-mirror span.cm-tag,.container_night .cm-s-xq-light span.cm-variable-2{color:grey}.container_night .cm-s-xq-light .CodeMirror-activeline-background{background-color:transparent}.container_night .cm-s-xq-light span.cm-string{color:#8e9eb9}.container_night .cm-s-xq-light span.cm-link{color:#84868b}.container_night .editor__header{background-color:#3c3c3c}.container_night .el-button{color:#fff;background-color:#1e1e1e;border:1px solid transparent}.container_night .el-button.is-plain:focus,.container_night .el-button.is-plain:hover{background:#1e1e1e;color:#fff;border:1px solid #fff}.container_night .el-button.is-plain:focus i,.container_night .el-button.is-plain:hover i{color:#fff}.container_night .about__dialog .el-dialog,.container_night .insert__dialog .el-dialog,.container_night .reset__dialog .el-dialog{background-color:#333}.container_night .about__dialog .el-dialog__body,.container_night .about__dialog .el-dialog__title,.container_night .about__dialog .el-form-item__label,.container_night .el-icon-download,.container_night .el-icon-refresh,.container_night .el-icon-s-grid,.container_night .insert__dialog .el-dialog__body,.container_night .insert__dialog .el-dialog__title,.container_night .insert__dialog .el-form-item__label,.container_night .reset__dialog .el-dialog__body,.container_night .reset__dialog .el-dialog__title,.container_night .reset__dialog .el-form-item__label,.container_night /deep/ .el-icon-upload{color:#fff}.container_night ::-webkit-scrollbar{background-color:#1e1e1e} \ No newline at end of file diff --git a/css/chunk-vendors.3176f487.css b/css/chunk-vendors.3176f487.css new file mode 100644 index 0000000..d676629 --- /dev/null +++ b/css/chunk-vendors.3176f487.css @@ -0,0 +1 @@ +.el-pagination--small .arrow.disabled,.el-table--hidden,.el-table .hidden-columns,.el-table td.is-hidden>*,.el-table th.is-hidden>*{visibility:hidden}.el-input__suffix,.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing),.el-message__closeBtn:focus,.el-message__content:focus,.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing),.el-rate:active,.el-rate:focus,.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing),.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}@font-face{font-family:element-icons;src:url(../fonts/element-icons.535877f5.woff) format("woff"),url(../fonts/element-icons.732389de.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotating{0%{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409eff}.el-pagination button:disabled{color:#c0c4cc;background-color:#fff;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:50% no-repeat #fff;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#c0c4cc;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409eff}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#c0c4cc}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409eff}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409eff;color:#fff}.el-dialog,.el-pager li{background:#fff;-webkit-box-sizing:border-box}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-date-table,.el-pager,.el-table th{-webkit-user-select:none;-moz-user-select:none}.el-pager .more:before{line-height:30px}.el-pager li{padding:0 4px;font-size:13px;min-width:35.5px;height:28px;line-height:28px;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center}.el-menu--collapse .el-menu .el-submenu,.el-menu--popup{min-width:200px}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#c0c4cc}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409eff}.el-pager li.active{color:#409eff;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409eff}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #e4e7ed;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff}.el-dropdown-menu,.el-menu--collapse .el-submenu .el-menu{z-index:10;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:hsla(0,0%,100%,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default:before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown-menu{position:absolute;top:0;left:0;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#606266;cursor:pointer;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #ebeef5}.el-dropdown-menu__item--divided:before{content:"";height:6px;display:block;margin:0 -20px;background-color:#fff}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:1px solid #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0}.el-menu,.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu:after,.el-menu:before{display:table;content:""}.el-menu:after{clear:both}.el-menu.el-menu--horizontal{border-bottom:1px solid #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409eff;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409eff;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-submenu{position:relative}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;border:1px solid #e4e7ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;position:relative;-webkit-box-sizing:border-box;white-space:nowrap;list-style:none}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409eff}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409eff}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{white-space:nowrap;background:#fff;border:1px solid #dcdfe6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409eff}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #409eff;box-shadow:-1px 0 0 0 #409eff}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#f2f6fc}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-popover,.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409eff;box-shadow:0 0 2px 2px #409eff}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409eff}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #dcdfe6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#dcdfe6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#fff}.el-switch.is-checked .el-switch__core{border-color:#409eff;background-color:#409eff}.el-switch.is-checked .el-switch__core:after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #e4e7ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409eff;background-color:#fff}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#fff}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#f5f7fa}.el-select-dropdown__item.selected{color:#409eff;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#e4e7ed}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#c0c4cc}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409eff}.el-select .el-input .el-select__caret{color:#c0c4cc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotate(180deg);transform:rotate(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotate(0);transform:rotate(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotate(180deg);transform:rotate(180deg);border-radius:100%;color:#c0c4cc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#e4e7ed}.el-select .el-input.is-focus .el-input__inner{border-color:#409eff}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#c0c4cc;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select .el-tag__close{margin-top:-2px}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5}.el-select .el-tag__close.el-icon-close{background-color:#c0c4cc;right:-7px;top:0;color:#fff}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#fff}.el-select .el-tag__close.el-icon-close:before{display:block;-webkit-transform:translateY(.5px);transform:translateY(.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table--mini,.el-table--small,.el-table__expand-icon{font-size:12px}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit td.gutter,.el-table--fit th.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th{background:#f5f7fa}.el-table th,.el-table tr{background-color:#fff}.el-table td,.el-table th{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table td.is-center,.el-table th.is-center{text-align:center}.el-table td.is-right,.el-table th.is-right{text-align:right}.el-table td.gutter,.el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table--medium td,.el-table--medium th{padding:10px 0}.el-table--small td,.el-table--small th{padding:8px 0}.el-table--mini td,.el-table--mini th{padding:6px 0}.el-table--border td:first-child .cell,.el-table--border th:first-child .cell,.el-table .cell{padding-left:10px}.el-table tr input[type=checkbox]{margin:0}.el-table td,.el-table th.is-leaf{border-bottom:1px solid #ebeef5}.el-table th.is-sortable{cursor:pointer}.el-table th{overflow:hidden;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table th>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th>.cell.highlight{color:#409eff}.el-table th.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-table td.gutter{width:0}.el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #ebeef5}.el-table--border:after,.el-table--group:after,.el-table:before{content:"";position:absolute;background-color:#ebeef5;z-index:1}.el-table--border:after,.el-table--group:after{top:0;right:0;width:1px;height:100%}.el-table:before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border td,.el-table--border th,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #ebeef5}.el-table--border th.gutter:last-of-type{border-bottom:1px solid #ebeef5;border-bottom-width:1px}.el-table--border th,.el-table__fixed-right-patch{border-bottom:1px solid #ebeef5}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right:before,.el-table__fixed:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#ebeef5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td{border-top:1px solid #ebeef5;background-color:#f5f7fa;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td{border-top:1px solid #ebeef5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td,.el-table__header-wrapper tbody td{background-color:#f5f7fa;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-picker-panel,.el-table-filter{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #ebeef5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#c0c4cc;top:5px}.el-table .sort-caret.descending{border-top-color:#c0c4cc;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409eff}.el-table .descending .sort-caret.descending{border-top-color:#409eff}.el-table .hidden-columns{position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafafa}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td,.el-table__body tr.hover-row.el-table__row--striped.current-row>td,.el-table__body tr.hover-row.el-table__row--striped>td,.el-table__body tr.hover-row>td{background-color:#f5f7fa}.el-table__body tr.current-row>td{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #ebeef5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#f5f7fa}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #ebeef5;border-radius:2px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.el-date-table td,.el-date-table td div{height:30px;-webkit-box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409eff;color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #ebeef5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div,.el-date-table td.in-range div,.el-date-table td.in-range div:hover{background-color:#f2f6fc}.el-table-filter__bottom button:hover{color:#409eff}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;padding:4px 0;text-align:center;cursor:pointer;position:relative}.el-date-table td,.el-date-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td div{padding:3px 0}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#c0c4cc}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409eff;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#fff}.el-date-table td.available:hover{color:#409eff}.el-date-table td.current:not(.disabled) span{color:#fff;background-color:#409eff}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#fff}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409eff}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#c0c4cc}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#f2f6fc;border-radius:15px}.el-date-table td.selected div:hover{background-color:#f2f6fc}.el-date-table td.selected span{background-color:#409eff;color:#fff;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:1px solid #ebeef5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409eff;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#fff}.el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-month-table td.disabled .cell:hover{color:#c0c4cc}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409eff}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#f2f6fc}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#fff}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#fff;background-color:#409eff}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409eff}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409eff;font-weight:700}.el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#c0c4cc}.el-year-table td.disabled .cell:hover{color:#c0c4cc}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409eff}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:1px solid #ebeef5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409eff}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409eff;font-weight:700}.time-select-item.disabled{color:#e4e7ed;cursor:not-allowed}.time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#c0c4cc;float:left;line-height:32px}.el-date-editor .el-range-input,.el-date-editor .el-range-separator{height:100%;margin:0;text-align:center;display:inline-block;font-size:14px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;padding:0;width:39%;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input:-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-ms-input-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::-moz-placeholder{color:#c0c4cc}.el-date-editor .el-range-input::placeholder{color:#c0c4cc}.el-date-editor .el-range-separator{padding:0 5px;line-height:32px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#c0c4cc;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor.is-active,.el-range-editor.is-active:hover{border-color:#409eff}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#e4e7ed}.el-range-editor.is-disabled input{background-color:#f5f7fa;color:#c0c4cc;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::-moz-placeholder{color:#c0c4cc}.el-range-editor.is-disabled input::placeholder{color:#c0c4cc}.el-range-editor.is-disabled .el-range-separator{color:#c0c4cc}.el-picker-panel{color:#606266;border:1px solid #e4e7ed;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel,.el-popover,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409eff}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409eff}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409eff}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409eff}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#c0c4cc;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #e4e7ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-slider__button,.el-slider__button-wrapper,.el-time-panel{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content:after,.el-time-panel__content:before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #e4e7ed;border-bottom:1px solid #e4e7ed}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds:after{left:66.66667%}.el-time-panel__content.has-seconds:before{padding-left:33.33333%}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409eff}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #e4e7ed}.el-popover{position:absolute;background:#fff;min-width:150px;border:1px solid #ebeef5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #ebeef5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#f56c6c}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409eff}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67c23a}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#e6a23c}.el-message-box__status.el-icon-error{color:#f56c6c}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#f56c6c;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{display:table;content:""}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#c0c4cc}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner.is-link,.el-breadcrumb__inner a{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner.is-link:hover,.el-breadcrumb__inner a:hover{color:#409eff;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover{font-weight:400;color:#606266;cursor:text}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item:after,.el-form-item:before{display:table;content:""}.el-form-item:after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content:after,.el-form-item__content:before{display:table;content:""}.el-form-item__content:after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#f56c6c;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:"*";color:#f56c6c;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#f56c6c}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409eff;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-collapse-item__arrow,.el-tabs__nav{-webkit-transition:-webkit-transform .3s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8);transform:scale(.8)}.el-tabs__new-tab:hover{color:#409eff}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#e4e7ed;z-index:1}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after,.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409eff inset;box-shadow:inset 0 0 2px 2px #409eff;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs__item .el-icon-close:hover{background-color:#c0c4cc;color:#fff}.el-tabs__item.is-active{color:#409eff}.el-tabs__item:hover{color:#409eff;cursor:pointer}.el-tabs__item.is-disabled{color:#c0c4cc;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #e4e7ed}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #e4e7ed;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close,.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #e4e7ed;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--border-card{background:#fff;border:1px solid #dcdfe6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #e4e7ed;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409eff;background-color:#fff;border-right-color:#dcdfe6;border-left-color:#dcdfe6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409eff}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#c0c4cc}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #dcdfe6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #e4e7ed;border-bottom:none;border-top:1px solid #e4e7ed;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #e4e7ed;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #e4e7ed;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #e4e7ed;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #e4e7ed}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #e4e7ed;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #e4e7ed;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #e4e7ed;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}to{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#fff;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409eff}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#f5f7fa}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409eff;color:#fff}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:#f5f7fa}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#c0c4cc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#c0c4cc}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#c0c4cc}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#fff}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67c23a}.el-alert--success.is-light .el-alert__description{color:#67c23a}.el-alert--success.is-dark{background-color:#67c23a;color:#fff}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#fff}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#e6a23c}.el-alert--warning.is-light .el-alert__description{color:#e6a23c}.el-alert--warning.is-dark{background-color:#e6a23c;color:#fff}.el-alert--error.is-light{background-color:#fef0f0;color:#f56c6c}.el-alert--error.is-light .el-alert__description{color:#f56c6c}.el-alert--error.is-dark{background-color:#f56c6c;color:#fff}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active{opacity:0}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #ebeef5;position:fixed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67c23a}.el-notification .el-icon-error{color:#f56c6c}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#e6a23c}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409eff}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409eff}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #dcdfe6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #dcdfe6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#e4e7ed;color:#e4e7ed}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#e4e7ed;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #dcdfe6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #dcdfe6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow:after{content:" ";border-width:5px}.el-progress-bar__inner:after,.el-row:after,.el-row:before,.el-slider:after,.el-slider:before,.el-slider__button-wrapper:after,.el-upload-cover:after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow:after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#fff}.el-tooltip__popper.is-light{background:#fff;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow:after{border-top-color:#fff}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow:after{border-bottom-color:#fff}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow:after{border-left-color:#fff}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow:after{border-right-color:#fff}.el-slider:after,.el-slider:before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper:after{vertical-align:middle;display:inline-block}.el-slider:after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#e4e7ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button{border-color:#c0c4cc}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409eff;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-slider__button-wrapper:after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409eff;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;user-select:none}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px}.el-slider.is-vertical .el-slider__button-wrapper,.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #dcdfe6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#c0c4cc}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409eff}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:hsla(0,0%,100%,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-2,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-pull-10,.el-col-pull-11,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-push-0,.el-col-push-1,.el-col-push-2,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-row{position:relative}.el-loading-spinner .el-loading-text{color:#409eff;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409eff;stroke-linecap:round}.el-loading-spinner i{color:#409eff}@-webkit-keyframes loading-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes loading-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row:after,.el-row:before{display:table}.el-row:after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-upload--picture-card,.el-upload-dragger{-webkit-box-sizing:border-box;cursor:pointer}.el-col-0{width:0}.el-col-offset-0{margin-left:0}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409eff;color:#409eff}.el-upload:focus .el-upload-dragger{border-color:#409eff}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;position:relative;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#c0c4cc;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #dcdfe6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409eff;font-style:normal}.el-upload-dragger:hover{border-color:#409eff}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409eff}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67c23a}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409eff}.el-upload-list__item:hover{background-color:#f5f7fa}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409eff;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409eff}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#fff}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress-bar,.el-progress-bar__inner:after,.el-progress-bar__innerText,.el-spinner{display:inline-block;vertical-align:middle}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67c23a}.el-progress.is-success .el-progress__text{color:#67c23a}.el-progress.is-warning .el-progress-bar__inner{background-color:#e6a23c}.el-progress.is-warning .el-progress__text{color:#e6a23c}.el-progress.is-exception .el-progress-bar__inner{background-color:#f56c6c}.el-progress.is-exception .el-progress__text{color:#f56c6c}.el-progress-bar{padding-right:50px;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#ebeef5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409eff;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-card,.el-message{border-radius:4px;overflow:hidden}.el-progress-bar__inner:after{height:100%}.el-progress-bar__innerText{color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-width:1px;border-style:solid;border-color:#ebeef5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67c23a}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#e6a23c}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#f56c6c}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#c0c4cc;font-size:16px}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67c23a}.el-message .el-icon-error{color:#f56c6c}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#e6a23c}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:#f56c6c;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409eff}.el-badge__content--success{background-color:#67c23a}.el-badge__content--warning{background-color:#e6a23c}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#f56c6c}.el-card{border:1px solid #ebeef5;background-color:#fff;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #ebeef5;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__body{padding:20px}.el-rate{height:20px;line-height:1}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#c0c4cc;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#c0c4cc;border-color:#c0c4cc}.el-step__head.is-success{color:#67c23a;border-color:#67c23a}.el-step__head.is-error{color:#f56c6c;border-color:#f56c6c}.el-step__head.is-finish{color:#409eff;border-color:#409eff}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#fff;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#c0c4cc}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#c0c4cc}.el-step__title.is-success{color:#67c23a}.el-step__title.is-error{color:#f56c6c}.el-step__title.is-finish{color:#409eff}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#c0c4cc}.el-step__description.is-success{color:#67c23a}.el-step__description.is-error{color:#f56c6c}.el-step__description.is-finish{color:#409eff}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{content:"";display:inline-block;position:absolute;height:15px;width:1px;background:#c0c4cc}.el-step.is-simple .el-step__arrow:before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#c0c4cc;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;top:0;left:0;position:absolute}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item--card,.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.el-fade-in-enter,.el-fade-in-leave-active,.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active,.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active,.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-enter-active,.el-fade-in-leave-active,.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45);transform:scale(.45)}.collapse-transition{-webkit-transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out;transition:height .3s ease-in-out,padding-top .3s ease-in-out,padding-bottom .3s ease-in-out}.horizontal-collapse-transition{-webkit-transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out;transition:width .3s ease-in-out,padding-left .3s ease-in-out,padding-right .3s ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #ebeef5;border-bottom:1px solid #ebeef5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#fff;color:#303133;cursor:pointer;border-bottom:1px solid #ebeef5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:-webkit-transform .3s;-webkit-transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409eff}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;box-sizing:border-box;border-bottom:1px solid #ebeef5}.el-cascader__tags,.el-collapse-item__wrap,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0,0,0,.03));filter:drop-shadow(0 2px 12px rgba(0,0,0,.03))}.el-popper .popper__arrow:after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#ebeef5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow:after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#ebeef5}.el-popper[x-placement^=bottom] .popper__arrow:after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#ebeef5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow:after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#ebeef5}.el-popper[x-placement^=left] .popper__arrow:after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;display:inline-block;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409eff;border-width:1px;border-style:solid;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409eff}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67c23a}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close:before{display:block}.el-tag--dark{background-color:#409eff;color:#fff}.el-tag--dark,.el-tag--dark.is-hit{border-color:#409eff}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#fff;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#fff;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67c23a}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#fff;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409eff}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#fff;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#fff;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#fff;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#fff;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#fff;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#c0c4cc}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409eff}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#c0c4cc}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#fff;border:1px solid #e4e7ed;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#c0c4cc;color:#fff}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#f5f7fa}.el-cascader__suggestion-item.is-checked{color:#409eff;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#c0c4cc}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#c0c4cc}.el-cascader__search-input:-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-ms-input-placeholder{color:#c0c4cc}.el-cascader__search-input::-moz-placeholder{color:#c0c4cc}.el-cascader__search-input::placeholder{color:#c0c4cc}.el-color-predefine{font-size:12px;margin-top:8px;width:280px}.el-color-predefine,.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex}.el-color-predefine__colors{-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409eff;box-shadow:0 0 3px 2px #409eff}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,color-stop(0,red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(90deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(hsla(0,0%,100%,0)));background:linear-gradient(90deg,#fff,hsla(0,0%,100%,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(0deg,#000,transparent)}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,color-stop(0,hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(90deg,hsla(0,0%,100%,0) 0,#fff);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,color-stop(0,hsla(0,0%,100%,0)),to(#fff));background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,#fff)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{content:"";display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409eff;border-color:#409eff}.el-color-dropdown__link-btn{cursor:pointer;color:#409eff;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409eff,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:hsla(0,0%,100%,.7)}.el-color-picker__trigger{display:inline-block;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;cursor:pointer}.el-color-picker__color,.el-color-picker__trigger{-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-color-picker__color{display:block;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty,.el-color-picker__icon{top:50%;left:50%;font-size:12px;position:absolute}.el-color-picker__empty{color:#999}.el-color-picker__empty,.el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{display:inline-block;width:100%;color:#fff;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#fff;border:1px solid #ebeef5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#fff;background-image:none;border:1px solid #dcdfe6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea__inner:hover{border-color:#c0c4cc}.el-textarea__inner:focus{outline:0;border-color:#409eff}.el-textarea .el-input__count{color:#909399;background:#fff;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:#c0c4cc}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#c0c4cc}.el-textarea.is-exceed .el-textarea__inner{border-color:#f56c6c}.el-textarea.is-exceed .el-input__count{color:#f56c6c}.el-input{position:relative;font-size:14px;display:inline-block;width:100%}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#c0c4cc;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input .el-input__count .el-input__count-inner{background:#fff;line-height:normal;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;display:inline-block;font-size:inherit;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__prefix,.el-input__suffix{position:absolute;top:0;-webkit-transition:all .3s;height:100%;color:#c0c4cc;text-align:center}.el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input__inner::placeholder{color:#c0c4cc}.el-input__inner:hover{border-color:#c0c4cc}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409eff;outline:0}.el-input__suffix{right:5px;-webkit-transition:all .3s;transition:all .3s}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{left:5px}.el-input__icon,.el-input__prefix{-webkit-transition:all .3s;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;line-height:40px}.el-input__icon:after{content:"";height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#e4e7ed;color:#c0c4cc;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__inner::placeholder{color:#c0c4cc}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#f56c6c}.el-input.is-exceed .el-input__suffix .el-input__count{color:#f56c6c}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#f5f7fa;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #dcdfe6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--prepend .el-input__inner,.el-input-group__append{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#409eff;font-size:0}.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #dcdfe6;background-color:#f5f7fa;color:#c0c4cc}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer-panel{border:1px solid #ebeef5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;max-height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409eff}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #ebeef5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-divider__text,.el-link{font-weight:500;font-size:14px}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #ebeef5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner:after{height:6px;width:3px;left:4px}.el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-aside,.el-header{-webkit-box-sizing:border-box}.el-container.is-vertical{-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.el-header{padding:0 20px}.el-aside,.el-header{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto}.el-footer,.el-main{-webkit-box-sizing:border-box}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;padding:20px}.el-footer,.el-main{-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;font-size:14px;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #e4e7ed}.el-timeline-item__icon{color:#fff;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#e4e7ed;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409eff}.el-timeline-item__node--success{background-color:#67c23a}.el-timeline-item__node--warning{background-color:#e6a23c}.el-timeline-item__node--danger{background-color:#f56c6c}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409eff}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409eff}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409eff}.el-link.el-link--default.is-disabled{color:#c0c4cc}.el-link.el-link--primary{color:#409eff}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#f56c6c}.el-link.el-link--danger{color:#f56c6c}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67c23a}.el-link.el-link--success{color:#67c23a}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#e6a23c}.el-link.el-link--warning{color:#e6a23c}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#dcdfe6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#fff;padding:0 20px;color:#303133}.el-image__error,.el-image__placeholder{background:#f5f7fa}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:14px;color:#c0c4cc;vertical-align:middle}.el-image__preview{cursor:pointer}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;user-select:none}.el-button,.el-checkbox,.el-image-viewer__btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:40px}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{top:50%;width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}to{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dcdfe6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button{margin-left:10px}.el-button:focus,.el-button:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#fff;border-color:#409eff;color:#409eff}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#fff;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#ebeef5;color:#c0c4cc}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:hsla(0,0%,100%,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#fff;background-color:#409eff;border-color:#409eff}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#fff}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#fff;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409eff;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409eff;border-color:#409eff;color:#fff}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#fff;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#fff;background-color:#67c23a;border-color:#67c23a}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#fff}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#fff}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#fff;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67c23a;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67c23a;border-color:#67c23a;color:#fff}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#fff;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#fff}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#fff}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#fff;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#e6a23c;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#e6a23c;border-color:#e6a23c;color:#fff}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#fff;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#fff}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#fff}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#fff;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#f56c6c;border-color:#f56c6c;color:#fff}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#fff;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#fff;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#fff}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#fff}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#fff;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#fff}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#fff;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--text,.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover,.el-button--text:active{border-color:transparent}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--mini,.el-button--small{font-size:12px;border-radius:3px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small,.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini.is-circle{padding:7px}.el-button--text{color:#409eff;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;background-color:transparent}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:first-child{border-right-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:last-child{border-left-color:hsla(0,0%,100%,.5)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:hsla(0,0%,100%,.5);border-right-color:hsla(0,0%,100%,.5)}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #ebeef5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#c0c4cc}.el-backtop,.el-calendar-table td.is-today{color:#409eff}.el-calendar-table td{border-bottom:1px solid #ebeef5;border-right:1px solid #ebeef5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#f2f8fe}.el-calendar-table tr:first-child td{border-top:1px solid #ebeef5}.el-calendar-table tr td:first-child{border-left:1px solid #ebeef5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#f2f8fe}.el-backtop{position:fixed;background-color:#fff;width:40px;height:40px;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#f2f6fc}.el-page-header{line-height:24px}.el-page-header,.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex}.el-page-header__left{cursor:pointer;margin-right:40px;position:relative}.el-page-header__left:after{content:"";position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#dcdfe6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox,.el-checkbox-button__inner,.el-radio{font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409eff}.el-checkbox.is-bordered.is-disabled{border-color:#ebeef5;cursor:not-allowed}.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#dcdfe6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:#c0c4cc}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:#c0c4cc}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#f2f6fc;border-color:#dcdfe6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:#c0c4cc;border-color:#c0c4cc}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409eff;border-color:#409eff}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#c0c4cc;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner:after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409eff}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409eff}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #dcdfe6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409eff}.el-checkbox__inner:after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #dcdfe6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409eff}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-radio,.el-radio__input{line-height:1;outline:0;white-space:nowrap}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#409eff;border-color:#409eff;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409eff}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#c0c4cc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#ebeef5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#ebeef5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #dcdfe6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409eff}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-radio,.el-radio--medium.is-bordered .el-radio__label{font-size:14px}.el-radio{color:#606266;cursor:pointer;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #dcdfe6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-radio.is-bordered.is-checked{border-color:#409eff}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#ebeef5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#e4e7ed}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{cursor:pointer;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:#f5f7fa}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:#c0c4cc}.el-radio__input.is-disabled+span.el-radio__label{color:#c0c4cc;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409eff;background:#409eff}.el-radio__input.is-checked .el-radio__inner:after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409eff}.el-radio__input.is-focus .el-radio__inner{border-color:#409eff}.el-radio__inner{border:1px solid #dcdfe6;border-radius:100%;width:14px;height:14px;background-color:#fff;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box}.el-radio__inner:hover{border-color:#409eff}.el-radio__inner:after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409eff;box-shadow:0 0 2px 2px #409eff}.el-radio__label{font-size:14px;padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity .34s ease-out;transition:opacity .34s ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:background-color .3s;transition:background-color .3s}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity .12s ease-out;transition:opacity .12s ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px;font-size:14px}.el-cascader-panel.is-bordered{border:1px solid #e4e7ed;border-radius:4px}.el-cascader-menu{min-width:180px;-webkit-box-sizing:border-box;box-sizing:border-box;color:#606266;border-right:1px solid #e4e7ed}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;-webkit-box-sizing:border-box;box-sizing:border-box}.el-avatar,.el-drawer{-webkit-box-sizing:border-box;overflow:hidden}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#c0c4cc}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409eff;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#f5f7fa}.el-cascader-node.is-disabled{color:#c0c4cc;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;color:#fff;background:#c0c4cc;width:40px;height:40px;line-height:40px;font-size:14px}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-drawer,.el-drawer__header{display:-webkit-box;display:-ms-flexbox}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}.el-drawer.btt,.el-drawer.ttb,.el-drawer__container{left:0;right:0;width:100%}.el-drawer.ltr,.el-drawer.rtl,.el-drawer__container{top:0;bottom:0;height:100%}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%);transform:translate(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%);transform:translate(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(100%);transform:translate(100%)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(100%);transform:translate(100%)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%);transform:translate(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%);transform:translate(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(-100%);transform:translate(-100%)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translate(-100%);transform:translate(-100%)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translate(0);transform:translate(0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0);transform:translate(0)}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.el-drawer{position:absolute;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child,.el-drawer__title{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__body>*{-webkit-box-sizing:border-box;box-sizing:border-box}.el-drawer__container{position:relative}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-popconfirm__main{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-gutter-filler,.CodeMirror-scrollbar-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid #000;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor-mark{background-color:rgba(20,255,20,.5)}.cm-animate-fat-cursor,.cm-fat-cursor-mark{-webkit-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}.cm-animate-fat-cursor{width:auto;border:0;background-color:#7e7}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;left:0;right:0;top:-50px;bottom:0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-type,.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-invalidchar,.cm-s-default .cm-error{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:#fff}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-gutter-filler,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-vscrollbar{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber,.CodeMirror-scroll,.CodeMirror-sizer{-webkit-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors,div.CodeMirror-dragcursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:rgba(255,255,0,.4)}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.cm-s-ambiance .cm-header{color:#00f}.cm-s-ambiance .cm-quote{color:#24c2c7}.cm-s-ambiance .cm-keyword{color:#cda869}.cm-s-ambiance .cm-atom{color:#cf7ea9}.cm-s-ambiance .cm-number{color:#78cf8a}.cm-s-ambiance .cm-def{color:#aac6e3}.cm-s-ambiance .cm-variable{color:#ffb795}.cm-s-ambiance .cm-variable-2{color:#eed1b3}.cm-s-ambiance .cm-type,.cm-s-ambiance .cm-variable-3{color:#faded3}.cm-s-ambiance .cm-property{color:#eed1b3}.cm-s-ambiance .cm-operator{color:#fa8d6a}.cm-s-ambiance .cm-comment{color:#555;font-style:italic}.cm-s-ambiance .cm-string{color:#8f9d6a}.cm-s-ambiance .cm-string-2{color:#9d937c}.cm-s-ambiance .cm-meta{color:#d2a8a1}.cm-s-ambiance .cm-qualifier{color:#ff0}.cm-s-ambiance .cm-builtin{color:#99c}.cm-s-ambiance .cm-bracket{color:#24c2c7}.cm-s-ambiance .cm-tag{color:#fee4ff}.cm-s-ambiance .cm-attribute{color:#9b859d}.cm-s-ambiance .cm-hr{color:pink}.cm-s-ambiance .cm-link{color:#f4c20b}.cm-s-ambiance .cm-special{color:#ff9d00}.cm-s-ambiance .cm-error{color:#af2018}.cm-s-ambiance .CodeMirror-matchingbracket{color:#0f0}.cm-s-ambiance .CodeMirror-nonmatchingbracket{color:#f22}.cm-s-ambiance div.CodeMirror-selected{background:hsla(0,0%,100%,.15)}.cm-s-ambiance.CodeMirror-focused div.CodeMirror-selected{background:hsla(0,0%,100%,.1)}.cm-s-ambiance .CodeMirror-line::selection,.cm-s-ambiance .CodeMirror-line>span::selection,.cm-s-ambiance .CodeMirror-line>span>span::selection{background:hsla(0,0%,100%,.1)}.cm-s-ambiance .CodeMirror-line::-moz-selection,.cm-s-ambiance .CodeMirror-line>span::-moz-selection,.cm-s-ambiance .CodeMirror-line>span>span::-moz-selection{background:hsla(0,0%,100%,.1)}.cm-s-ambiance.CodeMirror{line-height:1.4em;color:#e6e1dc;background-color:#202020;-webkit-box-shadow:inset 0 0 10px #000;box-shadow:inset 0 0 10px #000}.cm-s-ambiance .CodeMirror-gutters{background:#3d3d3d;border-right:1px solid #4d4d4d;-webkit-box-shadow:0 10px 20px #000;box-shadow:0 10px 20px #000}.cm-s-ambiance .CodeMirror-linenumber{text-shadow:0 1px 1px #4d4d4d;color:#111;padding:0 5px}.cm-s-ambiance .CodeMirror-guttermarker{color:#aaa}.cm-s-ambiance .CodeMirror-guttermarker-subtle{color:#111}.cm-s-ambiance .CodeMirror-cursor{border-left:1px solid #7991e8}.cm-s-ambiance .CodeMirror-activeline-background{background:none repeat scroll 0 0 hsla(0,0%,100%,.031)}.cm-s-ambiance.CodeMirror,.cm-s-ambiance .CodeMirror-gutters{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAQAAAAHUWYVAABFFUlEQVQYGbzBCeDVU/74/6fj9HIcx/FRHx9JCFmzMyGRURhLZIkUsoeRfUjS2FNDtr6WkMhO9sm+S8maJfu+Jcsg+/o/c+Z4z/t97/vezy3z+z8ekGlnYICG/o7gdk+wmSHZ1z4pJItqapjoKXWahm8NmV6eOTbWUOp6/6a/XIg6GQqmenJ2lDHyvCFZ2cBDbmtHA043VFhHwXxClWmeYAdLhV00Bd85go8VmaFCkbVkzlQENzfBDZ5gtN7HwF0KDrTwJ0dypSOzpaKCMwQHKTIreYIxlmhXTzTWkVm+LTynZhiSBT3RZQ7aGfjGEd3qyXQ1FDymqbKxpspERQN2MiRjNZlFFQXfCNFm9nM1zpAsoYjmtRTc5ajwuaXc5xrWskT97RaKzAGe5ARHhVUsDbjKklziiX5WROcJwSNCNI+9w1Jwv4Zb2r7lCMZ4oq5C0EdTx+2GzNuKpJ+iFf38JEWkHJn9DNF7mmBDITrWEg0VWL3pHU20tSZnuqWu+R3BtYa8XxV1HO7GyD32UkOpL/yDloINFTmvtId+nmAjxRw40VMwVKiwrKLE4bK5UOVntYwhOcSSXKrJHKPJedocpGjVz/ZMIbnYUPB10/eKCrs5apqpgVmWzBYWpmtKHecJPjaUuEgRDDaU0oZghCJ6zNMQ5ZhDYx05r5v2muQdM0EILtXUsaKiQX9WMEUotagQzFbUNN6NUPC2nm5pxEWGCjMc3GdJHjSU2kORLK/JGSrkfGEIjncU/CYUnOipoYemwj8tST9NsJmB7TUVXtbUtXATJVZXBMvYeTXJfobgJUPmGMP/yFaWonaa6BcFO3nqcIqCozSZoZoSr1g4zJOzuyGnxTEX3lUEJ7WcZgme8ddaWvWJo2AJR9DZU3CUIbhCSG6ybSwN6qtJVnCU2svDTP2ZInOw2cBTrqtQahtNZn9NcJ4l2NaSmSkkP1noZWnVwkLmdUPOwLZEwy2Z3S3R+4rIG9hcbpPXHFVWcQdZkn2FOta3cKWQnNRC5g1LsJah4GCzSVsKnCOY5OAFRTBekyyryeyilhFKva75r4Mc0aWanGEaThcy31s439KKxTzJYY5WTHPU1FtIHjQU3Oip4xlNzj/lBw23dYZVliQa7WAXf4shetcQfatI+jWRDBPmyNeW6A1P5kdDgyYJlba0BIM8BZu1JfrFwItyjcAMR3K0BWOIrtMEXyhyrlVEx3ui5dUBjmB/Q3CXW85R4mBD0s7B+4q5tKUjOlb9qqmhi5AZ6GFIC5HXtOobdYGlVdMVbNJ8toNTFcHxnoL+muBagcctjWnbNMuR00uI7nQESwg5q2qqrKWIfrNUmeQocY6HuyxJV02wj36w00yhpmUFenv4p6fUkZYqLyuinx2RGOjhCXYyJF84oiU00YMOOhhquNdfbOB7gU88pY4xJO8LVdp6/q2voeB4R04vIdhSE40xZObx1HGGJ/ja0LBthFInKaLPPFzuCaYaoj8JjPME8yoyxo6zlBqkiUZYgq00OYMswbWO5NGmq+xhipxHLRW29ARjNKXO0wRnear8XSg4XFPLKEPUS1GqvyLwiuBUoa7zpZ0l5xxFwWmWZC1H5h5FwU8eQ7K+g8UcVY6TMQreVQT/8uQ8Z+ALIXnSEa2pYZQneE9RZbSBNYXfWYJzW/h/4j4Dp1tYVcFIC5019Vyi4ThPqSFCzjGWaHQTBU8q6vrVwgxP9Lkm840imWKpcLCjYTtrKuwvsKSnrvHCXGkSMk9p6lhckfRpIeis+N2PiszT+mFLspyGleUhDwcLrZqmyeylxwjBcKHEapqkmyangyLZRVOijwOtCY5SsG5zL0OwlCJ4y5KznF3EUNDDrinwiyLZRzOXtlBbK5ITHFGLp8Q0R6ab6mS7enI2cFrxOyHvOCFaT1HThS1krjCwqWeurCkk+willhCC+RSZnRXBiZaC5RXRIZYKp2lyfrHwiKPKR0JDzrdU2EFgpidawlFDR6FgXUMNa+g1FY3bUQh2cLCwosRdnuQTS/S+JVrGLeWIvtQUvONJxlqSQYYKpwoN2kaocLjdVsis4Mk80ESF2YpSkzwldjHkjFCUutI/r+EHDU8oCs6yzL3PhWiEooZdFMkymlas4AcI3KmoMMNSQ3tHzjGWCrcJJdYyZC7QFGwjRL9p+MrRkAGWzIaWCn9W0F3TsK01c2ZvQw0byvxuQU0r1lM0qJO7wW0kRIMdDTtXEdzi4VIh+EoIHm0mWtAtpCixlabgn83fKTI7anJe9ST7WIK1DMGpQmYeA58ImV6ezOGOzK2Kgq01pd60cKWiUi9Lievb/0vIDPHQ05Kzt4ddPckQBQtoaurjyHnek/nKzpQLrVgKPjIkh2v4uyezpv+Xoo7fPFXaGFp1vaLKxQ4uUpQQS5VuQs7BCq4xRJv7fwpVvvFEB3j+620haOuocqMhWd6TTPAEx+mdFNGHdranFe95WrWmIvlY4F1Dle2ECgc6cto7SryuqGGGha0tFQ5V53migUKmg6XKAo4qS3mik+0OZpAhOLeZKicacgaYcyx5hypYQE02ZA4xi/pNhOQxR4klNKyqacj+mpxnLTnnGSo85++3ZCZq6lrZkXlGEX3o+C9FieccJbZWVFjC0Yo1FZnJhoYMFoI1hEZ9r6hwg75HwzBNhbZCdJEfJwTPGzJvaKImw1yYX1HDAmpXR+ZJQ/SmgqMNVQb5vgamGwLtt7VwvP7Qk1xpiM5x5Cyv93E06MZmgs0Nya2azIKOYKCGBQQW97RmhKNKF02JZqHEJ4o58qp7X5EcZmc56trXEqzjCBZ1MFGR87Ql2tSTs6CGxS05PTzRQorkbw7aKoKXFDXsYW42VJih/q+FP2BdTzDTwVqOYB13liM50vG7wy28qagyuIXMeQI/Oqq8bcn5wJI50xH00CRntyfpL1T4hydYpoXgNiFzoIUTDZnLNRzh4TBHwbYGDvZkxmlyJloyr6tRihpeUG94GnKtIznREF0tzJG/OOr73JBcrSh1k6WuTprgLU+mnSGnv6Zge0NNz+kTDdH8nuAuTdJDCNb21LCiIuqlYbqGzT3RAoZofQfjFazkqeNWdYaGvYTM001EW2oKPvVk1ldUGSgUtHFwjKM1h9jnFcmy5lChoLNaQMGGDsYbKixlaMBmmsx1QjCfflwTfO/gckW0ruZ3jugKR3R5W9hGUWqCgxuFgsuaCHorotGKzGaeZB9DMsaTnKCpMtwTvOzhYk0rdrArKCqcaWmVk1+F372ur1YkKxgatI8Qfe1gIX9wE9FgS8ESmuABIXnRUbCapcKe+nO7slClSZFzpV/LkLncEb1qiO42fS3R855Su2mCLh62t1SYZZYVmKwIHjREF2uihTzB20JOkz7dkxzYQnK0UOU494wh+VWRc6Un2kpTaVgLDFEkJ/uhzRcI0YKGgpGWOlocBU/a4fKoJ/pEaNV6jip3+Es9VXY078rGnmAdf7t9ylPXS34RBSuYPs1UecZTU78WanhBCHpZ5sAoTz0LGZKjPf9TRypqWEiTvOFglL1fCEY3wY/++rbk7C8bWebA6p6om6PgOL2kp44TFJlVNBXae2rqqdZztOJpT87GQsE9jqCPIe9VReZuQ/CIgacsyZdCpIScSYqcZk8r+nsyCzhyfhOqHGOIvrLknC8wTpFcaYiGC/RU1NRbUeUpocQOnkRpGOrIOcNRx+1uA0UrzhSSt+VyS3SJpnFWkzNDqOFGIWcfR86DnmARTQ1HKIL33ExPiemeOhYSSjzlSUZZuE4TveoJLnBUOFof6KiysCbnAEcZgcUNTDOwkqWu3RWtmGpZwlHhJENdZ3miGz0lJlsKnjbwqSHQjpxnFDlTLLwqJPMZMjd7KrzkSG7VsxXBZE+F8YZkb01Oe00yyRK9psh5SYh29ySPKBo2ylNht7ZkZnsKenjKNJu9PNEyZpaCHv4Kt6RQsLvAVp7M9kIimmCUwGeWqLMmGuIotYMmWNpSahkhZw9FqZsVnKJhsjAHvtHMsTM9fCI06Dx/u3vfUXCqfsKRc4oFY2jMsoo/7DJDwZ1CsIKnJu+J9ldkpmiCxQx1rWjI+T9FwcWWzOuaYH0Hj7klNRVWEQpmaqosakiGNTFHdjS/qnUdmf0NJW5xsL0HhimCCZZSRzmSPTXJQ4aaztAwtZnoabebJ+htCaZ7Cm535ByoqXKbX1WRc4Eh2MkRXWzImVc96Cj4VdOKVxR84VdQsIUM8Psoou2byVHyZFuq7O8otbSQ2UAoeEWTudATLGSpZzVLlXVkPU2Jc+27lsw2jmg5T5VhbeE3BT083K9WsTTkFU/Osi0rC5lRlpwRHUiesNS0sOvmqGML1aRbPAxTJD9ZKtxuob+hhl8cwYGWpJ8nub7t5p6coYbMovZ1BTdaKn1jYD6h4GFDNFyT/Kqe1XCXphXHOKLZmuRSRdBPEfVUXQzJm5YGPGGJdvAEr7hHNdGZnuBvrpciGmopOLf5N0uVMy0FfYToJk90uUCbJupaVpO53UJXR2bVpoU00V2KOo4zMFrBd0Jtz2pa0clT5Q5L8IpQ177mWQejPMEJhuQjS10ref6HHjdEhy1P1EYR7GtO0uSsKJQYLiTnG1rVScj5lyazpqWGl5uBbRWl7m6ixGOOnEsMJR7z8J0n6KMnCdxhiNYQCoZ6CmYLnO8omC3MkW3bktlPmEt/VQQHejL3+dOE5FlPdK/Mq8hZxxJtLyRrepLThYKbLZxkSb5W52vYxNOaOxUF0yxMUPwBTYqCzy01XayYK0sJyWBLqX0MwU5CzoymRzV0EjjeUeLgDpTo6ij42ZAzvD01dHUUTPLU96MdLbBME8nFBn7zJCMtJcZokn8YoqU0FS5WFKyniHobguMcmW8N0XkWZjkyN3hqOMtS08r+/xTBwpZSZ3qiVRX8SzMHHjfUNFjgHEPmY9PL3ykEzxkSre/1ZD6z/NuznuB0RcE1TWTm9zRgfUWVJiG6yrzgmWPXC8EAR4Wxhlad0ZbgQyEz3pG5RVEwwDJH2mgKpjcTiCOzn1lfUWANFbZ2BA8balnEweJC9J0iuaeZoI+ippFCztEKVvckR2iice1JvhVytrQwUAZpgsubCPaU7xUe9vWnaOpaSBEspalykhC9bUlOMpT42ZHca6hyrqKmw/wMR8H5ZmdFoBVJb03O4UL0tSNnvIeRmkrLWqrs78gcrEn2tpcboh0UPOW3UUR9PMk4T4nnNKWmCjlrefhCwxRNztfmIQVdDElvS4m1/WuOujoZCs5XVOjtKPGokJzsYCtFYoWonSPT21DheU/wWhM19FcElwqNGOsp9Q8N/cwXaiND1MmeL1Q5XROtYYgGeFq1aTMsoMmcrKjQrOFQTQ1fmBYhmW6o8Jkjc7iDJRTBIo5kgJD5yMEYA3srCg7VFKwiVJkmRCc5ohGOKhsYMn/XBLdo5taZjlb9YAlGWRimqbCsoY7HFAXLa5I1HPRxMMsQDHFkWtRNniqT9UEeNjcE7RUlrCJ4R2CSJuqlKHWvJXjAUNcITYkenuBRB84TbeepcqTj3zZyFJzgYQdHnqfgI0ddUwS6GqWpsKWhjq9cV0vBAEMN2znq+EBfIWT+pClYw5xsTlJU6GeIBsjGmmANTzJZiIYpgrM0Oa8ZMjd7NP87jxhqGOhJlnQtjuQpB+8aEE00wZFznSJPyHxgH3HkPOsJFvYk8zqCHzTs1BYOa4J3PFU+UVRZxlHDM4YavlNUuMoRveiZA2d7grMNc2g+RbSCEKzmgYsUmWmazFJyoiOZ4KnyhKOGRzWJa0+moyV4TVHDzn51Awtqaphfk/lRQ08FX1iiqxTB/kLwd0VynKfEvI6cd4XMV5bMhZ7gZUWVzYQ6Nm2BYzxJbw3bGthEUUMfgbGeorae6DxHtJoZ6alhZ0+ytiVoK1R4z5PTrOECT/SugseEOlb1MMNR4VRNcJy+V1Hg9ONClSZFZjdHlc6W6FBLdJja2MC5hhpu0DBYEY1TFGwiFAxRRCsYkiM9JRb0JNMVkW6CZYT/2EiTGWmo8k+h4FhDNE7BvppoTSFnmCV5xZKzvcCdDo7VVPnIU+I+Rc68juApC90MwcFCsJ5hDqxgScYKreruyQwTqrzoqDCmhWi4IbhB0Yrt3RGa6GfDv52rKXWhh28dyZaWUvcZeMTBaZoSGyiCtRU5J8iviioHaErs7Jkj61syVzTTgOcUOQ8buFBTYWdL5g3T4qlpe0+wvD63heAXRfCCIed9RbCsp2CiI7raUOYOTU13N8PNHvpaGvayo4a3LLT1lDrVEPT2zLUlheB1R+ZTRfKWJ+dcocLJfi11vyJ51lLqJ0WD7tRwryezjiV5W28uJO9qykzX8JDe2lHl/9oyBwa2UMfOngpXCixvKdXTk3wrsKmiVYdZIqsoWEERjbcUNDuiaQomGoIbFdEHmsyWnuR+IeriKDVLnlawlyNHKwKlSU631PKep8J4Q+ayjkSLKYLhalNHlYvttb6fHm0p6OApsZ4l2VfdqZkjuysy6ysKLlckf1KUutCTs39bmCgEyyoasIWlVaMF7mgmWtBT8Kol5xpH9IGllo8cJdopcvZ2sImlDmMIbtDk3KIpeNiS08lQw11NFPTwVFlPP6pJ2gvRfI7gQUfmNAtf6Gs0wQxDsKGlVBdF8rCa3jzdwMaGHOsItrZk7hAyOzpK9VS06j5F49b0VNGOOfKs3lDToMsMBe9ZWtHFEgxTJLs7qrygKZjUnmCYoeAqeU6jqWuLJup4WghOdvCYJnrSkSzoyRkm5M2StQwVltPkfCAk58tET/CSg+8MUecmotMEnhBKfWBIZsg2ihruMJQaoIm+tkTLKEqspMh00w95gvFCQRtDwTT1gVDDSEVdlwqZfxoQRbK0g+tbiBZxzKlpnpypejdDwTaeOvorMk/IJE10h9CqRe28hhLbe0pMsdSwv4ZbhKivo2BjDWfL8UKJgeavwlwb5KlwhyE4u4XkGE2ytZCznKLCDZZq42VzT8HLCrpruFbIfOIINmh/qCdZ1ZBc65kLHR1Bkyf5zn6pN3SvGKIlFNGplhrO9QSXanLOMQTLCa0YJCRrCZm/CZmrLTm7WzCK4GJDiWUdFeYx1LCFg3NMd0XmCuF3Y5rITLDUsYS9zoHVzwnJoYpSTQoObyEzr4cFBNqYTopoaU/wkyLZ2lPhX/5Y95ulxGTV7KjhWrOZgl8MyUUafjYraNjNU1N3IWcjT5WzWqjwtoarHSUObGYO3GCJZpsBlnJGPd6ZYLyl1GdCA2625IwwJDP8GUKymbzuyPlZlvTUsaUh5zFDhRWFzPKKZLAlWdcQbObgF9tOqOsmB1dqcqYJmWstFbZRRI9poolmqiLnU0POvxScpah2iSL5UJNzgScY5+AuIbpO0YD3NCW+dLMszFSdFCWGqG6eVq2uYVNDdICGD6W7EPRWZEY5gpsE9rUkS3mijzzJnm6UpUFXG1hCUeVoS5WfNcFpblELL2qqrCvMvRfd45oalvKU2tiQ6ePJOVMRXase9iTtLJztPxJKLWpo2CRDcJwn2sWSLKIO1WQWNTCvpVUvOZhgSC40JD0dOctaSqzkCRbXsKlb11Oip6PCJ0IwSJM31j3akRxlP7Rwn6aGaUL0qiLnJkvB3xWZ2+Q1TfCwpQH3G0o92UzmX4o/oJNQMMSQc547wVHhdk+VCw01DFYEnTxzZKAm74QmeNNR1w6WzEhNK15VJzuCdxQ53dRUDws5KvwgBMOEgpcVNe0hZI6RXT1Jd0cyj5nsaEAHgVmGaJIlWdsc5Ui2ElrRR6jrRAttNMEAIWrTDFubkZaok7/AkzfIwfuWVq0jHzuCK4QabtLUMVPB3kJ0oyHTSVFlqMALilJf2Rf8k5aaHtMfayocLBS8L89oKoxpJvnAkDPa0qp5DAUTHKWmCcnthlou8iCKaFFLHWcINd1nyIwXqrSxMNmSs6KmoL2QrKuWtlQ5V0120xQ5vRyZS1rgFkWwhiOwiuQbR0OOVhQM9iS3tiXp4RawRPMp5tDletOOBL95MpM01dZTBM9pkn5qF010rIeHFcFZhmSGpYpTsI6nwhqe5C9ynhlpp5ophuRb6WcJFldkVnVEwwxVfrVkvnWUuNLCg5bgboFHPDlDPDmnK7hUrWiIbjadDclujlZcaokOFup4Ri1kacV6jmrrK1hN9bGwpKEBQ4Q6DvIUXOmo6U5LqQM6EPyiKNjVkPnJkDPNEaxhiFay5ExW1NXVUGqcpYYdPcGiCq7z/TSlbhL4pplWXKd7NZO5QQFrefhRQW/NHOsqcIglc4UhWklR8K0QzbAw08CBDnpbgqXdeD/QUsM4RZXDFBW6WJKe/mFPdH0LtBgiq57wFLzlyQzz82qYx5D5WJP5yVJDW01BfyHnS6HKO/reZqId1WGa4Hkh2kWodJ8i6KoIPlAj2hPt76CzXsVR6koPRzWTfKqIentatYpQw2me4AA3y1Kind3SwoOKZDcFXTwl9tWU6mfgRk9d71sKtlNwrjnYw5tC5n5LdKiGry3JKNlHEd3oaMCFHrazBPMp/uNJ+V7IudcSbeOIdjUEdwl0VHCOZo5t6YluEuaC9mQeMgSfOyKnYGFHcIeQ84yQWbuJYJpZw5CzglDH7gKnWqqM9ZTaXcN0TeYhR84eQtJT76JJ1lREe7WnnvsMmRc9FQ7SBBM9mV3lCUdmHk/S2RAMt0QjFNFqQpWjDPQ01DXWUdDBkXziKPjGEP3VP+zIWU2t7im41FOloyWzn/L6dkUy3VLDaZ6appgDLHPjJEsyvJngWEPUyVBiAaHCTEXwrLvSEbV1e1gKJniicWorC1MUrVjB3uDhJE/wgSOzk1DXpk0k73qCM8xw2UvD5kJmDUfOomqMpWCkJRlvKXGmoeBm18USjVIk04SClxTB6YrgLAPLWYK9HLUt5cmc0vYES8GnTeRc6skZbQkWdxRsIcyBRzx1DbTk9FbU0caTPOgJHhJKnOGIVhQqvKmo0llRw9sabrZkDtdg3PqaKi9oatjY8B+G371paMg6+mZFNNtQ04mWBq3rYLOmtWWQp8KJnpy9DdFensyjdqZ+yY40VJlH8wcdLzC8PZnvHMFUTZUrDTkLyQaGus5X5LzpYAf3i+e/ZlhqGqWhh6Ou6xTR9Z6oi5AZZtp7Mj2EEm8oSpxiYZCHU/1fbGdNNNRRoZMhmilEb2gqHOEJDtXkHK/JnG6IrvbPCwV3NhONVdS1thBMs1T4QOBcTWa2IzhMk2nW5Kyn9tXUtpv9RsG2msxk+ZsQzRQacJncpgke0+T8y5Fzj8BiGo7XlJjaTIlpQs7KFjpqGnKuoyEPeIKnFMkZHvopgh81ySxNFWvJWcKRs70j2FOT012IllEEO1n4pD1513Yg2ssQPOThOkvyrqHUdEXOSEsihmBbTbKX1kLBPWqWkLOqJbjB3GBIZmoa8qWl4CG/iZ7oiA72ZL7TJNeZUY7kFQftDcHHluBzRbCegzMtrRjVQpX2lgoPKKLJAkcbMl01XK2p7yhL8pCBbQ3BN2avJgKvttcrWDK3CiUOVxQ8ZP+pqXKyIxnmBymCg5vJjNfkPK4+c8cIfK8ocVt7kmfd/I5SR1hKvCzUtb+lhgc00ZaO6CyhIQP1Uv4yIZjload72PXX0OIJvnFU+0Zf6MhsJwTfW0r0UwQfW4LNLZl5HK261JCZ4qnBaAreVAS3WrjV0LBnNDUNNDToCEeFfwgcb4gOEqLRhirWkexrCEYKVV711DLYEE1XBEsp5tpTGjorkomKYF9FDXv7fR3BGwbettSxnyL53MBPjsxDZjMh+VUW9NRxq1DhVk+FSxQcaGjV9Pawv6eGByw5qzoy7xk4RsOShqjJwWKe/1pEEfzkobeD/dQJmpqedcyBTy2sr4nGNRH0c0SPWTLrqAc0OQcb/gemKgqucQT7ySWKCn2EUotoCvpZct7RO2sy/QW0IWcXd7pQRQyZVwT2USRO87uhjioTLKV2brpMUcMQRbKH/N2T+UlTpaMls6cmc6CCNy3JdYYSUzzJQ4oSD3oKLncULOiJvjBEC2oqnCJkJluCYy2ZQ5so9YYlZ1VLlQU1mXEW1jZERwj/MUSRc24TdexlqLKfQBtDTScJUV8FszXBEY5ktpD5Ur9hYB4Nb1iikw3JoYpkKX+RodRKFt53MMuRnKSpY31PwYaGaILh3wxJGz9TkTPEETxoCWZrgvOlmyMzxFEwVJE5xZKzvyJ4WxEc16Gd4Xe3Weq4XH2jKRikqOkGQ87hQnC7wBmGYLAnesX3M+S87eFATauuN+Qcrh7xIxXJbUIdMw3JGE3ylCWzrieaqCn4zhGM19TQ3z1oH1AX+pWEqIc7wNGAkULBo/ZxRaV9NNyh4Br3rCHZzbzmSfawBL0dNRwpW1kK9mxPXR9povcdrGSZK9c2k0xwFGzjuniCtRSZCZ6ccZ7gaktmgAOtKbG/JnOkJrjcQTdFMsxRQ2cLY3WTIrlCw1eWKn8R6pvt4GFDso3QoL4a3nLk3G6JrtME3dSenpx7PNFTmga0EaJTLQ061sEeQoWXhSo9LTXsaSjoJQRXeZLtDclbCrYzfzHHeaKjHCVOUkQHO3JeEepr56mhiyaYYKjjNU+Fed1wS5VlhWSqI/hYUdDOkaxiKehoyOnrCV5yBHtbWFqTHCCwtpDcYolesVR5yUzTZBb3RNMd0d6WP+SvhuBmRcGxnuQzT95IC285cr41cLGQ6aJJhmi4TMGempxeimBRQw1tFKV+8jd6KuzoSTqqDxzRtpZkurvKEHxlqXKRIjjfUNNXQsNOsRScoWFLT+YeRZVD3GRN0MdQcKqQjHDMrdGGVu3iYJpQx3WGUvfbmxwFfR20WBq0oYY7LMFhhgYtr8jpaEnaOzjawWWaTP8mMr0t/EPDPoqcnxTBI5o58L7uoWnMrpoqPwgVrlAUWE+V+TQl9rawoyP6QGAlQw2TPRX+YSkxyBC8Z6jhHkXBgQL7WII3DVFnRfCrBfxewv9D6xsyjys4VkhWb9pUU627JllV0YDNHMku/ldNMMXDEo4aFnAkk4U6frNEU4XgZUPmEKHUl44KrzmYamjAbh0JFvGnaTLPu1s9jPCwjFpYiN7z1DTOk/nc07CfDFzmCf7i+bfNHXhDtLeBXzTBT5rkMvWOIxpl4EMh2LGJBu2syDnAEx2naEhHDWMMzPZEhygyS1mS5RTJr5ZkoKbEUoYqr2kqdDUE8ztK7OaIntJkFrIECwv8LJTaVx5XJE86go8dFeZ3FN3rjabCAYpoYEeC9zzJVULBbmZhDyd7ko09ydpNZ3nm2Kee4FPPXHnYEF1nqOFEC08LUVcDvYXkJHW8gTaKCk9YGOeIJhqiE4ToPEepdp7IWFjdwnWaufGMwJJCMtUTTBBK9BGCOy2tGGrJTHIwyEOzp6aPzNMOtlZkDvcEWpP5SVNhfkvDxhmSazTJXYrM9U1E0xwFVwqZQwzJxw6+kGGGUj2FglGGmnb1/G51udRSMNlTw6GGnCcUwVcOpmsqTHa06o72sw1RL02p9z0VbnMLOaIX3QKaYKSCFQzBKEUNHTSc48k53RH9wxGMtpQa5KjjW0W0n6XCCCG4yxNNdhQ4R4l1Ff+2sSd6UFHiIEOyqqFgT01mEUMD+joy75jPhOA+oVVLm309FR4yVOlp4RhLiScNmSmaYF5Pw0STrOIoWMSR2UkRXOMp+M4SHW8o8Zoi6OZgjKOaFar8zZDzkWzvKOjkKBjmCXby8JahhjXULY4KlzgKLvAwxVGhvyd4zxB1d9T0piazmKLCVZY5sKiD0y2ZSYrkUEPUbIk+dlQ4SJHTR50k1DPaUWIdTZW9NJwnJMOECgd7ou/MnppMJ02O1VT4Wsh85MnZzcFTngpXGKo84qmwgKbCL/orR/SzJ2crA+t6Mp94KvxJUeIbT3CQu1uIdlQEOzlKfS3UMcrTiFmOuroocrZrT2AcmamOKg8YomeEKm/rlT2sociMaybaUlFhuqHCM2qIJ+rg4EcDFymiDSxzaHdPcpE62pD5kyM5SBMoA1PaUtfIthS85ig1VPiPPYXgYEMNk4Qq7TXBgo7oT57gPUdwgCHzhIVFPFU6OYJzHAX9m5oNrVjeE61miDrqQ4VSa1oiURTsKHC0IfjNwU2WzK6eqK8jWln4g15TVBnqmDteCJ501PGAocJhhqjZdtBEB6lnhLreFJKxmlKbeGrqLiSThVIbCdGzloasa6lpMQXHCME2boLpJgT7yWaemu6wBONbqGNVRS0PKIL7LckbjmQtR7K8I5qtqel+T/ChJTNIKLjdUMNIRyvOEko9YYl2cwQveBikCNawJKcLBbc7+JM92mysNvd/Fqp8a0k6CNEe7cnZrxlW0wQXaXjaktnRwNOGZKYiONwS7a1JVheq3WgJHlQUGKHKmp4KAxXR/ULURcNgoa4zhKSLpZR3kxRRb0NmD0OFn+UCS7CzI1nbP6+o4x47QZE5xRCt3ZagnYcvmpYQktXdk5YKXTzBC57kKEe0VVuiSYqapssMS3C9p2CKkHOg8B8Pa8p5atrIw3qezIWanMGa5HRDNF6RM9wcacl0N+Q8Z8hsIkSnaIIdHRUOEebAPy1zbCkhM062FCJtif7PU+UtoVXzWKqM1PxXO8cfdruhFQ/a6x3JKYagvVDhQEtNiyiiSQ7OsuRsZUku0CRNDs4Sog6KKjsZgk2bYJqijgsEenoKeniinRXBn/U3lgpPdyDZynQx8IiioMnCep5Ky8mjGs6Wty0l1hUQTcNWswS3WRp2kCNZwJG8omG8JphPUaFbC8lEfabwP7VtM9yoaNCAjpR41VNhrD9LkbN722v0CoZMByFzhaW+MyzRYEWFDQwN2M4/JiT76PuljT3VU/A36eaIThb+R9oZGOAJ9tewkgGvqOMNRWYjT/Cwu99Q8LqDE4TgbLWxJ1jaDDAERsFOFrobgjUsBScaguXU8kKm2RL19tRypSHnHNlHiIZqgufs4opgQdVdwxBNNFBR6kVFqb8ogimOzB6a6HTzrlDHEpYaxjiiA4TMQobkDg2vejjfwJGWmnbVFAw3H3hq2NyQfG7hz4aC+w3BbwbesG0swYayvpAs6++Ri1Vfzx93mFChvyN5xVHTS+0p9aqCAxyZ6ZacZyw5+7uuQkFPR9DDk9NOiE7X1PCYJVjVUqq7JlrHwWALF5nfHNGjApdpqgzx5OwilDhCiDYTgnc9waGW4BdLNNUQvOtpzDOWHDH8D7TR/A/85KljEQu3NREc4Pl/6B1Hhc8Umb5CsKMmGC9EPcxoT2amwHNCmeOEnOPbklnMkbOgIvO5UMOpQrS9UGVdt6iH/fURjhI/WOpaW9OKLYRod6HCUEdOX000wpDZQ6hwg6LgZfOqo1RfT/CrJzjekXOGhpc1VW71ZLbXyyp+93ILbC1kPtIEYx0FIx1VDrLoVzXRKRYWk809yYlC9ImcrinxtabKnzRJk3lAU1OLEN1j2zrYzr2myHRXJFf4h4QKT1qSTzTB5+ZNTzTRkAxX8FcLV2uS8eoQQ2aAkFzvCM72sJIcJET3WPjRk5wi32uSS9rfZajpWEvj9hW42F4o5NytSXYy8IKHay10VYdrcl4SkqscrXpMwyGOgtkajheSxdQqmpxP1L3t4R5PqasFnrQEjytq6qgp9Y09Qx9o4S1FzhUCn1kyHSzBWLemoSGvOqLNhZyBjmCaAUYpMgt4Ck7wBBMMwWKWgjsUwTaGVsxWC1mYoKiyqqeGKYqonSIRQ3KIkHO0pmAxTdBHkbOvfllfr+AA+7gnc50huVKYK393FOyg7rbPO/izI7hE4CnHHHnJ0ogNPRUGeUpsrZZTBJcrovUcJe51BPsr6GkJdhCCsZ6aTtMEb2pqWkqeVtDXE/QVggsU/Nl86d9RMF3DxvZTA58agu810RWawCiSzzXBeU3MMW9oyJUedvNEvQyNu1f10BSMddR1vaLCYpYa/mGocLSiYDcLbQz8aMn5iyF4xBNMs1P0QEOV7o5gaWGuzSeLue4tt3ro7y4Tgm4G/mopdZgl6q0o6KzJWE3mMksNr3r+a6CbT8g5wZNzT9O7fi/zpaOmnz3BRoqos+tv9zMbdpxsqDBOEewtJLt7cg5wtKKbvldpSzRRCD43VFheCI7yZLppggMVBS/KMAdHODJvOwq2NQSbKKKPLdFWQs7Fqo+mpl01JXYRgq8dnGLhTiFzqmWsUMdpllZdbKlyvSdYxhI9YghOtxR8LgSLWHK62mGGVoxzBE8LNWzqH9CUesQzFy5RQzTc56mhi6fgXEWwpKfE5Z7M05ZgZUPmo6auiv8YKzDYwWBLMErIbKHJvOwIrvEdhOBcQ9JdU1NHQ7CXn2XIDFBKU2WAgcX9UAUzDXWd5alwuyJ41Z9rjKLCL4aCp4WarhPm2rH+SaHUYE001JDZ2ZAzXPjdMpZWvC9wmqIB2lLhQ01D5jO06hghWMndbM7yRJMsoCj1vYbnFQVrW9jak3OlEJ3s/96+p33dEPRV5GxiqaGjIthUU6FFEZyqCa5qJrpBdzSw95IUnOPIrCUUjRZQFrbw5PR0R1qiYx3cb6nrWUMrBmmiBQxVHtTew5ICP/ip6g4hed/Akob/32wvBHsIOX83cI8hGeNeNPCIkPmXe8fPKx84OMSRM1MTdXSwjCZ4S30jVGhvqTRak/OVhgGazHuOCud5onEO1lJr6ecVyaOK6H7zqlBlIaHE0oroCgfvGJIdPcmfLNGLjpz7hZwZQpUbFME0A1cIJa7VNORkgfsMBatbKgwwJM9bSvQXeNOvbIjelg6WWvo5kvbKaJJNHexkKNHL9xRyFlH8Ti2riB5wVPhUk7nGkJnoCe428LR/wRGdYIlmWebCyxou1rCk4g/ShugBDX0V0ZQWkh0dOVsagkM0yV6OoLd5ye+pRlsCr0n+KiQrGuq5yJDzrTAXHtLUMduTDBVKrSm3eHL+6ijxhFDX9Z5gVU/wliHYTMiMFpKLNMEywu80wd3meoFmt6VbRMPenhrOc6DVe4pgXU8DnnHakLOIIrlF4FZPIw6R+zxBP0dyq6OOZ4Q5sLKCcz084ok+VsMMyQhNZmmBgX5xIXOEJTmi7VsGTvMTNdHHhpzdbE8Du2oKxgvBqQKdDDnTFOylCFaxR1syz2iqrOI/FEpNc3C6f11/7+ASS6l2inq2ciTrCCzgyemrCL5SVPjQkdPZUmGy2c9Sw9FtR1sS30RmsKPCS4rkIC/2U0MduwucYolGaPjKEyhzmiPYXagyWbYz8LWBDdzRimAXzxx4z8K9hpzlhLq+NiQ97HuKorMUfK/OVvC2JfiHUPCQI/q7J2gjK+tTDNxkCc4TMssqCs4TGtLVwQihyoAWgj9bosU80XGW6Ac9TJGziaUh5+hnFcHOnlaM1iRn29NaqGENTTTSUHCH2tWTeV0osUhH6psuVLjRUmGWhm6OZEshGeNowABHcJ2Bpy2ZszRcKkRXd2QuKVEeXnbfaEq825FguqfgfE2whlChSRMdron+LATTPQ2Z369t4B9C5gs/ylzv+CMmepIDPclFQl13W0rspPd1JOcbghGOEutqCv5qacURQl3dDKyvyJlqKXGPgcM9FfawJAMVmdcspcYKOZc4GjDYkFlK05olNMHyHn4zFNykyOxt99RkHlfwmiHo60l2EKI+mhreEKp080Tbug08BVPcgoqC5zWt+NLDTZ7oNSF51N1qie7Va3uCCwyZbkINf/NED6jzOsBdZjFN8oqG3wxVunqCSYYKf3EdhJyf9YWGf7tRU2oH3VHgPr1fe5J9hOgHd7xQ0y7qBwXr23aGErP0cm64JVjZwsOGqL+mhNgZmhJLW2oY4UhedsyBgzrCKrq7BmcpNVhR6jBPq64Vgi+kn6XE68pp8J5/+0wRHGOpsKenQn9DZntPzjRLZpDAdD2fnSgkG9tmIXnUwQ6WVighs7Yi2MxQ0N3CqYaCXkJ0oyOztMDJjmSSpcpvlrk0RMMOjmArQ04PRV1DO1FwhCVaUVPpKUM03JK5SxPsIWRu8/CGHi8UHChiqGFDTbSRJWeYUDDcH6vJWUxR4k1FXbMUwV6e4AJFXS8oMqsZKqzvYQ9DDQdZckY4aGsIhtlubbd2r3j4QBMoTamdPZk7O/Bf62lacZwneNjQoGcdVU7zJOd7ghsUHOkosagic6cnWc8+4gg285R6zZP5s1/LUbCKIznTwK36PkdwlOrl4U1LwfdCCa+IrvFkmgw1PCAUXKWo0sURXWcI2muKJlgyFzhynCY4RBOsqCjoI1R5zREco0n2Vt09BQtYSizgKNHfUmUrQ5UOCh51BFcLmY7umhYqXKQomOop8bUnWNNQcIiBcYaC6xzMNOS8JQQfeqKBmmglB+97ok/lfk3ygaHSyZaCRTzRxQo6GzLfa2jWBPepw+UmT7SQEJyiyRkhBLMVOfcoMjcK0eZChfUNzFAUzCsEN5vP/X1uP/n/aoMX+K+nw/Hjr/9xOo7j7Pju61tLcgvJpTWXNbfN5jLpi6VfCOviTktKlFusQixdEKWmEBUKNaIpjZRSSOXSgzaaKLdabrm1/9nZ+/f+vd/vz/v9+Xy+zZ7PRorYoZqyLrCwQdEAixxVOEXNNnjX2nUSRlkqGmWowk8lxR50JPy9Bo6qJXaXwNvREBvnThPEPrewryLhcAnj5WE15Fqi8W7R1sAuEu86S4ENikItFN4xkv9Af4nXSnUVcLiA9xzesFpivRRVeFKtsMRaKBhuSbjOELnAUtlSQUpXgdfB4Z1oSbnFEetbQ0IrAe+Y+pqnDcEJFj6S8LDZzZHwY4e3XONNlARraomNEt2bkvGsosA3ioyHm+6jCMbI59wqt4eeara28IzEmyPgoRaUOEDhTVdEJhmCoTWfC0p8aNkCp0oYqih2iqGi4yXeMkOsn4LdLLnmKfh/YogjNsPebeFGR4m9BJHLzB61XQ3BtpISfS2FugsK9FAtLWX1dCRcrCnUp44CNzuCowUZmxSRgYaE6Za0W2u/E7CVXCiI/UOR8aAm1+OSyE3mOUcwyc1zBBeoX1kiKy0Zfxck1Gsyulti11i83QTBF5Kg3pDQThFMVHiPSlK+0cSedng/VaS8bOZbtsBcTcZAR8JP5KeqQ1OYKAi20njdNNRpgnsU//K+JnaXJaGTomr7aYIphoRn9aeShJWKEq9LcozSF7QleEfDI5LYm5bgVkFkRwVDBCVu0DDIkGupo8TZBq+/pMQURYErJQmPKGKjNDkWOLx7Jd5QizdUweIaKrlP7SwJDhZvONjLkOsBBX9UpGxnydhXkfBLQ8IxgojQbLFnJf81JytSljclYYyEFyx0kVBvKWOFJmONpshGAcsduQY5giVNCV51eOdJYo/pLhbvM0uDHSevNKRcrKZIqnCtJeEsO95RoqcgGK4ocZcho1tTYtcZvH41pNQ7vA0WrhIfOSraIIntIAi+NXWCErdbkvrWwjRLrt0NKUdL6KSOscTOdMSOUtBHwL6OLA0vNSdynaWQEnCpIvKaIrJJEbvHkmuNhn6OjM8VkSGSqn1uYJCGHnq9I3aLhNME3t6GjIkO7xrNFumpyTNX/NrwX7CrIRiqqWijI9JO4d1iieykyfiposQIQ8YjjsjlBh6oHWbwRjgYJQn2NgSnNycmJAk3NiXhx44Sxykihxm8ybUwT1OVKySc7vi3OXVkdBJ4AyXBeksDXG0IhgtYY0lY5ahCD0ehborIk5aUWRJviMA7Xt5kyRjonrXENkm8yYqgs8VzgrJmClK20uMM3jRJ0FiQICQF9hdETlLQWRIb5ki6WDfWRPobvO6a4GP5mcOrNzDFELtTkONLh9dXE8xypEg7z8A9jkhrQ6Fhjlg/QVktJXxt4WXzT/03Q8IaQWSqIuEvloQ2mqC9Jfi7wRul4RX3pSPlzpoVlmCtI2jvKHCFhjcM3sN6lqF6HxnKelLjXWbwrpR4xzuCrTUZx2qq9oAh8p6ixCUGr78g8oyjRAtB5CZFwi80VerVpI0h+IeBxa6Zg6kWvpDHaioYYuEsRbDC3eOmC2JvGYLeioxGknL2UATNJN6hmtj1DlpLvDVmocYbrGCVJKOrg4X6DgddLA203BKMFngdJJFtFd7vJLm6KEpc5yjQrkk7M80SGe34X24nSex1Ra5Omgb71JKyg8SrU3i/kARKwWpH0kOGhKkObyfd0ZGjvyXlAkVZ4xRbYJ2irFMkFY1SwyWxr2oo4zlNiV+7zmaweFpT4kR3kaDAFW6xpSqzJay05FtYR4HmZhc9UxKbbfF2V8RG1MBmSaE+kmC6JnaRXK9gsiXhJHl/U0qM0WTcbyhwkYIvFGwjSbjfwhiJt8ZSQU+Bd5+marPMOkVkD0muxYLIfEuhh60x/J92itguihJSEMySVPQnTewnEm+620rTQEMsOfo4/kP/0ARvWjitlpSX7GxBgcMEsd3EEeYWvdytd+Saawi6aCIj1CkGb6Aj9rwhx16Cf3vAwFy5pyLhVonXzy51FDpdEblbkdJbUcEPDEFzQ8qNmhzzLTmmKWKbFCXeEuRabp6rxbvAtLF442QjQ+wEA9eL1xSR7Q0JXzlSHjJ4exq89yR0laScJ/FW6z4a73pFMEfDiRZvuvijIt86RaSFOl01riV2mD1UEvxGk/Geg5aWwGki1zgKPG9J2U8PEg8qYvMsZeytiTRXBMslCU8JSlxi8EabjwUldlDNLfzTUmCgxWsjqWCOHavYAqsknKFIO0yQ61VL5AVFxk6WhEaCAkdJgt9aSkzXlKNX2jEa79waYuc7gq0N3GDJGCBhoiTXUEPsdknCUE1CK0fwsiaylSF2uiDyO4XX3pFhNd7R4itFGc0k/ElBZwWvq+GC6szVeEoS/MZ+qylwpKNKv9Z469UOjqCjwlusicyTxG6VpNxcQ8IncoR4RhLbR+NdpGGmJWOcIzJGUuKPGpQg8rrG21dOMqQssJQ4RxH5jaUqnZuQ0F4Q+cjxLwPtpZbIAk3QTJHQWBE5S1BokoVtDd6lhqr9UpHSUxMcIYl9pojsb8h4SBOsMQcqvOWC2E8EVehqiJ1hrrAEbQxeK0NGZ0Gkq+guSRgniM23bIHVkqwx4hiHd7smaOyglyIyQuM978j4VS08J/A2G1KeMBRo4fBaSNhKUEZfQewVQ/C1I+MgfbEleEzCUw7mKXI0M3hd1EESVji8x5uQ41nxs1q4RMJCCXs7Iq9acpxn22oSDnQ/sJTxsCbHIYZiLyhY05TY0ZLIOQrGaSJDDN4t8pVaIrsqqFdEegtizc1iTew5Q4ayBDMUsQMkXocaYkc0hZua412siZ1rSXlR460zRJ5SlHGe5j801RLMlJTxtaOM3Q1pvxJ45zUlWFD7rsAbpfEm1JHxG0eh8w2R7QQVzBUw28FhFp5QZzq8t2rx2joqulYTWSuJdTYfWwqMFMcovFmSyJPNyLhE4E10pHzYjOC3huArRa571ZsGajQpQx38SBP5pyZB6lMU3khDnp0MBV51BE9o2E+TY5Ml2E8S7C0o6w1xvCZjf0HkVEHCzFoyNmqC+9wdcqN+Tp7jSDheE9ws8Y5V0NJCn2bk2tqSY4okdrEhx1iDN8cSudwepWmAGXKcJXK65H9to8jYQRH7SBF01ESUJdd0TayVInaWhLkOjlXE5irKGOnI6GSWGCJa482zBI9rCr0jyTVcEuzriC1vcr6mwFGSiqy5zMwxBH/TJHwjSPhL8+01kaaSUuMFKTcLEvaUePcrSmwn8DZrgikWb7CGPxkSjhQwrRk57tctmxLsb9sZvL9LSlyuSLlWkqOjwduo8b6Uv1DkmudIeFF2dHCgxVtk8dpIvHpBxhEOdhKk7OLIUSdJ+cSRY57B+0DgGUUlNfpthTfGkauzxrvTsUUaCVhlKeteTXCoJDCa2NOKhOmC4G1H8JBd4OBZReSRGkqcb/CO1PyLJTLB4j1q8JYaIutEjSLX8YKM+a6phdMsdLFUoV5RTm9JSkuDN8WcIon0NZMNZWh1q8C7SJEwV5HxrmnnTrf3KoJBlmCYI2ilSLlfEvlE4011NNgjgthzEua0oKK7JLE7HZHlEl60BLMVFewg4EWNt0ThrVNEVkkiTwpKXSWJzdRENgvKGq4IhjsiezgSFtsfCUq8qki5S1LRQeYQQ4nemmCkImWMw3tFUoUBZk4NOeZYEp4XRKTGa6wJjrWNHBVJR4m3FCnbuD6aak2WsMTh3SZImGCIPKNgsDpVwnsa70K31lCFJZYcwwSMFcQulGTsZuEaSdBXkPGZhu0FsdUO73RHjq8MPGGIfaGIbVTk6iuI3GFgucHrIQkmWSJdBd7BBu+uOryWAhY7+Lki9rK5wtEQzWwvtbqGhIMFwWRJsElsY4m9IIg9L6lCX0VklaPAYkfkZEGDnOWowlBJjtMUkcGK4Lg6EtoZInMUBVYLgn0UsdmCyCz7gIGHFfk+k1QwTh5We7A9x+IdJ6CvIkEagms0hR50eH9UnTQJ+2oiKyVlLFUE+8gBGu8MQ3CppUHesnjTHN4QB/UGPhCTHLFPHMFrCqa73gqObUJGa03wgbhHkrCfpEpzNLE7JDS25FMKhlhKKWKfCgqstLCPu1zBXy0J2ztwjtixBu8UTRn9LVtkmCN2iyFhtME70JHRQ1KVZXqKI/KNIKYMCYs1GUMEKbM1bKOI9LDXC7zbHS+bt+1MTWS9odA9DtrYtpbImQJ2VHh/lisEwaHqUk1kjKTAKknkBEXkbkdMGwq0dnhzLJF3NJH3JVwrqOB4Sca2hti75nmJN0WzxS6UxDYoEpxpa4htVlRjkYE7DZGzJVU72uC9IyhQL4i8YfGWSYLLNcHXloyz7QhNifmKSE9JgfGmuyLhc403Xm9vqcp6gXe3xuuv8F6VJNxkyTHEkHG2g0aKXL0MsXc1bGfgas2//dCONXiNLCX+5mB7eZIl1kHh7ajwpikyzlUUWOVOsjSQlsS+M0R+pPje/dzBXRZGO0rMtgQrLLG9VSu9n6CMXS3BhwYmSoIBhsjNBmZbgusE9BCPCP5triU4VhNbJfE+swSP27aayE8tuTpYYjtrYjMVGZdp2NpS1s6aBnKSHDsbKuplKbHM4a0wMFd/5/DmGyKrJSUaW4IBrqUhx0vyfzTBBLPIUcnZdrAkNsKR0sWRspumSns6Ch0v/qqIbBYUWKvPU/CFoyrDJGwSNFhbA/MlzKqjrO80hRbpKx0Jewsi/STftwGSlKc1JZyAzx05dhLEdnfQvhZOqiHWWEAHC7+30FuRcZUgaO5gpaIK+xsiHRUsqaPElTV40xQZQ107Q9BZE1nryDVGU9ZSQ47bmhBpLcYpUt7S+xuK/FiT8qKjwXYw5ypS2iuCv7q1gtgjhuBuB8LCFY5cUuCNtsQOFcT+4Ih9JX+k8Ea6v0iCIRZOtCT0Et00JW5UeC85Cg0ScK0k411HcG1zKtre3SeITBRk7WfwDhEvaYLTHP9le0m8By0JDwn4TlLW/aJOvGHxdjYUes+ScZigCkYQdNdEOhkiezgShqkx8ueKjI8lDfK2oNiOFvrZH1hS+tk7NV7nOmLHicGWEgubkXKdwdtZknCLJXaCpkrjZBtLZFsDP9CdxWsSr05Sxl6CMmoFbCOgryX40uDtamB7SVmXW4Ihlgpmq+00tBKUUa83WbjLUNkzDmY7cow1JDygyPGlhgGKYKz4vcV7QBNbJIgM11TUqZaMdwTeSguH6rOaw1JRKzaaGyxVm2EJ/uCIrVWUcZUkcp2grMsEjK+DMwS59jQk3Kd6SEq1d0S6uVmO4Bc1lDXTUcHjluCXEq+1OlBDj1pi9zgiXxnKuE0SqTXwhqbETW6RggMEnGl/q49UT2iCzgJvRwVXS2K/d6+ZkyUl7jawSVLit46EwxVljDZwoSQ20sDBihztHfk2yA8NVZghiXwrYHQdfKAOtzsayjhY9bY0yE2CWEeJ9xfzO423xhL5syS2TFJofO2pboHob0nY4GiAgRrvGQEDa/FWSsoaaYl0syRsEt3kWoH3B01shCXhTUWe9w3Bt44SC9QCh3eShQctwbaK2ApLroGCMlZrYqvlY3qYhM0aXpFkPOuoqJ3Dm6fxXrGwVF9gCWZagjPqznfkuMKQ8DPTQRO8ZqG1hPGKEm9IgpGW4DZDgTNriTxvFiq+Lz+0cKfp4wj6OCK9JSnzNSn9LFU7UhKZZMnYwcJ8s8yRsECScK4j5UOB95HFO0CzhY4xJxuCix0lDlEUeMdS6EZBkTsUkZ4K74dugyTXS7aNgL8aqjDfkCE0ZbwkCXpaWCKhl8P7VD5jxykivSyxyZrYERbe168LYu9ZYh86IkscgVLE7tWPKmJv11CgoyJltMEbrohtVAQfO4ImltiHEroYEs7RxAarVpY8AwXMcMReFOTYWe5iiLRQxJ5Q8DtJ8LQhWOhIeFESPGsILhbNDRljNbHzNRlTFbk2S3L0NOS6V1KFJYKUbSTcIIhM0wQ/s2TM0SRMNcQmSap3jCH4yhJZKSkwyRHpYYgsFeQ4U7xoCB7VVOExhXepo9ABBsYbvGWKXPME3lyH95YioZ0gssQRWWbI+FaSMkXijZXwgiTlYdPdkNLaETxlyDVIwqeaEus0aTcYcg0RVOkpR3CSJqIddK+90JCxzsDVloyrFd5ZAr4TBKfaWa6boEA7C7s6EpYaeFPjveooY72mjIccLHJ9HUwVlDhKkmutJDJBwnp1rvulJZggKDRfbXAkvC/4l3ozQOG9a8lxjx0i7nV4jSXc7vhe3OwIxjgSHjdEhhsif9YkPGlus3iLFDnWOFhtCZbJg0UbQcIaR67JjthoCyMEZRwhiXWyxO5QxI6w5NhT4U1WsJvDO60J34fW9hwzwlKij6ZAW9ne4L0s8C6XeBMEkd/LQy1VucBRot6QMlbivaBhoBgjqGiCJNhsqVp/S2SsG6DIONCR0dXhvWbJ+MRRZJkkuEjgDXJjFQW6SSL7GXK8Z2CZg7cVsbWGoKmEpzQ5elpiy8Ryg7dMkLLUEauzeO86CuwlSOlgYLojZWeJ9xM3S1PWfEfKl5ISLQ0MEKR8YOB2QfCxJBjrKPCN4f9MkaSsqoVXJBmP7EpFZ9UQfOoOFwSzBN4MQ8LsGrymlipcJQhmy0GaQjPqCHaXRwuCZwRbqK2Fg9wlClZqYicrIgMdZfxTQ0c7TBIbrChxmuzoKG8XRaSrIhhiyNFJkrC7oIAWMEOQa5aBekPCRknCo4IKPrYkvCDI8aYmY7WFtprgekcJZ3oLIqssCSMtFbQTJKwXYy3BY5oCh2iKPCpJOE+zRdpYgi6O2KmOAgvVCYaU4ySRek1sgyFhJ403QFHiVEmJHwtybO1gs8Hr5+BETQX3War0qZngYGgtVZtoqd6vFSk/UwdZElYqyjrF4HXUeFspIi9IGKf4j92pKGAdCYMVsbcV3kRF0N+R8LUd5PCsIGWoxDtBkCI0nKofdJQxT+LtZflvuc8Q3CjwWkq8KwUpHzkK/NmSsclCL0nseQdj5FRH5CNHSgtLiW80Of5HU9Hhlsga9bnBq3fEVltKfO5IaSTmGjjc4J0otcP7QsJUSQM8pEj5/wCuUuC2DWz8AAAAAElFTkSuQmCC")}.cm-s-xq-light span.cm-keyword{line-height:1em;font-weight:700;color:#5a5cad}.cm-s-xq-light span.cm-atom{color:#6c8cd5}.cm-s-xq-light span.cm-number{color:#164}.cm-s-xq-light span.cm-def{text-decoration:underline}.cm-s-xq-light span.cm-type,.cm-s-xq-light span.cm-variable,.cm-s-xq-light span.cm-variable-2,.cm-s-xq-light span.cm-variable-3{color:#000}.cm-s-xq-light span.cm-comment{color:#0080ff;font-style:italic}.cm-s-xq-light span.cm-string{color:red}.cm-s-xq-light span.cm-meta{color:#ff0}.cm-s-xq-light span.cm-qualifier{color:grey}.cm-s-xq-light span.cm-builtin{color:#7ea656}.cm-s-xq-light span.cm-bracket{color:#cc7}.cm-s-xq-light span.cm-tag{color:#3f7f7f}.cm-s-xq-light span.cm-attribute{color:#7f007f}.cm-s-xq-light span.cm-error{color:red}.cm-s-xq-light .CodeMirror-activeline-background{background:#e8f2ff}.cm-s-xq-light .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important;background:#ff0} \ No newline at end of file diff --git a/index.html b/index.html index 0803be9..4c73bd6 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -微信 Markdown 编辑器
\ No newline at end of file +微信 Markdown 编辑器
\ No newline at end of file diff --git a/js/app.19be7b18.js b/js/app.19be7b18.js new file mode 100644 index 0000000..db5308e --- /dev/null +++ b/js/app.19be7b18.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var o,a,s=t[0],c=t[1],l=t[2],d=0,f=[];d0}));r=i(r);var a=e.substring(0,t).split(",").map((function(e){return e.trim()}));a.forEach((function(e){o[e]||(o[e]={}),Object.keys(r).forEach((function(t){o[e][t]=r[t]}))})),e=e.slice(n+1).trim()};while(e.length>0&&-1!==e.indexOf("{")&&-1!==e.indexOf("}"))i();return o}function S(e,t){var n=e.getValue(0);n?localStorage.setItem(t,n):localStorage.removeItem(t)}function E(e){var t=g.a.format(e,{parser:"markdown",plugins:[b.a]});return t}function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"pre",t=document.getElementsByClassName("code__pre");t.length>0&&t.forEach((function(t){t.style.whiteSpace=e}))}function R(e){var t=document.createElement("a");t.download="content.md",t.style.display="none";var n=new Blob([e]);t.href=URL.createObjectURL(n),document.body.appendChild(t),t.click(),document.body.removeChild(t)}n("b0c0");var j=n("bc3a"),T=n.n(j),z=T.a.create({baseURL:"",timeout:1e4});z.interceptors.request.use((function(e){return/^(post)|(put)|(delete)$/i.test(e.method)&&e.data&&e.data.upload&&(e.headers["Content-Type"]="multipart/form-data"),e}),(function(e){Promise.reject(e)})),z.interceptors.response.use((function(e){return e.data.success?e.data:Promise.reject(e.data)}),(function(e){return Promise.reject(e)}));var M=z;function F(e){return M({url:"https://imgkr.com/api/files/upload",method:"post",data:e})}var $={fileUpload:F};function P(e){return new Promise((function(t,n){var o=A(e);if(o)n(o);else{var i=new FormData;i.append("file",e),$.fileUpload(i).then((function(e){t(e)})).catch((function(e){console.log(e.message)}))}}))}function A(e){return/\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(e.name)?e.size>5242880&&"由于公众号限制,图片大小不能超过 5.0M":"请上传 JPG/PNG/GIF 格式的图片"}var N=n("466b"),D=n.n(N);function L(){for(var e=document.getElementById("output"),t=e.getElementsByTagName("img"),n=0;n1?i-1:i;1===i?o.push("---\t"):o.push(this.tableData["k_".concat(a,"_").concat(r)]||"")}n+=o.join("\t|\t"),n+="\t|\n"}this.tableData={},this.rowNum=1,this.colNum=1,this.editor.replaceSelection("\n".concat(n,"\n"),"end"),this.$emit("input",!1),this.editorRefresh()}},Object(J["b"])(["editorRefresh"])),{},{handleChange:function(e,t){}})}),de=ue,fe=(n("6f0c"),Object(K["a"])(de,ce,le,!1,null,null,null)),pe=fe.exports,he=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",{directives:[{name:"show",rawName:"v-show",value:e.value,expression:"value"}],staticClass:"menu",style:"left: "+e.left+"px;top: "+e.top+"px;",attrs:{id:"menu"}},e._l(e.list,(function(t){return n("li",{key:t.key,staticClass:"menu_item"},["insertPic"===t.key?n("el-upload",{staticClass:"li__upload",attrs:{action:"","show-file-list":!1,multiple:!0,accept:".jpg,.jpeg,.png,.gif",name:"file","before-upload":e.beforeUpload}},[n("span",[e._v(e._s(t.text))])]):n("span",{on:{click:function(n){return e.$emit("menuTick",t.key)}}},[e._v(e._s(t.text))])],1)})),0)},ge=[],me=(n("a9e3"),{props:{value:{type:Boolean,default:!1},top:{type:Number,default:0},left:{type:Number,default:0}},data:function(){return{list:[{text:"上传图片",key:"insertPic"},{text:"插入表格",key:"insertTable"},{text:"页面重置",key:"pageReset"},{text:"下载MD文档",key:"downLoad"}]}},methods:{closeCB:function(){this.$emit("input",!1)},beforeUpload:function(e){var t=this;return P(e).then((function(e){t.$emit("menuTick","insertPic",e)})).catch((function(e){t.$message({showClose:!0,message:e,type:"error"})})),!1}},watch:{value:function(e){e?document.body.addEventListener("click",this.closeCB.bind(this)):document.body.removeEventListener("click",this.closeCB.bind(this))}}}),be=me,ve=(n("d270"),Object(K["a"])(be,he,ge,!1,null,"2cdcffb0",null)),Ce=ve.exports;n("f9d4");var ke={data:function(){return{showCssEditor:!1,aboutDialogVisible:!1,dialogFormVisible:!1,rightClickMenuVisible:!1,isCoping:!1,isImgLoading:!1,backLight:!1,timeout:null,changeTimer:null,source:"",mouseLeft:0,mouseTop:0}},components:{editorHeader:te,aboutDialog:se,insertFormDialog:pe,rightClickMenu:Ce},computed:Object(l["a"])({},Object(J["c"])({wxRenderer:function(e){return e.wxRenderer},output:function(e){return e.output},editor:function(e){return e.editor},cssEditor:function(e){return e.cssEditor},currentSize:function(e){return e.currentSize},currentColor:function(e){return e.currentColor},nightMode:function(e){return e.nightMode}})),created:function(){var e=this;this.initEditorState(),this.$nextTick((function(){e.initEditor(),e.initCssEditor(),e.onEditorRefresh()}))},methods:Object(l["a"])({initEditor:function(){var e=this;this.initEditorEntity(),this.editor.on("change",(function(t,n){e.changeTimer&&clearTimeout(e.changeTimer),e.changeTimer=setTimeout((function(){e.onEditorRefresh(),S(e.editor,"__editor_content")}),300)})),this.editor.on("paste",(function(t,n){if(n.clipboardData&&n.clipboardData.items&&!e.isImgLoading)for(var o=0,i=n.clipboardData.items.length;o=65&&t.keyCode<=90||189===t.keyCode)&&e.showHint(t)})),this.cssEditor.on("update",(function(t){e.cssChanged(),S(e.cssEditor,"__css_content")}))},cssChanged:function(){var e=_(this.cssEditor.getValue(0)),t=w(this.currentSize.replace("px",""));t=y(e,this.currentColor,t),this.setWxRendererOptions({theme:t}),this.onEditorRefresh()},uploaded:function(e){if(e&&e.success){var t=this.editor.getCursor(),n=e.data,o="![](".concat(n,")");this.editor.replaceSelection("\n".concat(o,"\n"),t),this.$message({showClose:!0,message:"图片插入成功",type:"success"}),this.onEditorRefresh()}else this.$message({showClose:!0,message:"上传图片未知异常",type:"error"})},leftAndRightScroll:function(){var e=this,t=function(t){var i,r;clearTimeout(e.timeout),"preview"===t?(i=e.$refs.preview.$el,r=document.getElementsByClassName("CodeMirror-scroll")[0],e.editor.off("scroll",n),e.timeout=setTimeout((function(){e.editor.on("scroll",n)}),300)):"editor"===t&&(i=document.getElementsByClassName("CodeMirror-scroll")[0],r=e.$refs.preview.$el,r.removeEventListener("scroll",o,!1),e.timeout=setTimeout((function(){r.addEventListener("scroll",o,!1)}),300));var a=i.scrollTop/(i.scrollHeight-i.offsetHeight),s=a*(r.scrollHeight-r.offsetHeight);r.scrollTo(0,s)},n=function(){t("editor")},o=function(){t("preview")};this.$refs.preview.$el.addEventListener("scroll",o,!1),this.editor.on("scroll",n)},onEditorRefresh:function(){this.editorRefresh(),setTimeout((function(){return PR.prettyPrint()}),0)},endCopy:function(){var e=this;this.backLight=!1,setTimeout((function(){e.isCoping=!1}),800)},downloadEditorContent:function(){R(this.editor.getValue(0))},openMenu:function(e){var t=105,n=this.$el.getBoundingClientRect().left,o=this.$el.offsetWidth,i=o-t,r=e.clientX-n;this.mouseLeft=Math.min(i,r),this.mouseTop=e.clientY+10,this.rightClickMenuVisible=!0},onMenuEvent:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};switch(e){case"pageReset":this.$refs.header.showResetConfirm=!0;break;case"insertPic":this.uploaded(t);break;case"downLoad":this.downloadEditorContent();break;case"insertTable":this.dialogFormVisible=!0;default:break}}},Object(J["b"])(["initEditorState","initEditorEntity","setWxRendererOptions","editorRefresh","initCssEditorEntity"])),mounted:function(){var e=this;setTimeout((function(){e.leftAndRightScroll(),PR.prettyPrint()}),300)}},xe=ke,we=(n("da99"),n("85fe"),Object(K["a"])(xe,s,c,!1,null,"1f6c3034",null)),ye=we.exports,_e={name:"App",components:{Loading:a["default"],CodemirrorEditor:ye},data:function(){return{loading:!0}},mounted:function(){var e=this;setTimeout((function(){e.loading=!1}),100)}},Se=_e,Ee=(n("c95f"),Object(K["a"])(Se,i,r,!1,null,"6f36a3b6",null)),Oe=Ee.exports,Re=n("e0c1"),je=n.n(Re),Te=function(e){var t=this;this.opts=e;var n=!0,o=[],i=0,r=null,a="Menlo, Operator Mono, Consolas, Monaco, monospace",s=function(e,t){return Object.assign({},e,t)};this.buildTheme=function(e){var n={},o=s(e.BASE,{"font-family":t.opts.fonts,"font-size":t.opts.size}),i=s(o,{});for(var r in e.inline)if(e.inline.hasOwnProperty(r)){var c=e.inline[r];"codespan"===r&&(c["font-family"]=a,c["white-space"]="normal"),n[r]=s(o,c)}for(var l in e.block)if(e.block.hasOwnProperty(l)){var u=e.block[l];"code"===l&&(u["font-family"]=a),n[l]=s(i,u)}return n};var c=function(e,t){var n=[],o=r[e];if(!o)return"";for(var i in o)n.push(i+":"+o[i]);return'style="'.concat(n.join(";")+(t||""),'"')},l=function(e,t){return o.push([++i,e,t]),i};this.buildFootnotes=function(){var e=o.map((function(e){return e[1]===e[2]?'['.concat(e[0],"]: ").concat(e[1],"
"):'['.concat(e[0],"] ").concat(e[1],": ").concat(e[2],"
")}));return"

引用链接

").concat(e.join("\n"),"

")},this.buildAddition=function(){return'\n \n '},this.setOptions=function(e){t.opts=s(t.opts,e)},this.hasFootnotes=function(){return 0!==o.length},this.getRenderer=function(e){o=[],i=0,r=t.buildTheme(t.opts.theme);var a=new je.a.Renderer;return a.heading=function(e,t){switch(t){case 1:return"

").concat(e,"

");case 2:return"

").concat(e,"

");case 3:return"

").concat(e,"

");default:return"

").concat(e,"

")}},a.paragraph=function(e){return-1!=e.indexOf("").concat(e,"

")},a.blockquote=function(e){return e=e.replace(//g,"

")),"

").concat(e,"
")},a.code=function(e,t){e=e.replace(//g,">");for(var n=e.split("\n"),o=[],i=[],r=0;r'.concat(a||"
","
")),i.push("
  • ")}var s=t||"";return'\n
    \n
      '.concat(i.join(""),'
    \n
    \n                ').concat(o.join(""),"\n            
    \n
    \n ")},a.codespan=function(e,t){return"").concat(e,"")},a.listitem=function(e){return"<%s/>').concat(e,"")},a.list=function(e,t,n){e=e.replace(/<\/*p.*?>/g,"");var o=e.split("<%s/>");if(!t)return e=o.join("•"),"

    ").concat(e,"

    ");e=o[0];for(var i=1;i").concat(e,"

    ")},a.image=function(e,t,o){var i="";o&&(i="
    ").concat(o,"
    "));var r=c("figure"),a=c(n?"image":"image_org");return"
    ').concat(o,'').concat(i,"
    ")},a.link=function(t,n,o){if(0===t.indexOf("https://mp.weixin.qq.com"))return'").concat(o,"");if(t===o)return o;if(e){var i=l(n||o,t);return"").concat(o,"[").concat(i,"]")}return o},a.strong=function(e){return"").concat(e,"")},a.em=function(e){return''.concat(e,"")},a.table=function(e,t){return'
    ").concat(e,"").concat(t,"
    ")},a.tablecell=function(e,t){return"").concat(e,"")},a.hr=function(){return'
    '},a}},ze=Te,Me=n("56b3"),Fe=n.n(Me),$e='# 示例文章:Google 搜索的即时自动补全功能究竟是如何“工作”的?\n> Google 搜索**自动补全功能**的强大,相信不少朋友都能感受到,它帮助我们更快地“补全”我们所要输入的搜索关键字。那么,它怎么知道我们要输入什么内容?它又是如何工作的?在这篇文章里,我们一起来看看。\n\n## 使用自动补全\nGoogle 搜索的自动补全功能可以在 Google 搜索应用的大多数位置使用,包括 [Google](https://www.google.com/) 主页、适用于 IOS 和 Android 的 Google 应用,我们只需要在 Google 搜索框上开始键入关键字,就可以看到联想词了。\n\n![](https://imgkr.cn-bj.ufileos.com/17ed83bf-e028-4db2-9503-5a3b4e64deee.gif)\n\n在上图示例中,我们可以看到,输入关键字 `juej`,Google 搜索会联想到“掘金”、“掘金小册”、“绝句”等等,好处就是,我们无须输入完整的关键字即可轻松完成针对这些 topics 的搜索。\n\n谷歌搜索的自动补全功能对于使用移动设备的用户来说特别有用,用户可以轻松在难以键入的小屏幕上完成搜索。当然,对于移动设备用户和台式机用户而言,这都节省了大量的时间。根据 Google 官方报告,自动补全功能可以减少大约 25% 的打字,累积起来,预计每天可以节省 200 多年的打字时间。是的,每天!\n\n> 注意,本文所提到的“**联想词**”与“**预测**”,是同一个意思。\n\n## 基于“预测”而非“建议”\nGoogle 官方将自动补全功能称之为“预测”,而不是“建议”,为什么呢?其实是有充分理由的。自动补全功能是为了**帮助用户完成他们打算进行的搜索**,而不是建议用户要执行什么搜索。\n\n那么,Google 是如何确定这些“预测”的?其实,Google 会根据趋势搜索 [trends](https://trends.google.com/trends/?geo=US) 给到我们这些“预测”。简单来说,哪个热门、哪个搜索频率高,就更可能推给我们。当然,这也与我们当前所处的位置以及我们的搜索历史相关。\n\n另外,这些“预测”也会随着我们键入的关键字的变更而更改。例如,当我们把键入的关键字从 `juej` 更改为 `juex` 时,与“掘金”相关的预测会“消失”,同时,与“觉醒”、“决心”相关联的词会出现。\n\n![](https://imgkr.cn-bj.ufileos.com/5b17dc99-606d-42c1-9f86-e09e88aaa822.gif)\n\n## 为什么看不到某些联想词?\n如果我们在输入某个关键字时看不到联想词,那么表明 Google 的算法可能检测到:\n\n- 这个关键字不是热门字词;\n- 搜索的字词太新了,我们可能需要等待几天或几周才能看到联想词;\n- 这是一个侮辱性或敏感字词,这个搜索字词违反了 Google 的相关政策。更加详细的情况,可以了解 [Google 搜索自动补全政策](https://support.google.com/websearch/answer/7368877)。\n\n## 为什么会看到某些不当的联想词?\nGoogle 拥有专门设计的系统,可以自动捕获不适当的预测结果而不显示出来。然而,Google 每天需要处理数十亿次搜索,这意味着 Google 每天会显示数十亿甚至上百亿条预测。再好的系统,也可能存在缺陷,不正确的预测也可能随时会出现。\n\n我们作为 Google 搜索的用户,如果认定某条预测违反了相关的搜索自动补全政策,可以进行举报反馈,点击右下角“**举报不当的联想查询**”并勾选相关选项即可。\n\n![](https://imgkr.cn-bj.ufileos.com/6ca8185d-12c6-4550-bb4e-e49cfbf56db7.gif)\n\n## 如何实现自动补全算法?\n目前,Google 官方似乎并没有公开搜索自动补全的算法实现,但是业界在这方面已经有了不少研究。\n\n一个好的自动补全器必须是快速的,并且在用户键入下一个字符后立即更新联想词列表。**自动补全器的核心是一个函数,它接受输入的前缀,并搜索以给定前缀开头的词汇或语句列表**。通常来说,只需要返回少量的数目即可。\n\n接下来,我们先从一个简单且低效的实现开始,并在此基础上逐步构建更高效的方法。\n\n### 词汇表实现\n一个**简单粗暴的实现方式**是:顺序查找词汇表,依次检查每个词汇,看它是否以给定的前缀开头。\n\n但是,此方法需要将前缀与每个词汇进行匹配检查,若词汇量较少,这种方式可能勉强行得通。但是,如果词汇量规模较大,效率就太低了。\n\n一个**更好的实现方式是**:让词汇按字典顺序排序。借助二分搜索算法,可以快速搜索有序词汇表中的前缀。由于二分搜索的每一步都会将搜索的范围减半,因此,总的搜索时间与词汇表中单词数量的对数成正比,即时间复杂度是 `O(log N)`。二分搜索的性能很好,但有没有更好的实现呢?当然有,往下看。\n\n### 前缀树实现\n通常来说,许多词汇都以相同的前缀开头,比如 `need`、`nested` 都以 `ne` 开头,`seed`、`speed` 都以 `s` 开头。要是为每个单词分别存储公共前缀似乎很浪费。\n\n![](https://imgkr.cn-bj.ufileos.com/7cc3cf37-040a-420e-8ef9-d05e92c82cfd.png)\n\n前缀树是一种利用公共前缀来加速补全速度的数据结构。前缀树在节点树中排列一组单词,单词沿着从根节点到叶子节点的路径存储,树的层次对应于前缀的字母位置。\n\n前缀的补全是顺着前缀定义的路径来查找的。例如,在上图的前缀树中,前缀 `ne` 对应于从子节点取左边缘 `N` 和唯一边缘 `E` 的路径。然后可以通过继续遍历从 `E` 节点可以达到的所有叶节点来生成补全列表。在图中,`ne` 的补全可以是两个分支:`-ed` 和 `-sted`。如果在数中找不到由前缀定义的路径,则说明词汇表中不包含以该前缀开头的单词。\n\n### 有限状态自动机(DFA)实现\n前缀树可以有效处理公共前缀,但是,对于其他共享词部分,仍会分别存储在每个分支中。比如,后缀 `ed`、`ing`、`tion` 在英文单词中特别常见。在上一个例子中,`e`、`d` 分别存放在了每一个分支上。\n\n有没有一种方法可以更加节省存储空间呢?有的,那就是 DFA。\n\n
    \n
    \n\n在上面的例子中,单词 `need`、`nested`、`seed` 和 `speed` 仅由 9 个节点组成,而上一张图中的前缀树包含了 17 个节点。\n\n可以看出,最小化前缀树 DFA 可以在很大程度上减少数据结构的大小。即使词汇量很大,最小化 DFA 通常也适合在内存中存储,避免昂贵的磁盘访问是实现快速自动补全的关键。\n\n### 一些扩展\n上面介绍了如何利用合理的数据结构实现基本的自动补全功能。这些数据结构可以通过多种方式进行扩展,从而改善用户体验。\n\n通常,满足特定前缀的词汇可能很多,而用户界面上能够显示的却不多,我们更希望能显示最常搜索或者最有价值的词汇。这通常可以通过为词汇表中的每个单词增加一个代表单词值的**权重** `weight`,并且按照权重高低来排序自动补全列表。\n\n- 对于排序后的词汇表来说,在词汇表每个元素上增加 `weight` 属性并不难;\n- 对于前缀树来说,将 `weight` 存储在叶子节点中,也是很简单的一个实现;\n- 对于 `DFA` 来说,则较为复杂。因为一个叶子节点可以通过多条路径到达。一种解决方案是将权重关联到路径而不是叶子节点。\n\n目前有不少开源库都提供了这个功能,比如主流的搜索引擎框架 [Elasticsearch](https://www.elastic.co/products/elasticsearch)、[Solr](https://lucene.apache.org/solr/) 等,基于此,我们可以实现高效而强大的自动补全功能。\n\n#### 推荐阅读\n- [阿里又一个 20k+ stars 开源项目诞生,恭喜 fastjson!](https://mp.weixin.qq.com/s/RNKDCK2KoyeuMeEs6GUrow)\n- [刷掉 90% 候选人的互联网大厂海量数据面试题(附题解 + 方法总结)](https://mp.weixin.qq.com/s/rjGqxUvrEqJNlo09GrT1Dw)\n- [好用!期待已久的文本块功能究竟如何在 Java 13 中发挥作用?](https://mp.weixin.qq.com/s/kalGv5T8AZGxTnLHr2wDsA)\n- [2019 GitHub 开源贡献排行榜新鲜出炉!微软谷歌领头,阿里跻身前 12!](https://mp.weixin.qq.com/s/_q812aGD1b9QvZ2WFI0Qgw)\n\n---\n\n欢迎关注我的公众号“**Doocs开源社区**”,原创技术文章第一时间推送。\n\n
    \n \n
    \n\n',Pe=$e;o["default"].use(J["a"]);var Ae={wxRenderer:null,output:"",html:"",editor:null,cssEditor:null,currentFont:"",currentSize:"",currentColor:"",citeStatus:0,nightMode:!1},Ne={setEditorValue:function(e,t){e.editor.setValue(t)},setCssEditorValue:function(e,t){e.cssEditor.setValue(t)},setWxRendererOptions:function(e,t){e.wxRenderer.setOptions(t)},setCiteStatus:function(e,t){e.citeStatus=t,localStorage.setItem("citeStatus",t)},setCurrentFont:function(e,t){e.currentFont=t,localStorage.setItem("fonts",t)},setCurrentSize:function(e,t){e.currentSize=t,localStorage.setItem("size",t)},setCurrentColor:function(e,t){e.currentColor=t,localStorage.setItem("color",t)},themeChanged:function(e){e.nightMode=!e.nightMode},initEditorState:function(e){e.currentFont=localStorage.getItem("fonts")||B.builtinFonts[0].value,e.currentColor=localStorage.getItem("color")||B.colorOption[1].value,e.currentSize=localStorage.getItem("size")||B.sizeOption[2].value,e.citeStatus="true"===localStorage.getItem("citeStatus"),e.wxRenderer=new ze({theme:x(e.currentColor),fonts:e.currentFont,size:e.currentSize,status:e.citeStatus})},initEditorEntity:function(e){if(e.editor=Fe.a.fromTextArea(document.getElementById("editor"),{value:"",mode:"text/x-markdown",theme:"xq-light",lineNumbers:!1,lineWrapping:!0,styleActiveLine:!0,autoCloseBrackets:!0,extraKeys:{"Ctrl-F":function(e){var t=E(e.getValue(0));localStorage.setItem("__editor_content",t),e.setValue(t)}}}),localStorage.getItem("__editor_content"))e.editor.setValue(localStorage.getItem("__editor_content"));else{var t=E(Pe);e.editor.setValue(t)}},initCssEditorEntity:function(e){e.cssEditor=Fe.a.fromTextArea(document.getElementById("cssEditor"),{value:"",mode:"css",theme:"style-mirror",lineNumbers:!1,lineWrapping:!0,matchBrackets:!0,autofocus:!0,extraKeys:{"Ctrl-F":function(e){var t=e.lineCount();e.autoFormatRange({line:0,ch:0},{line:t})}}}),localStorage.getItem("__css_content")?e.cssEditor.setValue(localStorage.getItem("__css_content")):e.cssEditor.setValue(V)},editorRefresh:function(e){var t=je()(e.editor.getValue(0),{renderer:e.wxRenderer.getRenderer(e.citeStatus)});t=t.replace(/(style=".*?)"/,'$1;margin-top: 0"'),e.citeStatus&&(t+=e.wxRenderer.buildFootnotes(),t+=e.wxRenderer.buildAddition()),e.output=t},clearEditorToDefault:function(e){var t=E(Pe);e.editor.setValue(t),e.cssEditor.setValue(V)}},De=new J["a"].Store({state:Ae,mutations:Ne,actions:{},modules:{}}),Le=n("5c96"),Ie=n.n(Le);n("0fae");o["default"].use(Le["Container"]),o["default"].use(Le["Header"]),o["default"].use(Le["Upload"]),o["default"].use(Le["Tooltip"]),o["default"].use(Le["Form"]),o["default"].use(Le["FormItem"]),o["default"].use(Le["Select"]),o["default"].use(Le["Option"]),o["default"].use(Le["ColorPicker"]),o["default"].use(Le["Switch"]),o["default"].use(Le["Button"]),o["default"].use(Le["Main"]),o["default"].use(Le["Col"]),o["default"].use(Le["Row"]),o["default"].use(Le["Dialog"]),o["default"].use(Le["Loading"]),o["default"].component(Le["Message"].name,Le["Message"]),o["default"].prototype.$loading=Le["Loading"].service,o["default"].prototype.$message=Le["Message"];n("a7be"),n("0f7c"),n("8d7e"),n("7b00"),n("959b"),n("8c33"),n("31c5"),n("9b74"),n("111b"),n("90ba"),n("baa5");(function(){Fe.a.extendMode("css",{commentStart:"/*",commentEnd:"*/",newlineAfterToken:function(e,t){return/^[;{}]$/.test(t)}}),Fe.a.defineExtension("commentRange",(function(e,t,n){var o=this,i=Fe.a.innerMode(o.getMode(),o.getTokenAt(t).state).mode;o.operation((function(){if(e)o.replaceRange(i.commentEnd,n),o.replaceRange(i.commentStart,t),t.line==n.line&&t.ch==n.ch&&o.setCursor(t.line,t.ch+i.commentStart.length);else{var r=o.getRange(t,n),a=r.indexOf(i.commentStart),s=r.lastIndexOf(i.commentEnd);a>-1&&s>-1&&s>a&&(r=r.substr(0,a)+r.substring(a+i.commentStart.length,s)+r.substr(s+i.commentEnd.length)),o.replaceRange(r,t,n)}}))})),Fe.a.defineExtension("autoIndentRange",(function(e,t){var n=this;this.operation((function(){for(var o=e.line;o<=t.line;o++)n.indentLine(o,"smart")}))})),Fe.a.defineExtension("autoFormatRange",(function(e,t){var n=this,o=n.getMode(),i=n.getRange(e,t).split("\n"),r=Fe.a.copyState(o,n.getTokenAt(e).state),a=n.getOption("tabSize"),s="",c=0,l=0==e.ch;function u(){s+="\n",l=!0,++c}for(var d=0;d",triples:"",explode:"[]{}"},n=e.Pos;function o(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==Object(Be["a"])(e)&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,(function(t,n,a){a&&a!=e.Init&&(t.removeKeyMap(i),t.state.closeBrackets=null),n&&(r(o(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(i))}));var i={Backspace:c,Enter:l};function r(e){for(var t=0;t=0;c--){var u=a[c].head;t.replaceRange("",n(u.line,u.ch-1),n(u.line,u.ch+1),"+delete")}}function l(t){var n=s(t),i=n&&o(n,"explode");if(!i||t.getOption("disableInput"))return e.Pass;for(var r=t.listSelections(),a=0;a0;return{anchor:new n(t.anchor.line,t.anchor.ch+(o?-1:1)),head:new n(t.head.line,t.head.ch+(o?1:-1))}}function d(t,i){var r=s(t);if(!r||t.getOption("disableInput"))return e.Pass;var a=o(r,"pairs"),c=a.indexOf(i);if(-1==c)return e.Pass;for(var l,d=o(r,"closeBefore"),f=o(r,"triples"),h=a.charAt(c+1)==i,g=t.listSelections(),m=c%2==0,b=0;b1&&f.indexOf(i)>=0&&t.getRange(n(k.line,k.ch-2),k)==i+i){if(k.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(k.line,k.ch-2))))return e.Pass;v="addFour"}else if(h){var w=0==k.ch?" ":t.getRange(n(k.line,k.ch-1),k);if(e.isWordChar(x)||w==i||e.isWordChar(w))return e.Pass;v="both"}else{if(!m||!(0===x.length||/\s/.test(x)||d.indexOf(x)>-1))return e.Pass;v="both"}else v=h&&p(t,k)?"both":f.indexOf(i)>=0&&t.getRange(k,n(k.line,k.ch+3))==i+i+i?"skipThree":"skip";if(l){if(l!=v)return e.Pass}else l=v}var y=c%2?a.charAt(c-1):i,_=c%2?i:a.charAt(c+1);t.operation((function(){if("skip"==l)t.execCommand("goCharRight");else if("skipThree"==l)for(var e=0;e<3;e++)t.execCommand("goCharRight");else if("surround"==l){var n=t.getSelections();for(e=0;e 0 && css.indexOf('{') !== -1 && css.indexOf('}') !== -1) {\n // 存储第一个左/右花括号的下标\n const lbracket = css.indexOf('{')\n const rbracket = css.indexOf('}')\n\n // 第一步:将声明转换为Object,如:\n // `font: 'Times New Roman' 1em; color: #ff0000; margin-top: 1em;`\n // ==>\n // `{\"font\": \"'Times New Roman' 1em\", \"color\": \"#ff0000\", \"margin-top\": \"1em\"}`\n\n // 辅助方法:将array转为object\n function toObject(array) {\n let ret = {}\n array.forEach(e => {\n const index = e.indexOf(':')\n const property = e.substring(0, index).trim()\n const value = e.substring(index + 1).trim()\n ret[property] = value\n })\n return ret\n }\n\n // 切割声明块并移除空白符,然后放入数组中\n let declarations = css\n .substring(lbracket + 1, rbracket)\n .split(';')\n .map(e => e.trim())\n .filter(e => e.length > 0) // 移除所有\"\"空值\n\n // 转为Object对象\n declarations = toObject(declarations)\n\n // 第二步:选择器处理,每个选择器会与它对应的声明相关联,如:\n // `h1, p#bar {color: red}`\n // ==>\n // {\"h1\": {color: red}, \"p#bar\": {color: red}}\n\n let selectors = css\n .substring(0, lbracket)\n // 以,切割,并移除空格:`\"h1, p#bar, span.foo\"` => [\"h1\", \"p#bar\", \"span.foo\"]\n .split(',')\n .map(selector => selector.trim())\n\n // 迭代赋值\n selectors.forEach(selector => {\n // 若不存在,则先初始化\n if (!json[selector]) json[selector] = {}\n // 赋值到JSON\n Object.keys(declarations).forEach(key => {\n json[selector][key] = declarations[key]\n })\n })\n\n // 继续下个声明块\n css = css.slice(rbracket + 1).trim()\n }\n\n // 返回JSON形式的结果串\n return json\n}\n\n\n/**\n * 将编辑器内容保存到 LocalStorage\n * @param {*} editor \n * @param {*} name \n */\nexport function saveEditorContent(editor, name) {\n const content = editor.getValue(0)\n\n if (content) {\n localStorage.setItem(name, content)\n } else {\n localStorage.removeItem(name)\n }\n}\n\n\nexport function formatDoc(content) {\n const doc = prettier.format(content, {\n parser: 'markdown',\n plugins: [prettierMarkdown]\n })\n return doc\n}\n\nexport function fixCodeWhiteSpace(value = 'pre') {\n const preDomList = document.getElementsByClassName('code__pre');\n\n if (preDomList.length > 0) {\n preDomList.forEach(pre=> {\n pre.style.whiteSpace = value;\n })\n }\n}\n\nexport function downLoadMD(doc) {\n let downLink = document.createElement('a');\n\n downLink.download = 'content.md';\n downLink.style.display = 'none';\n let blob = new Blob([doc]);\n\n downLink.href = URL.createObjectURL(blob);\n document.body.appendChild(downLink);\n downLink.click();\n document.body.removeChild(downLink);\n}","import axios from 'axios';\n\n// 创建axios实例\nconst service = axios.create({\n baseURL: '',\n timeout: 10 * 1000 // 请求超时时间\n});\n\nservice.interceptors.request.use(\n config => {\n if (/^(post)|(put)|(delete)$/i.test(config.method)) {\n if (config.data && config.data.upload) {\n config.headers['Content-Type'] = 'multipart/form-data';\n }\n }\n return config;\n }, error => {\n Promise.reject(error);\n }\n);\n\nservice.interceptors.response.use(res => {\n return res.data.success ? res.data : Promise.reject(res.data);\n}, error => Promise.reject(error));\n\nexport default service;","import fetch from './fetch';\n\n\nfunction fileUpload(data) {\n return fetch({\n url: 'https://imgkr.com/api/files/upload',\n method: 'post',\n data: data\n })\n}\n\n\nexport default {\n fileUpload\n};","import fileApi from '../../api/file';\n\nexport function uploadImgFile(file) {\n return new Promise((resolve, reject)=> {\n const checkImageResult = isImageIllegal(file);\n\n if (checkImageResult) {\n reject(checkImageResult);\n } else {\n let fd = new FormData();\n \n fd.append('file', file);\n fileApi.fileUpload(fd).then(res => {\n resolve(res);\n }).catch(err => {\n console.log(err.message)\n })\n }\n });\n}\n\nexport function isImageIllegal(file) {\n if (!/\\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(file.name)) {\n return '请上传 JPG/PNG/GIF 格式的图片';\n }\n if (file.size > 5 * 1024 * 1024) {\n return '由于公众号限制,图片大小不能超过 5.0M';\n }\n return false;\n}","import juice from 'juice'\n\nexport function solveWeChatImage() {\n const clipboardDiv = document.getElementById('output');\n const images = clipboardDiv.getElementsByTagName(\"img\");\n for (let i = 0; i < images.length; i++) {\n const image = images[i];\n const width = image.getAttribute(\"width\");\n const height = image.getAttribute(\"height\");\n image.removeAttribute(\"width\");\n image.removeAttribute(\"height\");\n image.style.width = width;\n image.style.height = height;\n }\n}\nexport function solveHtml() {\n const element = document.getElementById(\"output-wrapper\");\n let html = element.innerHTML\n let res = \"\";\n res = juice.inlineContent(\n html, {\n inlinePseudoElements: true,\n preserveImportant: true\n }\n );\n return res;\n}\n","export default {\n builtinFonts: [{\n label: '无衬线',\n value: '-apple-system-font,BlinkMacSystemFont, Helvetica Neue, PingFang SC, Hiragino Sans GB , Microsoft YaHei UI , Microsoft YaHei ,Arial,sans-serif'\n },\n {\n label: '衬线',\n value: \"Optima-Regular, Optima, PingFangSC-light, PingFangTC-light, 'PingFang SC', Cambria, Cochin, Georgia, Times, 'Times New Roman', serif\"\n }\n ],\n sizeOption: [{\n label: '12px',\n value: '12px',\n desc: '更小'\n },\n {\n label: '13px',\n value: '13px',\n desc: '稍小'\n },\n {\n label: '14px',\n value: '14px',\n desc: '推荐'\n },\n {\n label: '15px',\n value: '15px',\n desc: '稍大'\n },\n {\n label: '16px',\n value: '16px',\n desc: '更大'\n }\n ],\n colorOption: [{\n label: '经典蓝',\n value: 'rgba(15, 76, 129, 1)',\n hex: '最新流行'\n },\n {\n label: '翡翠绿',\n value: 'rgba(0, 152, 116, 1)',\n hex: '优雅清新'\n },\n {\n label: '活力橘',\n value: 'rgba(250, 81, 81, 1)',\n hex: '热情活泼'\n }\n ],\n form: {\n rows: 1,\n cols: 1\n }\n};\n","const DEFAULT_CSS_CONTENT =\n`/*\n 按Ctrl+F可格式化\n*/\n/* 一级标题样式 */\nh1 {\n}\n/* 二级标题样式 */\nh2 {\n}\n/* 三级标题样式 */\nh3 {\n}\n/* 四级标题样式 */\nh4 {\n}\n/* 图片样式 */\nimage {\n}\n/* 引用样式 */\nblockquote {\n}\n/* 引用段落样式 */\nblockquote_p {\n}\n/* 段落样式 */\np {\n}\n/* 行内代码样式 */\ncodespan {\n}\n/* 粗体样式 */\nstrong {\n}\n/* 链接样式 */\nlink {\n}\n/* 微信链接样式 */\nwx_link {\n}\n`\nexport default DEFAULT_CSS_CONTENT\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"reset__dialog\",attrs:{\"title\":\"提示\",\"visible\":_vm.showResetConfirm},on:{\"close\":function($event){return _vm.$emit('close')}}},[_c('div',{staticClass:\"text\"},[_vm._v(\" 此操作将丢失本地缓存的文本和自定义样式,是否继续? \")]),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":_vm.btnType,\"plain\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":_vm.btnType,\"plain\":\"\"},on:{\"click\":function($event){return _vm.$emit('confirm')}}},[_vm._v(\"确 定\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./resetDialog.vue?vue&type=template&id=7cee040c&scoped=true&\"\nimport script from \"./resetDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./resetDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./resetDialog.vue?vue&type=style&index=0&id=7cee040c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7cee040c\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./header.vue?vue&type=template&id=de3fb786&scoped=true&\"\nimport script from \"./header.vue?vue&type=script&lang=js&\"\nexport * from \"./header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./header.vue?vue&type=style&index=0&id=de3fb786&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"de3fb786\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"about__dialog\",attrs:{\"title\":\"关于\",\"visible\":_vm.value,\"width\":\"30%\",\"center\":\"\"},on:{\"close\":function($event){return _vm.$emit('input', false)}}},[_c('div',{staticStyle:{\"text-align\":\"center\"}},[_c('h3',[_vm._v(\"一款高度简洁的微信 Markdown 编辑器\")])]),_c('div',{staticStyle:{\"text-align\":\"center\",\"margin-top\":\"10px\"}},[_c('p',[_vm._v(\"扫码关注我的公众号,原创技术文章第一时间推送!\")]),_c('img',{staticStyle:{\"width\":\"40%\",\"display\":\"block\",\"margin\":\"20px auto 10px\"},attrs:{\"src\":\"https://imgkr.cn-bj.ufileos.com/09f8e662-42ed-4731-a0d7-419deb74dfb6.png\"}})]),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"success\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.onRedirect('https://github.com/doocs/md')}}},[_vm._v(\"GitHub 仓库\")]),_c('el-button',{attrs:{\"type\":\"success\",\"plain\":\"\"},on:{\"click\":function($event){return _vm.onRedirect('https://gitee.com/doocs/md')}}},[_vm._v(\"Gitee 仓库\")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./aboutDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./aboutDialog.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./aboutDialog.vue?vue&type=template&id=480586b0&scoped=true&\"\nimport script from \"./aboutDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./aboutDialog.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"480586b0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{staticClass:\"insert__dialog\",attrs:{\"title\":\"插入表格\",\"visible\":_vm.value,\"border\":\"\"},on:{\"close\":function($event){return _vm.$emit('input', false)}}},[_c('el-row',{staticClass:\"tb-options\",attrs:{\"type\":\"flex\",\"align\":\"middle\",\"gutter\":10}},[_c('el-col',{attrs:{\"span\":6}},[_vm._v(\" 行: \"),_c('el-input-number',{attrs:{\"controls-position\":\"right\",\"min\":1,\"max\":100,\"size\":\"small\"},on:{\"change\":function($event){return _vm.handleChange($event,'row')}},model:{value:(_vm.rowNum),callback:function ($$v) {_vm.rowNum=$$v},expression:\"rowNum\"}})],1),_c('el-col',{attrs:{\"span\":6}},[_vm._v(\" 列: \"),_c('el-input-number',{attrs:{\"controls-position\":\"right\",\"min\":1,\"max\":100,\"size\":\"small\"},on:{\"change\":function($event){return _vm.handleChange($event,'col')}},model:{value:(_vm.colNum),callback:function ($$v) {_vm.colNum=$$v},expression:\"colNum\"}})],1)],1),_c('table',{staticStyle:{\"border-collapse\":\"collapse\"}},_vm._l((_vm.rowNum+1),function(row){return _c('tr',{key:row,class:{ 'head-style': row===1 }},_vm._l((_vm.colNum),function(col){return _c('td',{key:col},[_c('el-input',{attrs:{\"align\":\"center\",\"placeholder\":row===1?'表头':''},model:{value:(_vm.tableData[(\"k_\" + (row-1) + \"_\" + (col-1))]),callback:function ($$v) {_vm.$set(_vm.tableData, (\"k_\" + (row-1) + \"_\" + (col-1)), $$v)},expression:\"tableData[`k_${row-1}_${col-1}`]\"}})],1)}),0)}),0),_c('div',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":_vm.btnType,\"plain\":\"\"},on:{\"click\":function($event){return _vm.$emit('input', false)}}},[_vm._v(\"取 消\")]),_c('el-button',{attrs:{\"type\":_vm.btnType,\"plain\":\"\"},on:{\"click\":_vm.insertTable}},[_vm._v(\"确 定\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./insertForm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./insertForm.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./insertForm.vue?vue&type=template&id=3bbb6e00&\"\nimport script from \"./insertForm.vue?vue&type=script&lang=js&\"\nexport * from \"./insertForm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./insertForm.vue?vue&type=style&index=0&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.value),expression:\"value\"}],staticClass:\"menu\",style:((\"left: \" + _vm.left + \"px;top: \" + _vm.top + \"px;\")),attrs:{\"id\":\"menu\"}},_vm._l((_vm.list),function(item){return _c('li',{key:item.key,staticClass:\"menu_item\"},[(item.key === 'insertPic')?_c('el-upload',{staticClass:\"li__upload\",attrs:{\"action\":\"\",\"show-file-list\":false,\"multiple\":true,\"accept\":\".jpg,.jpeg,.png,.gif\",\"name\":\"file\",\"before-upload\":_vm.beforeUpload}},[_c('span',[_vm._v(_vm._s(item.text))])]):_c('span',{on:{\"click\":function($event){return _vm.$emit('menuTick', item.key)}}},[_vm._v(_vm._s(item.text))])],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rightClickMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rightClickMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./rightClickMenu.vue?vue&type=template&id=2cdcffb0&scoped=true&\"\nimport script from \"./rightClickMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./rightClickMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./rightClickMenu.vue?vue&type=style&index=0&id=2cdcffb0&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2cdcffb0\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodemirrorEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodemirrorEditor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodemirrorEditor.vue?vue&type=template&id=1f6c3034&scoped=true&\"\nimport script from \"./CodemirrorEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./CodemirrorEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodemirrorEditor.vue?vue&type=style&index=0&id=1f6c3034&lang=less&scoped=true&\"\nimport style1 from \"./CodemirrorEditor.vue?vue&type=style&index=1&lang=less&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f6c3034\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6f36a3b6&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=6f36a3b6&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f36a3b6\",\n null\n \n)\n\nexport default component.exports","import marked from 'marked'\nconst WxRenderer = function (opts) {\n this.opts = opts\n let ENV_STRETCH_IMAGE = true\n\n let footnotes = []\n let footnoteIndex = 0\n let styleMapping = null\n\n const CODE_FONT_FAMILY = 'Menlo, Operator Mono, Consolas, Monaco, monospace'\n\n let merge = (base, extend) => Object.assign({}, base, extend)\n\n this.buildTheme = themeTpl => {\n let mapping = {}\n let base = merge(themeTpl.BASE, {\n 'font-family': this.opts.fonts,\n 'font-size': this.opts.size\n })\n let base_block = merge(base, {})\n for (let ele in themeTpl.inline) {\n if (themeTpl.inline.hasOwnProperty(ele)) {\n let style = themeTpl.inline[ele]\n if (ele === 'codespan') {\n style['font-family'] = CODE_FONT_FAMILY\n style['white-space'] = 'normal'\n }\n mapping[ele] = merge(base, style)\n }\n }\n\n for (let ele in themeTpl.block) {\n if (themeTpl.block.hasOwnProperty(ele)) {\n let style = themeTpl.block[ele]\n if (ele === 'code') {\n style['font-family'] = CODE_FONT_FAMILY\n }\n mapping[ele] = merge(base_block, style)\n }\n }\n return mapping\n }\n\n let getStyles = (tokenName, addition) => {\n let arr = []\n let dict = styleMapping[tokenName]\n if (!dict) return ''\n for (const key in dict) {\n arr.push(key + ':' + dict[key])\n }\n return `style=\"${arr.join(';') + (addition || '')}\"`\n }\n\n let addFootnote = (title, link) => {\n footnotes.push([++footnoteIndex, title, link])\n return footnoteIndex\n }\n\n this.buildFootnotes = () => {\n let footnoteArray = footnotes.map(x => {\n if (x[1] === x[2]) {\n return `[${x[0]}]: ${x[1]}
    `\n }\n return `[${x[0]}] ${x[1]}: ${x[2]}
    `\n })\n return `

    引用链接

    ${footnoteArray.join('\\n')}

    `\n }\n\n this.buildAddition = () => {\n return `\n \n `\n }\n\n this.setOptions = newOpts => {\n this.opts = merge(this.opts, newOpts)\n }\n\n this.hasFootnotes = () => footnotes.length !== 0\n\n this.getRenderer = (status) => {\n footnotes = []\n footnoteIndex = 0\n\n styleMapping = this.buildTheme(this.opts.theme)\n let renderer = new marked.Renderer()\n\n renderer.heading = (text, level) => {\n switch (level) {\n case 1:\n return `

    ${text}

    `\n case 2:\n return `

    ${text}

    `\n case 3:\n return `

    ${text}

    `\n default:\n return `

    ${text}

    `\n }\n }\n renderer.paragraph = text => {\n if (text.indexOf('${text}

    `\n }\n\n renderer.blockquote = text => {\n text = text.replace(//g, `

    `)\n return `

    ${text}
    `\n }\n renderer.code = (text, infoString) => {\n text = text.replace(//g, '>')\n\n let lines = text.split('\\n')\n let codeLines = []\n let numbers = []\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i]\n codeLines.push(`${(line || '
    ')}
    `)\n numbers.push('
  • ')\n }\n let lang = infoString || ''\n\n return `\n
    \n
      ${numbers.join('')}
    \n
    \n                ${codeLines.join('')}\n            
    \n
    \n `\n }\n renderer.codespan = (text, infoString) => `${text}`\n renderer.listitem = text => `<%s/>${text}`\n\n renderer.list = (text, ordered, start) => {\n text = text.replace(/<\\/*p.*?>/g, '')\n let segments = text.split(`<%s/>`)\n if (!ordered) {\n text = segments.join('•')\n return `

    ${text}

    `\n }\n text = segments[0]\n for (let i = 1; i < segments.length; i++) {\n text = text + i + '.' + segments[i]\n }\n return `

    ${text}

    `\n }\n renderer.image = (href, title, text) => {\n let subText = ''\n if (text) {\n subText = `
    ${text}
    `\n }\n let figureStyles = getStyles('figure')\n let imgStyles = getStyles(ENV_STRETCH_IMAGE ? 'image' : 'image_org')\n return `
    \"${text}\"/${subText}
    `\n }\n renderer.link = (href, title, text) => {\n if (href.indexOf('https://mp.weixin.qq.com') === 0) {\n return `${text}`\n } else if (href === text) {\n return text\n } else {\n if (status) {\n let ref = addFootnote(title || text, href)\n return `${text}[${ref}]`\n } else {\n return text\n }\n }\n }\n renderer.strong = text => `${text}`\n renderer.em = text => `${text}`\n renderer.table = (header, body) => `
    ${header}${body}
    `\n // renderer.tablerow = (text) => `${text}`;\n renderer.tablecell = (text, flags) => `${text}`\n renderer.hr = () => `
    `\n return renderer\n }\n}\nexport default WxRenderer\n","const DEFAULT_CONTENT =\n`# 示例文章:Google 搜索的即时自动补全功能究竟是如何“工作”的?\n> Google 搜索**自动补全功能**的强大,相信不少朋友都能感受到,它帮助我们更快地“补全”我们所要输入的搜索关键字。那么,它怎么知道我们要输入什么内容?它又是如何工作的?在这篇文章里,我们一起来看看。\n\n## 使用自动补全\nGoogle 搜索的自动补全功能可以在 Google 搜索应用的大多数位置使用,包括 [Google](https://www.google.com/) 主页、适用于 IOS 和 Android 的 Google 应用,我们只需要在 Google 搜索框上开始键入关键字,就可以看到联想词了。\n\n![](https://imgkr.cn-bj.ufileos.com/17ed83bf-e028-4db2-9503-5a3b4e64deee.gif)\n\n在上图示例中,我们可以看到,输入关键字 \\`juej\\`,Google 搜索会联想到“掘金”、“掘金小册”、“绝句”等等,好处就是,我们无须输入完整的关键字即可轻松完成针对这些 topics 的搜索。\n\n谷歌搜索的自动补全功能对于使用移动设备的用户来说特别有用,用户可以轻松在难以键入的小屏幕上完成搜索。当然,对于移动设备用户和台式机用户而言,这都节省了大量的时间。根据 Google 官方报告,自动补全功能可以减少大约 25% 的打字,累积起来,预计每天可以节省 200 多年的打字时间。是的,每天!\n\n> 注意,本文所提到的“**联想词**”与“**预测**”,是同一个意思。\n\n## 基于“预测”而非“建议”\nGoogle 官方将自动补全功能称之为“预测”,而不是“建议”,为什么呢?其实是有充分理由的。自动补全功能是为了**帮助用户完成他们打算进行的搜索**,而不是建议用户要执行什么搜索。\n\n那么,Google 是如何确定这些“预测”的?其实,Google 会根据趋势搜索 [trends](https://trends.google.com/trends/?geo=US) 给到我们这些“预测”。简单来说,哪个热门、哪个搜索频率高,就更可能推给我们。当然,这也与我们当前所处的位置以及我们的搜索历史相关。\n\n另外,这些“预测”也会随着我们键入的关键字的变更而更改。例如,当我们把键入的关键字从 \\`juej\\` 更改为 \\`juex\\` 时,与“掘金”相关的预测会“消失”,同时,与“觉醒”、“决心”相关联的词会出现。\n\n![](https://imgkr.cn-bj.ufileos.com/5b17dc99-606d-42c1-9f86-e09e88aaa822.gif)\n\n## 为什么看不到某些联想词?\n如果我们在输入某个关键字时看不到联想词,那么表明 Google 的算法可能检测到:\n\n- 这个关键字不是热门字词;\n- 搜索的字词太新了,我们可能需要等待几天或几周才能看到联想词;\n- 这是一个侮辱性或敏感字词,这个搜索字词违反了 Google 的相关政策。更加详细的情况,可以了解 [Google 搜索自动补全政策](https://support.google.com/websearch/answer/7368877)。\n\n## 为什么会看到某些不当的联想词?\nGoogle 拥有专门设计的系统,可以自动捕获不适当的预测结果而不显示出来。然而,Google 每天需要处理数十亿次搜索,这意味着 Google 每天会显示数十亿甚至上百亿条预测。再好的系统,也可能存在缺陷,不正确的预测也可能随时会出现。\n\n我们作为 Google 搜索的用户,如果认定某条预测违反了相关的搜索自动补全政策,可以进行举报反馈,点击右下角“**举报不当的联想查询**”并勾选相关选项即可。\n\n![](https://imgkr.cn-bj.ufileos.com/6ca8185d-12c6-4550-bb4e-e49cfbf56db7.gif)\n\n## 如何实现自动补全算法?\n目前,Google 官方似乎并没有公开搜索自动补全的算法实现,但是业界在这方面已经有了不少研究。\n\n一个好的自动补全器必须是快速的,并且在用户键入下一个字符后立即更新联想词列表。**自动补全器的核心是一个函数,它接受输入的前缀,并搜索以给定前缀开头的词汇或语句列表**。通常来说,只需要返回少量的数目即可。\n\n接下来,我们先从一个简单且低效的实现开始,并在此基础上逐步构建更高效的方法。\n\n### 词汇表实现\n一个**简单粗暴的实现方式**是:顺序查找词汇表,依次检查每个词汇,看它是否以给定的前缀开头。\n\n但是,此方法需要将前缀与每个词汇进行匹配检查,若词汇量较少,这种方式可能勉强行得通。但是,如果词汇量规模较大,效率就太低了。\n\n一个**更好的实现方式是**:让词汇按字典顺序排序。借助二分搜索算法,可以快速搜索有序词汇表中的前缀。由于二分搜索的每一步都会将搜索的范围减半,因此,总的搜索时间与词汇表中单词数量的对数成正比,即时间复杂度是 \\`O(log N)\\`。二分搜索的性能很好,但有没有更好的实现呢?当然有,往下看。\n\n### 前缀树实现\n通常来说,许多词汇都以相同的前缀开头,比如 \\`need\\`、\\`nested\\` 都以 \\`ne\\` 开头,\\`seed\\`、\\`speed\\` 都以 \\`s\\` 开头。要是为每个单词分别存储公共前缀似乎很浪费。\n\n![](https://imgkr.cn-bj.ufileos.com/7cc3cf37-040a-420e-8ef9-d05e92c82cfd.png)\n\n前缀树是一种利用公共前缀来加速补全速度的数据结构。前缀树在节点树中排列一组单词,单词沿着从根节点到叶子节点的路径存储,树的层次对应于前缀的字母位置。\n\n前缀的补全是顺着前缀定义的路径来查找的。例如,在上图的前缀树中,前缀 \\`ne\\` 对应于从子节点取左边缘 \\`N\\` 和唯一边缘 \\`E\\` 的路径。然后可以通过继续遍历从 \\`E\\` 节点可以达到的所有叶节点来生成补全列表。在图中,\\`ne\\` 的补全可以是两个分支:\\`-ed\\` 和 \\`-sted\\`。如果在数中找不到由前缀定义的路径,则说明词汇表中不包含以该前缀开头的单词。\n\n### 有限状态自动机(DFA)实现\n前缀树可以有效处理公共前缀,但是,对于其他共享词部分,仍会分别存储在每个分支中。比如,后缀 \\`ed\\`、\\`ing\\`、\\`tion\\` 在英文单词中特别常见。在上一个例子中,\\`e\\`、\\`d\\` 分别存放在了每一个分支上。\n\n有没有一种方法可以更加节省存储空间呢?有的,那就是 DFA。\n\n
    \n
    \n\n在上面的例子中,单词 \\`need\\`、\\`nested\\`、\\`seed\\` 和 \\`speed\\` 仅由 9 个节点组成,而上一张图中的前缀树包含了 17 个节点。\n\n可以看出,最小化前缀树 DFA 可以在很大程度上减少数据结构的大小。即使词汇量很大,最小化 DFA 通常也适合在内存中存储,避免昂贵的磁盘访问是实现快速自动补全的关键。\n\n### 一些扩展\n上面介绍了如何利用合理的数据结构实现基本的自动补全功能。这些数据结构可以通过多种方式进行扩展,从而改善用户体验。\n\n通常,满足特定前缀的词汇可能很多,而用户界面上能够显示的却不多,我们更希望能显示最常搜索或者最有价值的词汇。这通常可以通过为词汇表中的每个单词增加一个代表单词值的**权重** \\`weight\\`,并且按照权重高低来排序自动补全列表。\n\n- 对于排序后的词汇表来说,在词汇表每个元素上增加 \\`weight\\` 属性并不难;\n- 对于前缀树来说,将 \\`weight\\` 存储在叶子节点中,也是很简单的一个实现;\n- 对于 \\`DFA\\` 来说,则较为复杂。因为一个叶子节点可以通过多条路径到达。一种解决方案是将权重关联到路径而不是叶子节点。\n\n目前有不少开源库都提供了这个功能,比如主流的搜索引擎框架 [Elasticsearch](https://www.elastic.co/products/elasticsearch)、[Solr](https://lucene.apache.org/solr/) 等,基于此,我们可以实现高效而强大的自动补全功能。\n\n#### 推荐阅读\n- [阿里又一个 20k+ stars 开源项目诞生,恭喜 fastjson!](https://mp.weixin.qq.com/s/RNKDCK2KoyeuMeEs6GUrow)\n- [刷掉 90% 候选人的互联网大厂海量数据面试题(附题解 + 方法总结)](https://mp.weixin.qq.com/s/rjGqxUvrEqJNlo09GrT1Dw)\n- [好用!期待已久的文本块功能究竟如何在 Java 13 中发挥作用?](https://mp.weixin.qq.com/s/kalGv5T8AZGxTnLHr2wDsA)\n- [2019 GitHub 开源贡献排行榜新鲜出炉!微软谷歌领头,阿里跻身前 12!](https://mp.weixin.qq.com/s/_q812aGD1b9QvZ2WFI0Qgw)\n\n---\n\n欢迎关注我的公众号“**Doocs开源社区**”,原创技术文章第一时间推送。\n\n
    \n \n
    \n\n`\nexport default DEFAULT_CONTENT\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport config from '../assets/scripts/config';\nimport WxRenderer from '../assets/scripts/renderers/wx-renderer'\nimport marked from 'marked'\nimport CodeMirror from 'codemirror/lib/codemirror'\nimport DEFAULT_CONTENT from '../assets/scripts/default-content'\nimport DEFAULT_CSS_CONTENT from '../assets/scripts/themes/default-theme-css'\nimport {\n setColor,\n formatDoc\n} from '../assets/scripts/util'\n\nVue.use(Vuex)\n\nconst state = {\n wxRenderer: null,\n output: '',\n html: '',\n editor: null,\n cssEditor: null,\n currentFont: '',\n currentSize: '',\n currentColor: '',\n citeStatus: 0,\n nightMode: false\n};\nconst mutations = {\n setEditorValue(state, data) {\n state.editor.setValue(data)\n },\n setCssEditorValue(state, data) {\n state.cssEditor.setValue(data)\n },\n setWxRendererOptions(state, data) {\n state.wxRenderer.setOptions(data);\n },\n setCiteStatus(state, data) {\n state.citeStatus = data;\n localStorage.setItem('citeStatus', data)\n },\n setCurrentFont(state, data) {\n state.currentFont = data;\n localStorage.setItem('fonts', data)\n },\n setCurrentSize(state, data) {\n state.currentSize = data;\n localStorage.setItem('size', data)\n },\n setCurrentColor(state, data) {\n state.currentColor = data;\n localStorage.setItem('color', data)\n },\n themeChanged(state) {\n state.nightMode = !state.nightMode;\n },\n initEditorState(state) {\n state.currentFont = localStorage.getItem('fonts') || config.builtinFonts[0].value\n state.currentColor = localStorage.getItem('color') || config.colorOption[1].value\n state.currentSize = localStorage.getItem('size') || config.sizeOption[2].value\n state.citeStatus = localStorage.getItem('citeStatus') === 'true'\n state.wxRenderer = new WxRenderer({\n theme: setColor(state.currentColor),\n fonts: state.currentFont,\n size: state.currentSize,\n status: state.citeStatus\n })\n },\n initEditorEntity(state) {\n state.editor = CodeMirror.fromTextArea(\n document.getElementById('editor'),\n {\n value: '',\n mode: 'text/x-markdown',\n theme: 'xq-light',\n lineNumbers: false,\n lineWrapping: true,\n styleActiveLine: true,\n autoCloseBrackets: true,\n extraKeys: {\n 'Ctrl-F': function autoFormat(editor) {\n const doc = formatDoc(editor.getValue(0))\n localStorage.setItem('__editor_content', doc)\n editor.setValue(doc)\n }\n }\n }\n )\n // 如果有编辑器内容被保存则读取,否则加载默认内容\n if (localStorage.getItem('__editor_content')) {\n state.editor.setValue(localStorage.getItem('__editor_content'))\n } else {\n const doc = formatDoc(DEFAULT_CONTENT)\n state.editor.setValue(doc)\n }\n },\n initCssEditorEntity(state) {\n state.cssEditor = CodeMirror.fromTextArea(\n document.getElementById('cssEditor'),\n {\n value: '',\n mode: 'css',\n theme: 'style-mirror',\n lineNumbers: false,\n lineWrapping: true,\n matchBrackets: true,\n autofocus: true,\n extraKeys: {\n 'Ctrl-F': function autoFormat(editor) {\n const totalLines = editor.lineCount()\n\n editor.autoFormatRange({\n line: 0,\n ch: 0\n }, {\n line: totalLines\n })\n }\n }\n }\n )\n\n // 如果有编辑器内容被保存则读取,否则加载默认内容\n if (localStorage.getItem('__css_content')) {\n state.cssEditor.setValue(localStorage.getItem('__css_content'))\n } else {\n state.cssEditor.setValue(DEFAULT_CSS_CONTENT)\n }\n },\n editorRefresh(state) {\n let output = marked(state.editor.getValue(0), {\n renderer: state.wxRenderer.getRenderer(state.citeStatus)\n })\n // 去除第一行的 margin-top\n output = output.replace(/(style=\".*?)\"/, '$1;margin-top: 0\"')\n if (state.citeStatus) {\n // 引用脚注\n output += state.wxRenderer.buildFootnotes()\n // 附加的一些 style\n output += state.wxRenderer.buildAddition()\n }\n state.output = output\n },\n clearEditorToDefault(state) {\n const doc = formatDoc(DEFAULT_CONTENT)\n state.editor.setValue(doc)\n state.cssEditor.setValue(DEFAULT_CSS_CONTENT)\n }\n}\n\nexport default new Vuex.Store({\n state,\n mutations,\n actions: {},\n modules: {}\n})\n","import Vue from 'vue'\nimport {\n Container,\n Header,\n Upload,\n Tooltip,\n Form,\n FormItem,\n Select,\n Option,\n ColorPicker,\n Switch,\n Button,\n Main,\n Col,\n Row,\n Dialog,\n Loading,\n Message\n} from 'element-ui'\n\nVue.use(Container)\nVue.use(Header)\nVue.use(Upload)\nVue.use(Tooltip)\nVue.use(Form)\nVue.use(FormItem)\nVue.use(Select)\nVue.use(Option)\nVue.use(ColorPicker)\nVue.use(Switch)\nVue.use(Button)\nVue.use(Main)\nVue.use(Col)\nVue.use(Row)\nVue.use(Dialog)\nVue.use(Loading)\nVue.component(Message.name, Message)\n\nVue.prototype.$loading = Loading.service\nVue.prototype.$message = Message\n","import CodeMirror from \"codemirror/lib/codemirror\";\n(function () {\n CodeMirror.extendMode('css', {\n commentStart: '/*',\n commentEnd: '*/',\n newlineAfterToken: function (type, content) {\n return /^[;{}]$/.test(content)\n }\n })\n\n // Comment/uncomment the specified range\n CodeMirror.defineExtension('commentRange', function (isComment, from, to) {\n var cm = this;\n var curMode = CodeMirror.innerMode(cm.getMode(), cm.getTokenAt(from).state).mode\n cm.operation(function () {\n if (isComment) { // Comment range\n cm.replaceRange(curMode.commentEnd, to)\n cm.replaceRange(curMode.commentStart, from)\n if (from.line == to.line && from.ch == to.ch) // An empty comment inserted - put cursor inside\n {\n cm.setCursor(from.line, from.ch + curMode.commentStart.length)\n }\n } else { // Uncomment range\n var selText = cm.getRange(from, to)\n var startIndex = selText.indexOf(curMode.commentStart)\n var endIndex = selText.lastIndexOf(curMode.commentEnd)\n if (startIndex > -1 && endIndex > -1 && endIndex > startIndex) {\n // Take string till comment start\n selText = selText.substr(0, startIndex) +\n // From comment start till comment end\n selText.substring(startIndex + curMode.commentStart.length, endIndex) +\n // From comment end till string end\n selText.substr(endIndex + curMode.commentEnd.length)\n }\n cm.replaceRange(selText, from, to)\n }\n })\n })\n\n // Applies automatic mode-aware indentation to the specified range\n CodeMirror.defineExtension('autoIndentRange', function (from, to) {\n var cmInstance = this\n this.operation(function () {\n for (var i = from.line; i <= to.line; i++) {\n cmInstance.indentLine(i, 'smart')\n }\n })\n })\n\n // Applies automatic formatting to the specified range\n CodeMirror.defineExtension('autoFormatRange', function (from, to) {\n var cm = this\n var outer = cm.getMode();\n var text = cm.getRange(from, to).split('\\n')\n var state = CodeMirror.copyState(outer, cm.getTokenAt(from).state)\n var tabSize = cm.getOption('tabSize')\n\n var out = '';\n var lines = 0;\n var atSol = from.ch == 0\n\n function newline() {\n out += '\\n'\n atSol = true\n ++lines\n }\n\n for (var i = 0; i < text.length; ++i) {\n var stream = new CodeMirror.StringStream(text[i], tabSize)\n while (!stream.eol()) {\n var inner = CodeMirror.innerMode(outer, state)\n var style = outer.token(stream, state);\n var cur = stream.current()\n stream.start = stream.pos\n if (!atSol || /\\S/.test(cur)) {\n out += cur\n atSol = false\n }\n if (!atSol && inner.mode.newlineAfterToken &&\n inner.mode.newlineAfterToken(style, cur, stream.string.slice(stream.pos) || text[i + 1] || '', inner.state)) {\n newline()\n }\n }\n if (!stream.pos && outer.blankLine) outer.blankLine(state)\n if (!atSol) newline()\n }\n\n cm.operation(function () {\n cm.replaceRange(out, from, to)\n for (var cur = from.line + 1, end = from.line + lines; cur <= end; ++cur) {\n cm.indentLine(cur, 'smart')\n }\n cm.setSelection(from, cm.getCursor(false))\n })\n })\n})()\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\nimport CodeMirror from \"codemirror/lib/codemirror\";\n(function (CodeMirror) {\n var defaults = {\n pairs: \"()[]{}''\\\"\\\"\",\n closeBefore: \")]}'\\\":;>\",\n triples: \"\",\n explode: \"[]{}\"\n };\n\n var Pos = CodeMirror.Pos;\n\n CodeMirror.defineOption(\"autoCloseBrackets\", false, function (cm, val, old) {\n if (old && old != CodeMirror.Init) {\n cm.removeKeyMap(keyMap);\n cm.state.closeBrackets = null;\n }\n if (val) {\n ensureBound(getOption(val, \"pairs\"));\n cm.state.closeBrackets = val;\n cm.addKeyMap(keyMap);\n }\n });\n\n function getOption(conf, name) {\n if (name == \"pairs\" && typeof conf == \"string\") return conf;\n if (typeof conf == \"object\" && conf[name] != null) return conf[name];\n return defaults[name];\n }\n\n var keyMap = {\n Backspace: handleBackspace,\n Enter: handleEnter\n };\n\n function ensureBound(chars) {\n for (var i = 0; i < chars.length; i++) {\n var ch = chars.charAt(i),\n key = \"'\" + ch + \"'\";\n if (!keyMap[key]) keyMap[key] = handler(ch);\n }\n }\n ensureBound(defaults.pairs + \"`\");\n\n function handler(ch) {\n return function (cm) {\n return handleChar(cm, ch);\n };\n }\n\n function getConfig(cm) {\n var deflt = cm.state.closeBrackets;\n if (!deflt || deflt.override) return deflt;\n var mode = cm.getModeAt(cm.getCursor());\n return mode.closeBrackets || deflt;\n }\n\n function handleBackspace(cm) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n for (var i = ranges.length - 1; i >= 0; i--) {\n var cur = ranges[i].head;\n cm.replaceRange(\n \"\",\n Pos(cur.line, cur.ch - 1),\n Pos(cur.line, cur.ch + 1),\n \"+delete\"\n );\n }\n }\n\n function handleEnter(cm) {\n var conf = getConfig(cm);\n var explode = conf && getOption(conf, \"explode\");\n if (!explode || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n if (!ranges[i].empty()) return CodeMirror.Pass;\n var around = charsAround(cm, ranges[i].head);\n if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass;\n }\n cm.operation(function () {\n var linesep = cm.lineSeparator() || \"\\n\";\n cm.replaceSelection(linesep + linesep, null);\n cm.execCommand(\"goCharLeft\");\n ranges = cm.listSelections();\n for (var i = 0; i < ranges.length; i++) {\n var line = ranges[i].head.line;\n cm.indentLine(line, null, true);\n cm.indentLine(line + 1, null, true);\n }\n });\n }\n\n function contractSelection(sel) {\n var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0;\n return {\n anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)),\n head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))\n };\n }\n\n function handleChar(cm, ch) {\n var conf = getConfig(cm);\n if (!conf || cm.getOption(\"disableInput\")) return CodeMirror.Pass;\n\n var pairs = getOption(conf, \"pairs\");\n var pos = pairs.indexOf(ch);\n if (pos == -1) return CodeMirror.Pass;\n\n var closeBefore = getOption(conf, \"closeBefore\");\n\n var triples = getOption(conf, \"triples\");\n\n var identical = pairs.charAt(pos + 1) == ch;\n var ranges = cm.listSelections();\n var opening = pos % 2 == 0;\n\n var type;\n for (var i = 0; i < ranges.length; i++) {\n var range = ranges[i],\n cur = range.head,\n curType;\n var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1));\n if (opening && !range.empty()) {\n curType = \"surround\";\n } else if ((identical || !opening) && next == ch) {\n if (identical && stringStartsAfter(cm, cur)) curType = \"both\";\n else if (\n triples.indexOf(ch) >= 0 &&\n cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch\n )\n curType = \"skipThree\";\n else curType = \"skip\";\n } else if (\n identical &&\n cur.ch > 1 &&\n triples.indexOf(ch) >= 0 &&\n cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch\n ) {\n if (\n cur.ch > 2 &&\n /\\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))\n )\n return CodeMirror.Pass;\n curType = \"addFour\";\n } else if (identical) {\n var prev =\n cur.ch == 0 ? \" \" : cm.getRange(Pos(cur.line, cur.ch - 1), cur);\n if (\n !CodeMirror.isWordChar(next) &&\n prev != ch &&\n !CodeMirror.isWordChar(prev)\n )\n curType = \"both\";\n else return CodeMirror.Pass;\n } else if (\n opening &&\n (next.length === 0 || /\\s/.test(next) || closeBefore.indexOf(next) > -1)\n ) {\n curType = \"both\";\n } else {\n return CodeMirror.Pass;\n }\n if (!type) type = curType;\n else if (type != curType) return CodeMirror.Pass;\n }\n\n var left = pos % 2 ? pairs.charAt(pos - 1) : ch;\n var right = pos % 2 ? ch : pairs.charAt(pos + 1);\n cm.operation(function () {\n if (type == \"skip\") {\n cm.execCommand(\"goCharRight\");\n } else if (type == \"skipThree\") {\n for (var i = 0; i < 3; i++) cm.execCommand(\"goCharRight\");\n } else if (type == \"surround\") {\n var sels = cm.getSelections();\n for (var i = 0; i < sels.length; i++) sels[i] = left + sels[i] + right;\n cm.replaceSelections(sels, \"around\");\n sels = cm.listSelections().slice();\n for (var i = 0; i < sels.length; i++)\n sels[i] = contractSelection(sels[i]);\n cm.setSelections(sels);\n } else if (type == \"both\") {\n cm.replaceSelection(left + right, null);\n cm.triggerElectric(left + right);\n cm.execCommand(\"goCharLeft\");\n } else if (type == \"addFour\") {\n cm.replaceSelection(left + left + left + left, \"before\");\n cm.execCommand(\"goCharRight\");\n }\n });\n }\n\n function charsAround(cm, pos) {\n var str = cm.getRange(Pos(pos.line, pos.ch - 1), Pos(pos.line, pos.ch + 1));\n return str.length == 2 ? str : null;\n }\n\n function stringStartsAfter(cm, pos) {\n var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1));\n return (\n /\\bstring/.test(token.type) &&\n token.start == pos.ch &&\n (pos.ch == 0 || !/\\bstring/.test(cm.getTokenTypeAt(pos)))\n );\n }\n})(CodeMirror);\n","import Vue from 'vue'\nimport App from './App.vue'\nimport store from './store'\nimport ElementUI from 'element-ui'\nimport 'element-ui/lib/theme-chalk/index.css'\nimport './plugins/element'\nimport 'codemirror/lib/codemirror.css';\nimport 'codemirror/theme/ambiance.css';\nimport 'codemirror/theme/xq-light.css';\nimport 'codemirror/mode/css/css'\nimport 'codemirror/mode/markdown/markdown'\nimport 'codemirror/addon/edit/matchbrackets'\nimport 'codemirror/addon/selection/active-line'\nimport 'codemirror/addon/hint/show-hint.js'\nimport 'codemirror/addon/hint/css-hint.js'\nimport './assets/less/theme.less';\n// 对codemirror预处理\nimport './assets/scripts/format'\nimport './assets/scripts/closebrackets'\nVue.use(ElementUI)\n\nVue.config.productionTip = false\n\nnew Vue({\n store,\n render: h => h(App)\n}).$mount('#app')\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./insertForm.vue?vue&type=style&index=0&lang=less&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./insertForm.vue?vue&type=style&index=0&lang=less&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"loading\",attrs:{\"id\":\"loading\"}},[_c('div',{staticClass:\"loading-wrapper\"},[_c('div',{staticClass:\"loading-anim\"}),_c('div',{staticClass:\"loading-text\"},[_vm._v(\"致力于让 Markdown 编辑更简单\")])])])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodemirrorEditor.vue?vue&type=style&index=1&lang=less&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodemirrorEditor.vue?vue&type=style&index=1&lang=less&\"","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=6f36a3b6&lang=scss&scoped=true&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=6f36a3b6&lang=scss&scoped=true&\"","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rightClickMenu.vue?vue&type=style&index=0&id=2cdcffb0&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./rightClickMenu.vue?vue&type=style&index=0&id=2cdcffb0&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodemirrorEditor.vue?vue&type=style&index=0&id=1f6c3034&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodemirrorEditor.vue?vue&type=style&index=0&id=1f6c3034&lang=less&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetDialog.vue?vue&type=style&index=0&id=7cee040c&lang=less&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./resetDialog.vue?vue&type=style&index=0&id=7cee040c&lang=less&scoped=true&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=31c61828&lang=less&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=31c61828&lang=less&scoped=true&\""],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors.8ce02c78.js b/js/chunk-vendors.8ce02c78.js new file mode 100644 index 0000000..2f65aee --- /dev/null +++ b/js/chunk-vendors.8ce02c78.js @@ -0,0 +1,79 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(e,t,n){var r=n("b622"),i=r("toStringTag"),o={};o[i]="z",e.exports="[object z]"===String(o)},"01d0":function(e,t){var n=e.exports={get firstChild(){var e=this.children;return e&&e[0]||null},get lastChild(){var e=this.children;return e&&e[e.length-1]||null},get nodeType(){return i[this.type]||i.element}},r={tagName:"name",childNodes:"children",parentNode:"parent",previousSibling:"prev",nextSibling:"next",nodeValue:"data"},i={element:1,text:3,cdata:4,comment:8};Object.keys(r).forEach((function(e){var t=r[e];Object.defineProperty(n,e,{get:function(){return this[t]||null},set:function(e){return this[t]=e,e}})}))},"02cc":function(e,t,n){t=e.exports=n("53a3"),t.version=n("205b").version},"0366":function(e,t,n){var r=n("1c0b");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},"03d6":function(e,t,n){var r=n("9c0e"),i=n("6ca1"),o=n("39ad")(!1),a=n("5a94")("IE_PROTO");e.exports=function(e,t){var n,s=i(e),l=0,u=[];for(n in s)n!=a&&r(s,n)&&u.push(n);while(t.length>l)r(s,n=t[l++])&&(~o(u,n)||u.push(n));return u}},"051a":function(e,t,n){var r=s(n("64b2")),i=l(r);t.XML=d(r,i);var o=s(n("f0f2")),a=l(o);function s(e){return Object.keys(e).sort().reduce((function(t,n){return t[e[n]]="&"+n+";",t}),{})}function l(e){var t=[],n=[];return Object.keys(e).forEach((function(e){1===e.length?t.push("\\"+e):n.push(e)})),n.unshift("["+t.join("")+"]"),new RegExp(n.join("|"),"g")}t.HTML=d(o,a);var u=/[^\0-\x7F]/g,c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function h(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"}function p(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),r=1024*(t-55296)+n-56320+65536;return"&#x"+r.toString(16).toUpperCase()+";"}function d(e,t){function n(t){return e[t]}return function(e){return e.replace(t,n).replace(c,p).replace(u,h)}}var f=l(r);function m(e){return e.replace(f,h).replace(c,p).replace(u,h)}t.escape=m},"051b":function(e,t,n){var r=n("1a14"),i=n("10db");e.exports=n("0bad")?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},"057f":function(e,t,n){var r=n("fc6a"),i=n("241c").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(t){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?s(e):i(r(e))}},"05f5":function(e,t,n){var r=n("7a41"),i=n("ef08").document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},"06cf":function(e,t,n){var r=n("83ab"),i=n("d1e7"),o=n("5c6c"),a=n("fc6a"),s=n("c04e"),l=n("5135"),u=n("0cfb"),c=Object.getOwnPropertyDescriptor;t.f=r?c:function(e,t){if(e=a(e),t=s(t,!0),u)try{return c(e,t)}catch(n){}if(l(e,t))return o(!i.f.call(e,t),e[t])}},"072d":function(e,t,n){"use strict";var r=n("0bad"),i=n("9876"),o=n("fed5"),a=n("1917"),s=n("0983"),l=n("9fbb"),u=Object.assign;e.exports=!u||n("4b8b")((function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst";return e[n]=7,r.split("").forEach((function(e){t[e]=e})),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r}))?function(e,t){var n=s(e),u=arguments.length,c=1,h=o.f,p=a.f;while(u>c){var d,f=l(arguments[c++]),m=h?i(f).concat(h(f)):i(f),g=m.length,v=0;while(g>v)d=m[v++],r&&!p.call(f,d)||(n[d]=f[d])}return n}:u},"0983":function(e,t,n){var r=n("c901");e.exports=function(e){return Object(r(e))}},"0a06":function(e,t,n){"use strict";var r=n("c532"),i=n("30b5"),o=n("f6b4"),a=n("5270"),s=n("4a7b");function l(e){this.defaults=e,this.interceptors={request:new o,response:new o}}l.prototype.request=function(e){"string"===typeof e?(e=arguments[1]||{},e.url=arguments[0]):e=e||{},e=s(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var t=[a,void 0],n=Promise.resolve(e);this.interceptors.request.forEach((function(e){t.unshift(e.fulfilled,e.rejected)})),this.interceptors.response.forEach((function(e){t.push(e.fulfilled,e.rejected)}));while(t.length)n=n.then(t.shift(),t.shift());return n},l.prototype.getUri=function(e){return e=s(this.defaults,e),i(e.url,e.params,e.paramsSerializer).replace(/^\?/,"")},r.forEach(["delete","get","head","options"],(function(e){l.prototype[e]=function(t,n){return this.request(r.merge(n||{},{method:e,url:t}))}})),r.forEach(["post","put","patch"],(function(e){l.prototype[e]=function(t,n,i){return this.request(r.merge(i||{},{method:e,url:t,data:n}))}})),e.exports=l},"0ae2":function(e,t,n){var r=n("9876"),i=n("fed5"),o=n("1917");e.exports=function(e){var t=r(e),n=i.f;if(n){var a,s=n(e),l=o.f,u=0;while(s.length>u)l.call(e,a=s[u++])&&t.push(a)}return t}},"0b99":function(e,t,n){"use strict";var r=n("19fa")(!0);n("393a")(String,"String",(function(e){this._t=String(e),this._i=0}),(function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})}))},"0bad":function(e,t,n){e.exports=!n("4b8b")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"0bfb":function(e,t,n){var r,i,o,a,s=!1,l=!1,u=n("115b")("parse"),c=n("c415");function h(e,t){var n,s;t||(t={}),r=!!t.comments,o=!!t.position,i=0,a=Array.isArray(e)?e.slice():c(e);var h,p=[];l&&(n=Date.now());while(h=d())s=x(h),s&&p.push(s);return l&&u("ran in",Date.now()-n+"ms"),{type:"stylesheet",stylesheet:{rules:p}}}function p(e,t){var n;t||(t={});for(var r=["type","name","value"],i={},a=0;a-1}function Xe(e,t){var n=this.__data__,r=dt(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function Je(e){var t=-1,n=e?e.length:0;this.clear();while(++tu))return!1;var h=o.get(e);if(h&&o.get(t))return h==t;var p=-1,d=!0,f=i&a?new rt:void 0;o.set(e,t),o.set(t,e);while(++p-1&&e%1==0&&e-1&&e%1==0&&e<=u}function cn(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function hn(e){return!!e&&"object"==typeof e}function pn(e){return"symbol"==typeof e||hn(e)&&ye.call(e)==_}var dn=ee?oe(ee):kt;function fn(e){return null==e?"":Ot(e)}function mn(e,t,n){var r=null==e?void 0:yt(e,t);return void 0===r?n:r}function gn(e,t){return null!=e&&zt(e,t,Dt)}function vn(e){return an(e)?pt(e):St(e)}function yn(e){return e}function bn(e){return Ht(e)?re(Jt(e)):Tt(e)}n.exports=Qt}).call(this,n("c8ba"),n("62e4")(e))},"0df6":function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},"0e15":function(e,t,n){var r=n("597f");e.exports=function(e,t,n){return void 0===n?r(e,t,!1):r(e,n,!1!==t)}},"0f7c":function(e,t,n){},"0f94":function(e,t,n){var r=e.exports;[n("68b4"),n("26f9"),n("7a39"),n("733c"),n("9f20"),n("f67e")].forEach((function(e){Object.keys(e).forEach((function(t){r[t]=e[t].bind(r)}))}))},"0fae":function(e,t,n){},1098:function(e,t,n){"use strict";t.__esModule=!0;var r=n("17ed"),i=l(r),o=n("f893"),a=l(o),s="function"===typeof a.default&&"symbol"===typeof i.default?function(e){return typeof e}:function(e){return e&&"function"===typeof a.default&&e.constructor===a.default&&e!==a.default.prototype?"symbol":typeof e};function l(e){return e&&e.__esModule?e:{default:e}}t.default="function"===typeof a.default&&"symbol"===s(i.default)?function(e){return"undefined"===typeof e?"undefined":s(e)}:function(e){return e&&"function"===typeof a.default&&e.constructor===a.default&&e!==a.default.prototype?"symbol":"undefined"===typeof e?"undefined":s(e)}},"10db":function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},"111b":function(e,t,n){(function(e){e(n("56b3"),n("7b00"))})((function(e){"use strict";var t={active:1,after:1,before:1,checked:1,default:1,disabled:1,empty:1,enabled:1,"first-child":1,"first-letter":1,"first-line":1,"first-of-type":1,focus:1,hover:1,"in-range":1,indeterminate:1,invalid:1,lang:1,"last-child":1,"last-of-type":1,link:1,not:1,"nth-child":1,"nth-last-child":1,"nth-last-of-type":1,"nth-of-type":1,"only-of-type":1,"only-child":1,optional:1,"out-of-range":1,placeholder:1,"read-only":1,"read-write":1,required:1,root:1,selection:1,target:1,valid:1,visited:1};e.registerHelper("hint","css",(function(n){var r=n.getCursor(),i=n.getTokenAt(r),o=e.innerMode(n.getMode(),i.state);if("css"==o.mode.name){if("keyword"==i.type&&0=="!important".indexOf(i.string))return{list:["!important"],from:e.Pos(r.line,i.start),to:e.Pos(r.line,i.end)};var a=i.start,s=r.ch,l=i.string.slice(0,s-a);/[^\w$_-]/.test(l)&&(l="",a=s=r.ch);var u=e.resolveMode("text/css"),c=[],h=o.state.state;return"pseudo"==h||"variable-3"==i.type?p(t):"block"==h||"maybeprop"==h?p(u.propertyKeywords):"prop"==h||"parens"==h||"at"==h||"params"==h?(p(u.valueKeywords),p(u.colorKeywords)):"media"!=h&&"media_parens"!=h||(p(u.mediaTypes),p(u.mediaFeatures)),c.length?{list:c,from:e.Pos(r.line,a),to:e.Pos(r.line,s)}:void 0}function p(e){for(var t in e)l&&0!=t.lastIndexOf(l,0)||c.push(t)}}))}))},"115b":function(e,t,n){(function(t){function n(e){return r.bind(null,e)}function r(e){var n=[].slice.call(arguments,1);n.unshift("["+e+"]"),t.stderr.write(n.join(" ")+"\n")}e.exports=n}).call(this,n("4362"))},1276:function(e,t,n){"use strict";var r=n("d784"),i=n("44e7"),o=n("825a"),a=n("1d80"),s=n("4840"),l=n("8aa5"),u=n("50c4"),c=n("14c3"),h=n("9263"),p=n("d039"),d=[].push,f=Math.min,m=4294967295,g=!p((function(){return!RegExp(m,"y")}));r("split",2,(function(e,t,n){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(e,n){var r=String(a(this)),o=void 0===n?m:n>>>0;if(0===o)return[];if(void 0===e)return[r];if(!i(e))return t.call(r,e,o);var s,l,u,c=[],p=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),f=0,g=new RegExp(e.source,p+"g");while(s=h.call(g,r)){if(l=g.lastIndex,l>f&&(c.push(r.slice(f,s.index)),s.length>1&&s.index=o))break;g.lastIndex===s.index&&g.lastIndex++}return f===r.length?!u&&g.test("")||c.push(""):c.push(r.slice(f)),c.length>o?c.slice(0,o):c}:"0".split(void 0,0).length?function(e,n){return void 0===e&&0===n?[]:t.call(this,e,n)}:t,[function(t,n){var i=a(this),o=void 0==t?void 0:t[e];return void 0!==o?o.call(t,i,n):r.call(String(i),t,n)},function(e,i){var a=n(r,e,this,i,r!==t);if(a.done)return a.value;var h=o(e),p=String(this),d=s(h,RegExp),v=h.unicode,y=(h.ignoreCase?"i":"")+(h.multiline?"m":"")+(h.unicode?"u":"")+(g?"y":"g"),b=new d(g?h:"^(?:"+h.source+")",y),D=void 0===i?m:i>>>0;if(0===D)return[];if(0===p.length)return null===c(b,p)?[p]:[];var x=0,w=0,C=[];while(w1?n[i-1]:void 0,a=i>2?n[2]:void 0;o=e.length>3&&"function"==typeof o?(i--,o):void 0,a&&w(n[0],n[1],a)&&(o=i<3?void 0:o,i=1),t=Object(t);while(++r-1&&e%1==0&&e-1&&e%1==0&&e<=n}function N(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function L(e){return!!e&&"object"==typeof e}var B=D((function(e,t,n,r){b(t,M(t),e,r)})),P=y((function(e){return e.push(void 0,m),s(B,void 0,e)}));function M(e){return A(e)?f(e,!0):v(e)}e.exports=P},"14c3":function(e,t,n){var r=n("c6b6"),i=n("9263");e.exports=function(e,t){var n=e.exec;if("function"===typeof n){var o=n.call(e,t);if("object"!==typeof o)throw TypeError("RegExp exec method returned something other than an Object or null");return o}if("RegExp"!==r(e))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(e,t)}},"14e9":function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=127)}({127:function(e,t,n){"use strict";n.r(t);var r=n(16),i=n(39),o=n.n(i),a=n(3),s=n(2),l={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}};function u(e){var t=e.move,n=e.size,r=e.bar,i={},o="translate"+r.axis+"("+t+"%)";return i[r.size]=n,i.transform=o,i.msTransform=o,i.webkitTransform=o,i}var c={name:"Bar",props:{vertical:Boolean,size:String,move:Number},computed:{bar:function(){return l[this.vertical?"vertical":"horizontal"]},wrap:function(){return this.$parent.wrap}},render:function(e){var t=this.size,n=this.move,r=this.bar;return e("div",{class:["el-scrollbar__bar","is-"+r.key],on:{mousedown:this.clickTrackHandler}},[e("div",{ref:"thumb",class:"el-scrollbar__thumb",on:{mousedown:this.clickThumbHandler},style:u({size:t,move:n,bar:r})})])},methods:{clickThumbHandler:function(e){e.ctrlKey||2===e.button||(this.startDrag(e),this[this.bar.axis]=e.currentTarget[this.bar.offset]-(e[this.bar.client]-e.currentTarget.getBoundingClientRect()[this.bar.direction]))},clickTrackHandler:function(e){var t=Math.abs(e.target.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]),n=this.$refs.thumb[this.bar.offset]/2,r=100*(t-n)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=r*this.wrap[this.bar.scrollSize]/100},startDrag:function(e){e.stopImmediatePropagation(),this.cursorDown=!0,Object(s["on"])(document,"mousemove",this.mouseMoveDocumentHandler),Object(s["on"])(document,"mouseup",this.mouseUpDocumentHandler),document.onselectstart=function(){return!1}},mouseMoveDocumentHandler:function(e){if(!1!==this.cursorDown){var t=this[this.bar.axis];if(t){var n=-1*(this.$el.getBoundingClientRect()[this.bar.direction]-e[this.bar.client]),r=this.$refs.thumb[this.bar.offset]-t,i=100*(n-r)/this.$el[this.bar.offset];this.wrap[this.bar.scroll]=i*this.wrap[this.bar.scrollSize]/100}}},mouseUpDocumentHandler:function(e){this.cursorDown=!1,this[this.bar.axis]=0,Object(s["off"])(document,"mousemove",this.mouseMoveDocumentHandler),document.onselectstart=null}},destroyed:function(){Object(s["off"])(document,"mouseup",this.mouseUpDocumentHandler)}},h={name:"ElScrollbar",components:{Bar:c},props:{native:Boolean,wrapStyle:{},wrapClass:{},viewClass:{},viewStyle:{},noresize:Boolean,tag:{type:String,default:"div"}},data:function(){return{sizeWidth:"0",sizeHeight:"0",moveX:0,moveY:0}},computed:{wrap:function(){return this.$refs.wrap}},render:function(e){var t=o()(),n=this.wrapStyle;if(t){var r="-"+t+"px",i="margin-bottom: "+r+"; margin-right: "+r+";";Array.isArray(this.wrapStyle)?(n=Object(a["toObject"])(this.wrapStyle),n.marginRight=n.marginBottom=r):"string"===typeof this.wrapStyle?n+=i:n=i}var s=e(this.tag,{class:["el-scrollbar__view",this.viewClass],style:this.viewStyle,ref:"resize"},this.$slots.default),l=e("div",{ref:"wrap",style:n,on:{scroll:this.handleScroll},class:[this.wrapClass,"el-scrollbar__wrap",t?"":"el-scrollbar__wrap--hidden-default"]},[[s]]),u=void 0;return u=this.native?[e("div",{ref:"wrap",class:[this.wrapClass,"el-scrollbar__wrap"],style:n},[[s]])]:[l,e(c,{attrs:{move:this.moveX,size:this.sizeWidth}}),e(c,{attrs:{vertical:!0,move:this.moveY,size:this.sizeHeight}})],e("div",{class:"el-scrollbar"},u)},methods:{handleScroll:function(){var e=this.wrap;this.moveY=100*e.scrollTop/e.clientHeight,this.moveX=100*e.scrollLeft/e.clientWidth},update:function(){var e=void 0,t=void 0,n=this.wrap;n&&(e=100*n.clientHeight/n.scrollHeight,t=100*n.clientWidth/n.scrollWidth,this.sizeHeight=e<100?e+"%":"",this.sizeWidth=t<100?t+"%":"")}},mounted:function(){this.native||(this.$nextTick(this.update),!this.noresize&&Object(r["addResizeListener"])(this.$refs.resize,this.update))},beforeDestroy:function(){this.native||!this.noresize&&Object(r["removeResizeListener"])(this.$refs.resize,this.update)},install:function(e){e.component(h.name,h)}};t["default"]=h},16:function(e,t){e.exports=n("4010")},2:function(e,t){e.exports=n("5924")},3:function(e,t){e.exports=n("8122")},39:function(e,t){e.exports=n("e62d")}})},"159b":function(e,t,n){var r=n("da84"),i=n("fdbc"),o=n("17c2"),a=n("9112");for(var s in i){var l=r[s],u=l&&l.prototype;if(u&&u.forEach!==o)try{a(u,"forEach",o)}catch(c){u.forEach=o}}},1609:function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},"17c2":function(e,t,n){"use strict";var r=n("b727").forEach,i=n("a640"),o=n("ae40"),a=i("forEach"),s=o("forEach");e.exports=a&&s?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},"17ed":function(e,t,n){e.exports={default:n("511f"),__esModule:!0}},1836:function(e,t,n){var r=n("6ca1"),i=n("6438").f,o={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(e){try{return i(e)}catch(t){return a.slice()}};e.exports.f=function(e){return a&&"[object Window]"==o.call(e)?s(e):i(r(e))}},1880:function(e,t,n){var r=n("4d1e"),i=n("e282"),o={__proto__:null,style:!0,script:!0,xmp:!0,iframe:!0,noembed:!0,noframes:!0,plaintext:!0,noscript:!0};function a(e,t){if(e){var n,r="";for(var o in e)n=e[o],r&&(r+=" "),r+=o,(null!==n&&""!==n||t.xmlMode)&&(r+='="'+(t.decodeEntities?i.encodeXML(n):n)+'"');return r}}var s={__proto__:null,area:!0,base:!0,basefont:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,isindex:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},l=e.exports=function(e,t){Array.isArray(e)||e.cheerio||(e=[e]),t=t||{};for(var n="",i=0;i",e.children&&(n+=l(e.children,t)),s[e.name]&&!t.xmlMode||(n+="")):n+="/>",n}function c(e){return"<"+e.data+">"}function h(e,t){var n=e.data||"";return!t.decodeEntities||e.parent&&e.parent.name in o||(n=i.encodeXML(n)),n}function p(e){return""}function d(e){return"\x3c!--"+e.data+"--\x3e"}},"18a5":function(e,t,n){"use strict";var r=n("23e7"),i=n("857a"),o=n("af03");r({target:"String",proto:!0,forced:o("anchor")},{anchor:function(e){return i(this,"a","name",e)}})},1917:function(e,t){t.f={}.propertyIsEnumerable},"19aa":function(e,t){e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},"19fa":function(e,t,n){var r=n("fc5e"),i=n("c901");e.exports=function(e){return function(t,n){var o,a,s=String(i(t)),l=r(n),u=s.length;return l<0||l>=u?e?"":void 0:(o=s.charCodeAt(l),o<55296||o>56319||l+1===u||(a=s.charCodeAt(l+1))<56320||a>57343?e?s.charAt(l):o:e?s.slice(l,l+2):a-56320+(o-55296<<10)+65536)}}},"1a14":function(e,t,n){var r=n("77e9"),i=n("faf5"),o=n("3397"),a=Object.defineProperty;t.f=n("0bad")?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(s){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},"1be4":function(e,t,n){var r=n("d066");e.exports=r("document","documentElement")},"1c0b":function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},"1c7e":function(e,t,n){var r=n("b622"),i=r("iterator"),o=!1;try{var a=0,s={next:function(){return{done:!!a++}},return:function(){o=!0}};s[i]=function(){return this},Array.from(s,(function(){throw 2}))}catch(l){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var r={};r[i]=function(){return{next:function(){return{done:n=!0}}}},e(r)}catch(l){}return n}},"1cdc":function(e,t,n){var r=n("342f");e.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1d2b":function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r=51||!r((function(){var t=[],n=t.constructor={};return n[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},"1fb5":function(e,t,n){"use strict";t.byteLength=c,t.toByteArray=p,t.fromByteArray=m;for(var r=[],i=[],o="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");-1===n&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=u(e),n=t[0],r=t[1];return 3*(n+r)/4-r}function h(e,t,n){return 3*(t+n)/4-n}function p(e){var t,n,r=u(e),a=r[0],s=r[1],l=new o(h(e,a,s)),c=0,p=s>0?a-4:a;for(n=0;n>16&255,l[c++]=t>>8&255,l[c++]=255&t;return 2===s&&(t=i[e.charCodeAt(n)]<<2|i[e.charCodeAt(n+1)]>>4,l[c++]=255&t),1===s&&(t=i[e.charCodeAt(n)]<<10|i[e.charCodeAt(n+1)]<<4|i[e.charCodeAt(n+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t),l}function d(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function f(e,t,n){for(var r,i=[],o=t;ol?l:s+a));return 1===i?(t=e[n-1],o.push(r[t>>2]+r[t<<4&63]+"==")):2===i&&(t=(e[n-2]<<8)+e[n-1],o.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+"=")),o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},2015:function(e,t,n){e.exports=a;var r=n("99e4"),i=r.trueFunc,o=r.falseFunc;function a(e){var t=e[0],n=e[1]-1;if(n<0&&t<=0)return o;if(-1===t)return function(e){return e<=n};if(0===t)return function(e){return e===n};if(1===t)return n<0?i:function(e){return e>=n};var r=n%t;return r<0&&(r+=t),t>1?function(e){return e>=n&&e%t===r}:(t*=-1,function(e){return e<=n&&e%t===r})}},"205b":function(e){e.exports=JSON.parse('{"_from":"cheerio@^0.22.0","_id":"cheerio@0.22.0","_inBundle":false,"_integrity":"sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=","_location":"/cheerio","_phantomChildren":{},"_requested":{"type":"range","registry":true,"raw":"cheerio@^0.22.0","name":"cheerio","escapedName":"cheerio","rawSpec":"^0.22.0","saveSpec":null,"fetchSpec":"^0.22.0"},"_requiredBy":["/juice"],"_resolved":"https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz","_shasum":"a9baa860a3f9b595a6b81b1a86873121ed3a269e","_spec":"cheerio@^0.22.0","_where":"/home/runner/work/md/md/node_modules/juice","author":{"name":"Matt Mueller","email":"mattmuelle@gmail.com","url":"mat.io"},"bugs":{"url":"https://github.com/cheeriojs/cheerio/issues"},"bundleDependencies":false,"dependencies":{"css-select":"~1.2.0","dom-serializer":"~0.1.0","entities":"~1.1.1","htmlparser2":"^3.9.1","lodash.assignin":"^4.0.9","lodash.bind":"^4.1.4","lodash.defaults":"^4.0.1","lodash.filter":"^4.4.0","lodash.flatten":"^4.2.0","lodash.foreach":"^4.3.0","lodash.map":"^4.4.0","lodash.merge":"^4.4.0","lodash.pick":"^4.2.1","lodash.reduce":"^4.4.0","lodash.reject":"^4.4.0","lodash.some":"^4.4.0"},"deprecated":false,"description":"Tiny, fast, and elegant implementation of core jQuery designed specifically for the server","devDependencies":{"benchmark":"^2.1.0","coveralls":"^2.11.9","expect.js":"~0.3.1","istanbul":"^0.4.3","jquery":"^3.0.0","jsdom":"^9.2.1","jshint":"^2.9.2","mocha":"^2.5.3","xyz":"~0.5.0"},"engines":{"node":">= 0.6"},"files":["index.js","lib"],"homepage":"https://github.com/cheeriojs/cheerio#readme","keywords":["htmlparser","jquery","selector","scraper","parser","html"],"license":"MIT","main":"./index.js","name":"cheerio","repository":{"type":"git","url":"git://github.com/cheeriojs/cheerio.git"},"scripts":{"test":"make test"},"version":"0.22.0"}')},2266:function(e,t,n){var r=n("825a"),i=n("e95a"),o=n("50c4"),a=n("0366"),s=n("35a1"),l=n("9bdd"),u=function(e,t){this.stopped=e,this.result=t},c=e.exports=function(e,t,n,c,h){var p,d,f,m,g,v,y,b=a(t,n,c?2:1);if(h)p=e;else{if(d=s(e),"function"!=typeof d)throw TypeError("Target is not iterable");if(i(d)){for(f=0,m=o(e.length);m>f;f++)if(g=c?b(r(y=e[f])[0],y[1]):b(e[f]),g&&g instanceof u)return g;return new u(!1)}p=d.call(e)}v=p.next;while(!(y=v.call(p)).done)if(g=l(p,b,y.value,c),"object"==typeof g&&g&&g instanceof u)return g;return new u(!1)};c.stop=function(e){return new u(!0,e)}},"23cb":function(e,t,n){var r=n("a691"),i=Math.max,o=Math.min;e.exports=function(e,t){var n=r(e);return n<0?i(n+t,0):o(n,t)}},"23e7":function(e,t,n){var r=n("da84"),i=n("06cf").f,o=n("9112"),a=n("6eeb"),s=n("ce4e"),l=n("e893"),u=n("94ca");e.exports=function(e,t){var n,c,h,p,d,f,m=e.target,g=e.global,v=e.stat;if(c=g?r:v?r[m]||s(m,{}):(r[m]||{}).prototype,c)for(h in t){if(d=t[h],e.noTargetGet?(f=i(c,h),p=f&&f.value):p=c[h],n=u(g?h:m+(v?".":"#")+h,e.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;l(d,p)}(e.sham||p&&p.sham)&&o(d,"sham",!0),a(c,h,d,e)}}},"241c":function(e,t,n){var r=n("ca84"),i=n("7839"),o=i.concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},2444:function(e,t,n){"use strict";(function(t){var r=n("c532"),i=n("c8af"),o={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function s(){var e;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof t&&"[object process]"===Object.prototype.toString.call(t))&&(e=n("b50d")),e}var l={adapter:s(),transformRequest:[function(e,t){return i(t,"Accept"),i(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"===typeof e)try{e=JSON.parse(e)}catch(t){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};r.forEach(["delete","get","head"],(function(e){l.headers[e]={}})),r.forEach(["post","put","patch"],(function(e){l.headers[e]=r.merge(o)})),e.exports=l}).call(this,n("4362"))},2562:function(e,t,n){"use strict";var r=/([-.*+?^${}()|[\]\/\\])/g,i=/\\/g,o=function(e){return(e+"").replace(r,"\\$1")},a=function(e){return(e+"").replace(i,"")},s=RegExp("^(?:\\s*(,)\\s*|\\s*(+)\\s*|(\\s+)|(+|\\*)|\\#(+)|\\.(+)|\\[\\s*(+)(?:\\s*([*^$!~|]?=)(?:\\s*(?:([\"']?)(.*?)\\9)))?\\s*\\](?!\\])|(:+)(+)(?:\\((?:(?:([\"'])([^\\13]*)\\13)|((?:\\([^)]+\\)|[^()]*)+))\\))?)".replace(//,"["+o(">+~`!@$%^&={}\\;/g,"(?:[\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])").replace(//g,"(?:[:\\w\\u00a1-\\uFFFF-]|\\\\[^\\s0-9a-f])")),l=function(e){this.combinator=e||" ",this.tag="*"};l.prototype.toString=function(){if(!this.raw){var e,t,n="";if(n+=this.tag||"*",this.id&&(n+="#"+this.id),this.classes&&(n+="."+this.classList.join(".")),this.attributes)for(e=0;t=this.attributes[e++];)n+="["+t.name+(t.operator?t.operator+'"'+t.value+'"':"")+"]";if(this.pseudos)for(e=0;t=this.pseudos[e++];)n+=":"+t.name,t.value&&(n+="("+t.value+")");this.raw=n}return this.raw};var u=function(){this.length=0};u.prototype.toString=function(){if(!this.raw){for(var e,t="",n=0;e=this[n++];)1!==n&&(t+=" ")," "!==e.combinator&&(t+=e.combinator+" "),t+=e;this.raw=t}return this.raw};var c=function(e,t,n,r,i,s,c,h,p,d,f,m,g,v,y,b){var D,x;if((t||!this.length)&&(D=this[this.length++]=new u,t))return"";if(D||(D=this[this.length-1]),(n||r||!D.length)&&(x=D[D.length++]=new l(n)),x||(x=D[D.length-1]),i)x.tag=a(i);else if(s)x.id=a(s);else if(c){var w=a(c),C=x.classes||(x.classes={});if(!C[w]){C[w]=o(c);var _=x.classList||(x.classList=[]);_.push(w),_.sort()}}else g?(b=b||y,(x.pseudos||(x.pseudos=[])).push({type:1==m.length?"class":"element",name:a(g),escapedName:o(g),value:b?a(b):null,escapedValue:b?o(b):null})):h&&(f=f?o(f):null,(x.attributes||(x.attributes=[])).push({operator:p,name:a(h),escapedName:o(h),value:f?a(f):null,escapedValue:f?o(f):null}));return""},h=function(e){this.length=0;var t,n=this,r=e;while(e){if(t=e.replace(s,(function(){return c.apply(n,arguments)})),t===e)throw new Error(r+" is an invalid expression");e=t}};h.prototype.toString=function(){if(!this.raw){for(var e,t=[],n=0;e=this[n++];)t.push(e);this.raw=t.join(", ")}return this.raw};var p={},d=function(e){return null==e?null:(e=(""+e).replace(/^\s+|\s+$/g,""),p[e]||(p[e]=new h(e)))};e.exports=d},2626:function(e,t,n){"use strict";var r=n("d066"),i=n("9bf2"),o=n("b622"),a=n("83ab"),s=o("species");e.exports=function(e){var t=r(e),n=i.f;a&&t&&!t[s]&&n(t,s,{configurable:!0,get:function(){return this}})}},"26dd":function(e,t,n){"use strict";var r=n("6f4f"),i=n("10db"),o=n("92f0"),a={};n("051b")(a,n("cc15")("iterator"),(function(){return this})),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},"26f9":function(e,t){var n=t.getChildren=function(e){return e.children},r=t.getParent=function(e){return e.parent};t.getSiblings=function(e){var t=r(e);return t?n(t):[e]},t.getAttributeValue=function(e,t){return e.attribs&&e.attribs[t]},t.hasAttrib=function(e,t){return!!e.attribs&&hasOwnProperty.call(e.attribs,t)},t.getName=function(e){return e.name}},"27b0":function(e,t){e.exports=class{constructor(){this.seen={}}slug(e){let t=e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){const e=t;do{this.seen[e]++,t=e+"-"+this.seen[e]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t}}},2877:function(e,t,n){"use strict";function r(e,t,n,r,i,o,a,s){var l,u="function"===typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=l):i&&(l=s?function(){i.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,l):[l]}return{exports:e,options:u}}n.d(t,"a",(function(){return r}))},"299c":function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=131)}({131:function(e,t,n){"use strict";n.r(t);var r=n(5),i=n.n(r),o=n(17),a=n.n(o),s=n(2),l=n(3),u=n(7),c=n.n(u),h={name:"ElTooltip",mixins:[i.a],props:{openDelay:{type:Number,default:0},disabled:Boolean,manual:Boolean,effect:{type:String,default:"dark"},arrowOffset:{type:Number,default:0},popperClass:String,content:String,visibleArrow:{default:!0},transition:{type:String,default:"el-fade-in-linear"},popperOptions:{default:function(){return{boundariesPadding:10,gpuAcceleration:!1}}},enterable:{type:Boolean,default:!0},hideAfter:{type:Number,default:0},tabindex:{type:Number,default:0}},data:function(){return{tooltipId:"el-tooltip-"+Object(l["generateId"])(),timeoutPending:null,focusing:!1}},beforeCreate:function(){var e=this;this.$isServer||(this.popperVM=new c.a({data:{node:""},render:function(e){return this.node}}).$mount(),this.debounceClose=a()(200,(function(){return e.handleClosePopper()})))},render:function(e){var t=this;this.popperVM&&(this.popperVM.node=e("transition",{attrs:{name:this.transition},on:{afterLeave:this.doDestroy}},[e("div",{on:{mouseleave:function(){t.setExpectedState(!1),t.debounceClose()},mouseenter:function(){t.setExpectedState(!0)}},ref:"popper",attrs:{role:"tooltip",id:this.tooltipId,"aria-hidden":this.disabled||!this.showPopper?"true":"false"},directives:[{name:"show",value:!this.disabled&&this.showPopper}],class:["el-tooltip__popper","is-"+this.effect,this.popperClass]},[this.$slots.content||this.content])]));var n=this.getFirstElement();if(!n)return null;var r=n.data=n.data||{};return r.staticClass=this.addTooltipClass(r.staticClass),n},mounted:function(){var e=this;this.referenceElm=this.$el,1===this.$el.nodeType&&(this.$el.setAttribute("aria-describedby",this.tooltipId),this.$el.setAttribute("tabindex",this.tabindex),Object(s["on"])(this.referenceElm,"mouseenter",this.show),Object(s["on"])(this.referenceElm,"mouseleave",this.hide),Object(s["on"])(this.referenceElm,"focus",(function(){if(e.$slots.default&&e.$slots.default.length){var t=e.$slots.default[0].componentInstance;t&&t.focus?t.focus():e.handleFocus()}else e.handleFocus()})),Object(s["on"])(this.referenceElm,"blur",this.handleBlur),Object(s["on"])(this.referenceElm,"click",this.removeFocusing)),this.value&&this.popperVM&&this.popperVM.$nextTick((function(){e.value&&e.updatePopper()}))},watch:{focusing:function(e){e?Object(s["addClass"])(this.referenceElm,"focusing"):Object(s["removeClass"])(this.referenceElm,"focusing")}},methods:{show:function(){this.setExpectedState(!0),this.handleShowPopper()},hide:function(){this.setExpectedState(!1),this.debounceClose()},handleFocus:function(){this.focusing=!0,this.show()},handleBlur:function(){this.focusing=!1,this.hide()},removeFocusing:function(){this.focusing=!1},addTooltipClass:function(e){return e?"el-tooltip "+e.replace("el-tooltip",""):"el-tooltip"},handleShowPopper:function(){var e=this;this.expectedState&&!this.manual&&(clearTimeout(this.timeout),this.timeout=setTimeout((function(){e.showPopper=!0}),this.openDelay),this.hideAfter>0&&(this.timeoutPending=setTimeout((function(){e.showPopper=!1}),this.hideAfter)))},handleClosePopper:function(){this.enterable&&this.expectedState||this.manual||(clearTimeout(this.timeout),this.timeoutPending&&clearTimeout(this.timeoutPending),this.showPopper=!1,this.disabled&&this.doDestroy())},setExpectedState:function(e){!1===e&&clearTimeout(this.timeoutPending),this.expectedState=e},getFirstElement:function(){var e=this.$slots.default;if(!Array.isArray(e))return null;for(var t=null,n=0;nl&&(e.scrollTop=a-e.clientHeight)}else e.scrollTop=0}},"2b0e":function(e,t,n){"use strict";n.r(t),function(e){ +/*! + * Vue.js v2.6.11 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +var n=Object.freeze({});function r(e){return void 0===e||null===e}function i(e){return void 0!==e&&null!==e}function o(e){return!0===e}function a(e){return!1===e}function s(e){return"string"===typeof e||"number"===typeof e||"symbol"===typeof e||"boolean"===typeof e}function l(e){return null!==e&&"object"===typeof e}var u=Object.prototype.toString;function c(e){return"[object Object]"===u.call(e)}function h(e){return"[object RegExp]"===u.call(e)}function p(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function d(e){return i(e)&&"function"===typeof e.then&&"function"===typeof e.catch}function f(e){return null==e?"":Array.isArray(e)||c(e)&&e.toString===u?JSON.stringify(e,null,2):String(e)}function m(e){var t=parseFloat(e);return isNaN(t)?e:t}function g(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function D(e,t){return b.call(e,t)}function x(e){var t=Object.create(null);return function(n){var r=t[n];return r||(t[n]=e(n))}}var w=/-(\w)/g,C=x((function(e){return e.replace(w,(function(e,t){return t?t.toUpperCase():""}))})),_=x((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),k=/\B([A-Z])/g,E=x((function(e){return e.replace(k,"-$1").toLowerCase()}));function S(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function A(e,t){return e.bind(t)}var F=Function.prototype.bind?A:S;function T(e,t){t=t||0;var n=e.length-t,r=new Array(n);while(n--)r[n]=e[n+t];return r}function O(e,t){for(var n in t)e[n]=t[n];return e}function N(e){for(var t={},n=0;n0,ne=Q&&Q.indexOf("edge/")>0,re=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===Z),ie=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),oe={}.watch,ae=!1;if(X)try{var se={};Object.defineProperty(se,"passive",{get:function(){ae=!0}}),window.addEventListener("test-passive",null,se)}catch(Ca){}var le=function(){return void 0===Y&&(Y=!X&&!J&&"undefined"!==typeof e&&(e["process"]&&"server"===e["process"].env.VUE_ENV)),Y},ue=X&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ce(e){return"function"===typeof e&&/native code/.test(e.toString())}var he,pe="undefined"!==typeof Symbol&&ce(Symbol)&&"undefined"!==typeof Reflect&&ce(Reflect.ownKeys);he="undefined"!==typeof Set&&ce(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var de=L,fe=0,me=function(){this.id=fe++,this.subs=[]};me.prototype.addSub=function(e){this.subs.push(e)},me.prototype.removeSub=function(e){y(this.subs,e)},me.prototype.depend=function(){me.target&&me.target.addDep(this)},me.prototype.notify=function(){var e=this.subs.slice();for(var t=0,n=e.length;t-1)if(o&&!D(i,"default"))a=!1;else if(""===a||a===E(e)){var l=et(String,i.type);(l<0||s0&&(a=St(a,(t||"")+"_"+n),Et(a[0])&&Et(u)&&(c[l]=we(u.text+a[0].text),a.shift()),c.push.apply(c,a)):s(a)?Et(u)?c[l]=we(u.text+a):""!==a&&c.push(we(a)):Et(a)&&Et(u)?c[l]=we(u.text+a.text):(o(e._isVList)&&i(a.tag)&&r(a.key)&&i(t)&&(a.key="__vlist"+t+"_"+n+"__"),c.push(a)));return c}function At(e){var t=e.$options.provide;t&&(e._provided="function"===typeof t?t.call(e):t)}function Ft(e){var t=Tt(e.$options.inject,e);t&&(Fe(!1),Object.keys(t).forEach((function(n){Be(e,n,t[n])})),Fe(!0))}function Tt(e,t){if(e){for(var n=Object.create(null),r=pe?Reflect.ownKeys(e):Object.keys(e),i=0;i0,a=e?!!e.$stable:!o,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&r&&r!==n&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var l in i={},e)e[l]&&"$"!==l[0]&&(i[l]=Bt(t,l,e[l]))}else i={};for(var u in t)u in i||(i[u]=Pt(t,u));return e&&Object.isExtensible(e)&&(e._normalized=i),W(i,"$stable",a),W(i,"$key",s),W(i,"$hasNormal",o),i}function Bt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return e=e&&"object"===typeof e&&!Array.isArray(e)?[e]:kt(e),e&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function Pt(e,t){return function(){return e[t]}}function Mt(e,t){var n,r,o,a,s;if(Array.isArray(e)||"string"===typeof e)for(n=new Array(e.length),r=0,o=e.length;r1?T(n):n;for(var r=T(arguments,1),i='event handler for "'+e+'"',o=0,a=n.length;odocument.createEvent("Event").timeStamp&&(Yn=function(){return Kn.now()})}function Xn(){var e,t;for(Gn=Yn(),Hn=!0,Rn.sort((function(e,t){return e.id-t.id})),Wn=0;WnWn&&Rn[n].id>e.id)n--;Rn.splice(n+1,0,e)}else Rn.push(e);Vn||(Vn=!0,ft(Xn))}}var tr=0,nr=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++tr,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new he,this.newDepIds=new he,this.expression="","function"===typeof t?this.getter=t:(this.getter=G(t),this.getter||(this.getter=L)),this.value=this.lazy?void 0:this.get()};nr.prototype.get=function(){var e;ve(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(Ca){if(!this.user)throw Ca;tt(Ca,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&>(e),ye(),this.cleanupDeps()}return e},nr.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},nr.prototype.cleanupDeps=function(){var e=this.deps.length;while(e--){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},nr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():er(this)},nr.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||l(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(Ca){tt(Ca,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},nr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},nr.prototype.depend=function(){var e=this.deps.length;while(e--)this.deps[e].depend()},nr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);var e=this.deps.length;while(e--)this.deps[e].removeSub(this);this.active=!1}};var rr={enumerable:!0,configurable:!0,get:L,set:L};function ir(e,t,n){rr.get=function(){return this[t][n]},rr.set=function(e){this[t][n]=e},Object.defineProperty(e,n,rr)}function or(e){e._watchers=[];var t=e.$options;t.props&&ar(e,t.props),t.methods&&fr(e,t.methods),t.data?sr(e):Le(e._data={},!0),t.computed&&cr(e,t.computed),t.watch&&t.watch!==oe&&mr(e,t.watch)}function ar(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;o||Fe(!1);var a=function(o){i.push(o);var a=Xe(o,t,n,e);Be(r,o,a),o in e||ir(e,"_props",o)};for(var s in t)a(s);Fe(!0)}function sr(e){var t=e.$options.data;t=e._data="function"===typeof t?lr(t,e):t||{},c(t)||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);while(i--){var o=n[i];0,r&&D(r,o)||H(o)||ir(e,"_data",o)}Le(t,!0)}function lr(e,t){ve();try{return e.call(t,t)}catch(Ca){return tt(Ca,t,"data()"),{}}finally{ye()}}var ur={lazy:!0};function cr(e,t){var n=e._computedWatchers=Object.create(null),r=le();for(var i in t){var o=t[i],a="function"===typeof o?o:o.get;0,r||(n[i]=new nr(e,a||L,L,ur)),i in e||hr(e,i,o)}}function hr(e,t,n){var r=!le();"function"===typeof n?(rr.get=r?pr(t):dr(n),rr.set=L):(rr.get=n.get?r&&!1!==n.cache?pr(t):dr(n.get):L,rr.set=n.set||L),Object.defineProperty(e,t,rr)}function pr(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),me.target&&t.depend(),t.value}}function dr(e){return function(){return e.call(this,this)}}function fr(e,t){e.$options.props;for(var n in t)e[n]="function"!==typeof t[n]?L:F(t[n],e)}function mr(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1)return this;var n=T(arguments,1);return n.unshift(this),"function"===typeof e.install?e.install.apply(e,n):"function"===typeof e&&e.apply(null,n),t.push(e),this}}function kr(e){e.mixin=function(e){return this.options=Ye(this.options,e),this}}function Er(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name;var a=function(e){this._init(e)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=t++,a.options=Ye(n.options,e),a["super"]=n,a.options.props&&Sr(a),a.options.computed&&Ar(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,R.forEach((function(e){a[e]=n[e]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=O({},a.options),i[r]=a,a}}function Sr(e){var t=e.options.props;for(var n in t)ir(e.prototype,"_props",n)}function Ar(e){var t=e.options.computed;for(var n in t)hr(e.prototype,n,t[n])}function Fr(e){R.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"===typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}function Tr(e){return e&&(e.Ctor.options.name||e.tag)}function Or(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"===typeof e?e.split(",").indexOf(t)>-1:!!h(e)&&e.test(t)}function Nr(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=Tr(a.componentOptions);s&&!t(s)&&Lr(n,o,r,i)}}}function Lr(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,y(n,t)}br(Cr),vr(Cr),Fn(Cr),Ln(Cr),yn(Cr);var Br=[String,RegExp,Array],Pr={name:"keep-alive",abstract:!0,props:{include:Br,exclude:Br,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Lr(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){Nr(e,(function(e){return Or(t,e)}))})),this.$watch("exclude",(function(t){Nr(e,(function(e){return!Or(t,e)}))}))},render:function(){var e=this.$slots.default,t=Cn(e),n=t&&t.componentOptions;if(n){var r=Tr(n),i=this,o=i.include,a=i.exclude;if(o&&(!r||!Or(o,r))||a&&r&&Or(a,r))return t;var s=this,l=s.cache,u=s.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;l[c]?(t.componentInstance=l[c].componentInstance,y(u,c),u.push(c)):(l[c]=t,u.push(c),this.max&&u.length>parseInt(this.max)&&Lr(l,u[0],u,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}},Mr={KeepAlive:Pr};function jr(e){var t={get:function(){return z}};Object.defineProperty(e,"config",t),e.util={warn:de,extend:O,mergeOptions:Ye,defineReactive:Be},e.set=Pe,e.delete=Me,e.nextTick=ft,e.observable=function(e){return Le(e),e},e.options=Object.create(null),R.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,O(e.options.components,Mr),_r(e),kr(e),Er(e),Fr(e)}jr(Cr),Object.defineProperty(Cr.prototype,"$isServer",{get:le}),Object.defineProperty(Cr.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Cr,"FunctionalRenderContext",{value:Jt}),Cr.version="2.6.11";var Ir=g("style,class"),$r=g("input,textarea,option,select,progress"),Rr=function(e,t,n){return"value"===n&&$r(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},qr=g("contenteditable,draggable,spellcheck"),zr=g("events,caret,typing,plaintext-only"),Vr=function(e,t){return Yr(t)||"false"===t?"false":"contenteditable"===e&&zr(t)?t:"true"},Hr=g("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Wr="http://www.w3.org/1999/xlink",Ur=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Gr=function(e){return Ur(e)?e.slice(6,e.length):""},Yr=function(e){return null==e||!1===e};function Kr(e){var t=e.data,n=e,r=e;while(i(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(t=Xr(r.data,t));while(i(n=n.parent))n&&n.data&&(t=Xr(t,n.data));return Jr(t.staticClass,t.class)}function Xr(e,t){return{staticClass:Zr(e.staticClass,t.staticClass),class:i(e.class)?[e.class,t.class]:t.class}}function Jr(e,t){return i(e)||i(t)?Zr(e,Qr(t)):""}function Zr(e,t){return e?t?e+" "+t:e:t||""}function Qr(e){return Array.isArray(e)?ei(e):l(e)?ti(e):"string"===typeof e?e:""}function ei(e){for(var t,n="",r=0,o=e.length;r-1?si[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:si[e]=/HTMLUnknownElement/.test(t.toString())}var ui=g("text,number,password,search,email,tel,url");function ci(e){if("string"===typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}function hi(e,t){var n=document.createElement(e);return"select"!==e||t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function pi(e,t){return document.createElementNS(ni[e],t)}function di(e){return document.createTextNode(e)}function fi(e){return document.createComment(e)}function mi(e,t,n){e.insertBefore(t,n)}function gi(e,t){e.removeChild(t)}function vi(e,t){e.appendChild(t)}function yi(e){return e.parentNode}function bi(e){return e.nextSibling}function Di(e){return e.tagName}function xi(e,t){e.textContent=t}function wi(e,t){e.setAttribute(t,"")}var Ci=Object.freeze({createElement:hi,createElementNS:pi,createTextNode:di,createComment:fi,insertBefore:mi,removeChild:gi,appendChild:vi,parentNode:yi,nextSibling:bi,tagName:Di,setTextContent:xi,setStyleScope:wi}),_i={create:function(e,t){ki(t)},update:function(e,t){e.data.ref!==t.data.ref&&(ki(e,!0),ki(t))},destroy:function(e){ki(e,!0)}};function ki(e,t){var n=e.data.ref;if(i(n)){var r=e.context,o=e.componentInstance||e.elm,a=r.$refs;t?Array.isArray(a[n])?y(a[n],o):a[n]===o&&(a[n]=void 0):e.data.refInFor?Array.isArray(a[n])?a[n].indexOf(o)<0&&a[n].push(o):a[n]=[o]:a[n]=o}}var Ei=new be("",{},[]),Si=["create","activate","update","remove","destroy"];function Ai(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&i(e.data)===i(t.data)&&Fi(e,t)||o(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&r(t.asyncFactory.error))}function Fi(e,t){if("input"!==e.tag)return!0;var n,r=i(n=e.data)&&i(n=n.attrs)&&n.type,o=i(n=t.data)&&i(n=n.attrs)&&n.type;return r===o||ui(r)&&ui(o)}function Ti(e,t,n){var r,o,a={};for(r=t;r<=n;++r)o=e[r].key,i(o)&&(a[o]=r);return a}function Oi(e){var t,n,a={},l=e.modules,u=e.nodeOps;for(t=0;tm?(h=r(n[y+1])?null:n[y+1].elm,C(e,h,n,f,y,o)):f>y&&k(t,p,m)}function A(e,t,n,r){for(var o=n;o-1?zi(e,t,n):Hr(t)?Yr(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):qr(t)?e.setAttribute(t,Vr(t,n)):Ur(t)?Yr(n)?e.removeAttributeNS(Wr,Gr(t)):e.setAttributeNS(Wr,t,n):zi(e,t,n)}function zi(e,t,n){if(Yr(n))e.removeAttribute(t);else{if(ee&&!te&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var Vi={create:Ri,update:Ri};function Hi(e,t){var n=t.elm,o=t.data,a=e.data;if(!(r(o.staticClass)&&r(o.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var s=Kr(t),l=n._transitionClasses;i(l)&&(s=Zr(s,Qr(l))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var Wi,Ui={create:Hi,update:Hi},Gi="__r",Yi="__c";function Ki(e){if(i(e[Gi])){var t=ee?"change":"input";e[t]=[].concat(e[Gi],e[t]||[]),delete e[Gi]}i(e[Yi])&&(e.change=[].concat(e[Yi],e.change||[]),delete e[Yi])}function Xi(e,t,n){var r=Wi;return function i(){var o=t.apply(null,arguments);null!==o&&Qi(e,i,n,r)}}var Ji=at&&!(ie&&Number(ie[1])<=53);function Zi(e,t,n,r){if(Ji){var i=Gn,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}Wi.addEventListener(e,t,ae?{capture:n,passive:r}:n)}function Qi(e,t,n,r){(r||Wi).removeEventListener(e,t._wrapper||t,n)}function eo(e,t){if(!r(e.data.on)||!r(t.data.on)){var n=t.data.on||{},i=e.data.on||{};Wi=t.elm,Ki(n),Dt(n,i,Zi,Qi,Xi,t.context),Wi=void 0}}var to,no={create:eo,update:eo};function ro(e,t){if(!r(e.data.domProps)||!r(t.data.domProps)){var n,o,a=t.elm,s=e.data.domProps||{},l=t.data.domProps||{};for(n in i(l.__ob__)&&(l=t.data.domProps=O({},l)),s)n in l||(a[n]="");for(n in l){if(o=l[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),o===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=o;var u=r(o)?"":String(o);io(a,u)&&(a.value=u)}else if("innerHTML"===n&&ii(a.tagName)&&r(a.innerHTML)){to=to||document.createElement("div"),to.innerHTML=""+o+"";var c=to.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(c.firstChild)a.appendChild(c.firstChild)}else if(o!==s[n])try{a[n]=o}catch(Ca){}}}}function io(e,t){return!e.composing&&("OPTION"===e.tagName||oo(e,t)||ao(e,t))}function oo(e,t){var n=!0;try{n=document.activeElement!==e}catch(Ca){}return n&&e.value!==t}function ao(e,t){var n=e.value,r=e._vModifiers;if(i(r)){if(r.number)return m(n)!==m(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}var so={create:ro,update:ro},lo=x((function(e){var t={},n=/;(?![^(]*\))/g,r=/:(.+)/;return e.split(n).forEach((function(e){if(e){var n=e.split(r);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}));function uo(e){var t=co(e.style);return e.staticStyle?O(e.staticStyle,t):t}function co(e){return Array.isArray(e)?N(e):"string"===typeof e?lo(e):e}function ho(e,t){var n,r={};if(t){var i=e;while(i.componentInstance)i=i.componentInstance._vnode,i&&i.data&&(n=uo(i.data))&&O(r,n)}(n=uo(e.data))&&O(r,n);var o=e;while(o=o.parent)o.data&&(n=uo(o.data))&&O(r,n);return r}var po,fo=/^--/,mo=/\s*!important$/,go=function(e,t,n){if(fo.test(t))e.style.setProperty(t,n);else if(mo.test(n))e.style.setProperty(E(t),n.replace(mo,""),"important");else{var r=yo(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(xo).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Co(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(xo).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function _o(e){if(e){if("object"===typeof e){var t={};return!1!==e.css&&O(t,ko(e.name||"v")),O(t,e),t}return"string"===typeof e?ko(e):void 0}}var ko=x((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),Eo=X&&!te,So="transition",Ao="animation",Fo="transition",To="transitionend",Oo="animation",No="animationend";Eo&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Fo="WebkitTransition",To="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Oo="WebkitAnimation",No="webkitAnimationEnd"));var Lo=X?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Bo(e){Lo((function(){Lo(e)}))}function Po(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),wo(e,t))}function Mo(e,t){e._transitionClasses&&y(e._transitionClasses,t),Co(e,t)}function jo(e,t,n){var r=$o(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===So?To:No,l=0,u=function(){e.removeEventListener(s,c),n()},c=function(t){t.target===e&&++l>=a&&u()};setTimeout((function(){l0&&(n=So,c=a,h=o.length):t===Ao?u>0&&(n=Ao,c=u,h=l.length):(c=Math.max(a,u),n=c>0?a>u?So:Ao:null,h=n?n===So?o.length:l.length:0);var p=n===So&&Io.test(r[Fo+"Property"]);return{type:n,timeout:c,propCount:h,hasTransform:p}}function Ro(e,t){while(e.length1}function Uo(e,t){!0!==t.data.show&&zo(t)}var Go=X?{create:Uo,activate:Uo,remove:function(e,t){!0!==e.data.show?Vo(e,t):t()}}:{},Yo=[Vi,Ui,no,so,Do,Go],Ko=Yo.concat($i),Xo=Oi({nodeOps:Ci,modules:Ko});te&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&ia(e,"input")}));var Jo={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?xt(n,"postpatch",(function(){Jo.componentUpdated(e,t,n)})):Zo(e,t,n.context),e._vOptions=[].map.call(e.options,ta)):("textarea"===n.tag||ui(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",na),e.addEventListener("compositionend",ra),e.addEventListener("change",ra),te&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Zo(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,ta);if(i.some((function(e,t){return!M(e,r[t])}))){var o=e.multiple?t.value.some((function(e){return ea(e,i)})):t.value!==t.oldValue&&ea(t.value,i);o&&ia(e,"change")}}}};function Zo(e,t,n){Qo(e,t,n),(ee||ne)&&setTimeout((function(){Qo(e,t,n)}),0)}function Qo(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,l=e.options.length;s-1,a.selected!==o&&(a.selected=o);else if(M(ta(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function ea(e,t){return t.every((function(t){return!M(t,e)}))}function ta(e){return"_value"in e?e._value:e.value}function na(e){e.target.composing=!0}function ra(e){e.target.composing&&(e.target.composing=!1,ia(e.target,"input"))}function ia(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function oa(e){return!e.componentInstance||e.data&&e.data.transition?e:oa(e.componentInstance._vnode)}var aa={bind:function(e,t,n){var r=t.value;n=oa(n);var i=n.data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,zo(n,(function(){e.style.display=o}))):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value,i=t.oldValue;if(!r!==!i){n=oa(n);var o=n.data&&n.data.transition;o?(n.data.show=!0,r?zo(n,(function(){e.style.display=e.__vOriginalDisplay})):Vo(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none"}},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}},sa={model:Jo,show:aa},la={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ua(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?ua(Cn(t.children)):e}function ca(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[C(o)]=i[o];return t}function ha(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function pa(e){while(e=e.parent)if(e.data.transition)return!0}function da(e,t){return t.key===e.key&&t.tag===e.tag}var fa=function(e){return e.tag||wn(e)},ma=function(e){return"show"===e.name},ga={name:"transition",props:la,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(fa),n.length)){0;var r=this.mode;0;var i=n[0];if(pa(this.$vnode))return i;var o=ua(i);if(!o)return i;if(this._leaving)return ha(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var l=(o.data||(o.data={})).transition=ca(this),u=this._vnode,c=ua(u);if(o.data.directives&&o.data.directives.some(ma)&&(o.data.show=!0),c&&c.data&&!da(o,c)&&!wn(c)&&(!c.componentInstance||!c.componentInstance._vnode.isComment)){var h=c.data.transition=O({},l);if("out-in"===r)return this._leaving=!0,xt(h,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),ha(e,i);if("in-out"===r){if(wn(o))return u;var p,d=function(){p()};xt(l,"afterEnter",d),xt(l,"enterCancelled",d),xt(h,"delayLeave",(function(e){p=e}))}}return i}}},va=O({tag:String,moveClass:String},la);delete va.mode;var ya={props:va,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=On(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=ca(this),s=0;s4)return e;for(n=[],r=0;r1&&"0"==i.charAt(0)&&(o=L.test(i)?16:8,i=i.slice(8==o?1:2)),""===i)a=0;else{if(!(10==o?P:8==o?B:M).test(i))return e;a=parseInt(i,o)}n.push(a)}for(r=0;r=k(256,5-t))return null}else if(a>255)return null;for(s=n.pop(),r=0;r6)return;r=0;while(p()){if(i=null,r>0){if(!("."==p()&&r<4))return;h++}if(!N.test(p()))return;while(N.test(p())){if(o=parseInt(p(),10),null===i)i=o;else{if(0==i)return;i=10*i+o}if(i>255)return;h++}l[u]=256*l[u]+i,r++,2!=r&&4!=r||u++}if(4!=r)return;break}if(":"==p()){if(h++,!p())return}else if(p())return;l[u++]=t}else{if(null!==c)return;h++,u++,c=u}}if(null!==c){a=u-c,u=7;while(0!=u&&a>0)s=l[u],l[u--]=l[c+a-1],l[c+--a]=s}else if(8!=u)return;return l},H=function(e){for(var t=null,n=1,r=null,i=0,o=0;o<8;o++)0!==e[o]?(i>n&&(t=r,n=i),r=null,i=0):(null===r&&(r=o),++i);return i>n&&(t=r,n=i),t},W=function(e){var t,n,r,i;if("number"==typeof e){for(t=[],n=0;n<4;n++)t.unshift(e%256),e=_(e/256);return t.join(".")}if("object"==typeof e){for(t="",r=H(e),n=0;n<8;n++)i&&0===e[n]||(i&&(i=!1),r===n?(t+=n?":":"::",i=!0):(t+=e[n].toString(16),n<7&&(t+=":")));return"["+t+"]"}return e},U={},G=p({},U,{" ":1,'"':1,"<":1,">":1,"`":1}),Y=p({},G,{"#":1,"?":1,"{":1,"}":1}),K=p({},Y,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),X=function(e,t){var n=f(e,0);return n>32&&n<127&&!h(t,e)?e:encodeURIComponent(e)},J={ftp:21,file:null,http:80,https:443,ws:80,wss:443},Z=function(e){return h(J,e.scheme)},Q=function(e){return""!=e.username||""!=e.password},ee=function(e){return!e.host||e.cannotBeABaseURL||"file"==e.scheme},te=function(e,t){var n;return 2==e.length&&T.test(e.charAt(0))&&(":"==(n=e.charAt(1))||!t&&"|"==n)},ne=function(e){var t;return e.length>1&&te(e.slice(0,2))&&(2==e.length||"/"===(t=e.charAt(2))||"\\"===t||"?"===t||"#"===t)},re=function(e){var t=e.path,n=t.length;!n||"file"==e.scheme&&1==n&&te(t[0],!0)||t.pop()},ie=function(e){return"."===e||"%2e"===e.toLowerCase()},oe=function(e){return e=e.toLowerCase(),".."===e||"%2e."===e||".%2e"===e||"%2e%2e"===e},ae={},se={},le={},ue={},ce={},he={},pe={},de={},fe={},me={},ge={},ve={},ye={},be={},De={},xe={},we={},Ce={},_e={},ke={},Ee={},Se=function(e,t,n,i){var o,a,s,l,u=n||ae,c=0,p="",f=!1,m=!1,g=!1;n||(e.scheme="",e.username="",e.password="",e.host=null,e.port=null,e.path=[],e.query=null,e.fragment=null,e.cannotBeABaseURL=!1,t=t.replace($,"")),t=t.replace(R,""),o=d(t);while(c<=o.length){switch(a=o[c],u){case ae:if(!a||!T.test(a)){if(n)return S;u=le;continue}p+=a.toLowerCase(),u=se;break;case se:if(a&&(O.test(a)||"+"==a||"-"==a||"."==a))p+=a.toLowerCase();else{if(":"!=a){if(n)return S;p="",u=le,c=0;continue}if(n&&(Z(e)!=h(J,p)||"file"==p&&(Q(e)||null!==e.port)||"file"==e.scheme&&!e.host))return;if(e.scheme=p,n)return void(Z(e)&&J[e.scheme]==e.port&&(e.port=null));p="","file"==e.scheme?u=be:Z(e)&&i&&i.scheme==e.scheme?u=ue:Z(e)?u=de:"/"==o[c+1]?(u=ce,c++):(e.cannotBeABaseURL=!0,e.path.push(""),u=_e)}break;case le:if(!i||i.cannotBeABaseURL&&"#"!=a)return S;if(i.cannotBeABaseURL&&"#"==a){e.scheme=i.scheme,e.path=i.path.slice(),e.query=i.query,e.fragment="",e.cannotBeABaseURL=!0,u=Ee;break}u="file"==i.scheme?be:he;continue;case ue:if("/"!=a||"/"!=o[c+1]){u=he;continue}u=fe,c++;break;case ce:if("/"==a){u=me;break}u=Ce;continue;case he:if(e.scheme=i.scheme,a==r)e.username=i.username,e.password=i.password,e.host=i.host,e.port=i.port,e.path=i.path.slice(),e.query=i.query;else if("/"==a||"\\"==a&&Z(e))u=pe;else if("?"==a)e.username=i.username,e.password=i.password,e.host=i.host,e.port=i.port,e.path=i.path.slice(),e.query="",u=ke;else{if("#"!=a){e.username=i.username,e.password=i.password,e.host=i.host,e.port=i.port,e.path=i.path.slice(),e.path.pop(),u=Ce;continue}e.username=i.username,e.password=i.password,e.host=i.host,e.port=i.port,e.path=i.path.slice(),e.query=i.query,e.fragment="",u=Ee}break;case pe:if(!Z(e)||"/"!=a&&"\\"!=a){if("/"!=a){e.username=i.username,e.password=i.password,e.host=i.host,e.port=i.port,u=Ce;continue}u=me}else u=fe;break;case de:if(u=fe,"/"!=a||"/"!=p.charAt(c+1))continue;c++;break;case fe:if("/"!=a&&"\\"!=a){u=me;continue}break;case me:if("@"==a){f&&(p="%40"+p),f=!0,s=d(p);for(var v=0;v65535)return F;e.port=Z(e)&&D===J[e.scheme]?null:D,p=""}if(n)return;u=we;continue}return F}p+=a;break;case be:if(e.scheme="file","/"==a||"\\"==a)u=De;else{if(!i||"file"!=i.scheme){u=Ce;continue}if(a==r)e.host=i.host,e.path=i.path.slice(),e.query=i.query;else if("?"==a)e.host=i.host,e.path=i.path.slice(),e.query="",u=ke;else{if("#"!=a){ne(o.slice(c).join(""))||(e.host=i.host,e.path=i.path.slice(),re(e)),u=Ce;continue}e.host=i.host,e.path=i.path.slice(),e.query=i.query,e.fragment="",u=Ee}}break;case De:if("/"==a||"\\"==a){u=xe;break}i&&"file"==i.scheme&&!ne(o.slice(c).join(""))&&(te(i.path[0],!0)?e.path.push(i.path[0]):e.host=i.host),u=Ce;continue;case xe:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!n&&te(p))u=Ce;else if(""==p){if(e.host="",n)return;u=we}else{if(l=q(e,p),l)return l;if("localhost"==e.host&&(e.host=""),n)return;p="",u=we}continue}p+=a;break;case we:if(Z(e)){if(u=Ce,"/"!=a&&"\\"!=a)continue}else if(n||"?"!=a)if(n||"#"!=a){if(a!=r&&(u=Ce,"/"!=a))continue}else e.fragment="",u=Ee;else e.query="",u=ke;break;case Ce:if(a==r||"/"==a||"\\"==a&&Z(e)||!n&&("?"==a||"#"==a)){if(oe(p)?(re(e),"/"==a||"\\"==a&&Z(e)||e.path.push("")):ie(p)?"/"==a||"\\"==a&&Z(e)||e.path.push(""):("file"==e.scheme&&!e.path.length&&te(p)&&(e.host&&(e.host=""),p=p.charAt(0)+":"),e.path.push(p)),p="","file"==e.scheme&&(a==r||"?"==a||"#"==a))while(e.path.length>1&&""===e.path[0])e.path.shift();"?"==a?(e.query="",u=ke):"#"==a&&(e.fragment="",u=Ee)}else p+=X(a,Y);break;case _e:"?"==a?(e.query="",u=ke):"#"==a?(e.fragment="",u=Ee):a!=r&&(e.path[0]+=X(a,U));break;case ke:n||"#"!=a?a!=r&&("'"==a&&Z(e)?e.query+="%27":e.query+="#"==a?"%23":X(a,U)):(e.fragment="",u=Ee);break;case Ee:a!=r&&(e.fragment+=X(a,G));break}c++}},Ae=function(e){var t,n,r=c(this,Ae,"URL"),i=arguments.length>1?arguments[1]:void 0,a=String(e),s=w(r,{type:"URL"});if(void 0!==i)if(i instanceof Ae)t=C(i);else if(n=Se(t={},String(i)),n)throw TypeError(n);if(n=Se(s,a,null,t),n)throw TypeError(n);var l=s.searchParams=new D,u=x(l);u.updateSearchParams(s.query),u.updateURL=function(){s.query=String(l)||null},o||(r.href=Te.call(r),r.origin=Oe.call(r),r.protocol=Ne.call(r),r.username=Le.call(r),r.password=Be.call(r),r.host=Pe.call(r),r.hostname=Me.call(r),r.port=je.call(r),r.pathname=Ie.call(r),r.search=$e.call(r),r.searchParams=Re.call(r),r.hash=qe.call(r))},Fe=Ae.prototype,Te=function(){var e=C(this),t=e.scheme,n=e.username,r=e.password,i=e.host,o=e.port,a=e.path,s=e.query,l=e.fragment,u=t+":";return null!==i?(u+="//",Q(e)&&(u+=n+(r?":"+r:"")+"@"),u+=W(i),null!==o&&(u+=":"+o)):"file"==t&&(u+="//"),u+=e.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==s&&(u+="?"+s),null!==l&&(u+="#"+l),u},Oe=function(){var e=C(this),t=e.scheme,n=e.port;if("blob"==t)try{return new URL(t.path[0]).origin}catch(r){return"null"}return"file"!=t&&Z(e)?t+"://"+W(e.host)+(null!==n?":"+n:""):"null"},Ne=function(){return C(this).scheme+":"},Le=function(){return C(this).username},Be=function(){return C(this).password},Pe=function(){var e=C(this),t=e.host,n=e.port;return null===t?"":null===n?W(t):W(t)+":"+n},Me=function(){var e=C(this).host;return null===e?"":W(e)},je=function(){var e=C(this).port;return null===e?"":String(e)},Ie=function(){var e=C(this),t=e.path;return e.cannotBeABaseURL?t[0]:t.length?"/"+t.join("/"):""},$e=function(){var e=C(this).query;return e?"?"+e:""},Re=function(){return C(this).searchParams},qe=function(){var e=C(this).fragment;return e?"#"+e:""},ze=function(e,t){return{get:e,set:t,configurable:!0,enumerable:!0}};if(o&&l(Fe,{href:ze(Te,(function(e){var t=C(this),n=String(e),r=Se(t,n);if(r)throw TypeError(r);x(t.searchParams).updateSearchParams(t.query)})),origin:ze(Oe),protocol:ze(Ne,(function(e){var t=C(this);Se(t,String(e)+":",ae)})),username:ze(Le,(function(e){var t=C(this),n=d(String(e));if(!ee(t)){t.username="";for(var r=0;rn)t.push(arguments[n++]);return D[++b]=function(){("function"==typeof e?e:Function(e)).apply(void 0,t)},r(b),b},m=function(e){delete D[e]},"process"==l(g)?r=function(e){g.nextTick(C(e))}:y&&y.now?r=function(e){y.now(C(e))}:v&&!p?(i=new v,o=i.port2,i.port1.onmessage=_,r=u(o.postMessage,o,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||s(k)||"file:"===d.protocol?r=x in h("script")?function(e){c.appendChild(h("script"))[x]=function(){c.removeChild(this),w(e)}}:function(e){setTimeout(C(e),0)}:(r=k,a.addEventListener("message",_,!1))),e.exports={set:f,clear:m}},"2d00":function(e,t,n){var r,i,o=n("da84"),a=n("342f"),s=o.process,l=s&&s.versions,u=l&&l.v8;u?(r=u.split("."),i=r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(i=r[1]))),e.exports=i&&+i},"2d83":function(e,t,n){"use strict";var r=n("387f");e.exports=function(e,t,n,i,o){var a=new Error(e);return r(a,t,n,i,o)}},"2e67":function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},"2e90":function(e,t,n){e.exports=p,e.exports.compileUnsafe=f,e.exports.compileToken=x;var r=n("5bfe"),i=n("0f94"),o=i.isTag,a=n("fce4"),s=n("50ea"),l=n("99e4"),u=l.trueFunc,c=l.falseFunc,h=n("e700");function p(e,t,n){var r=f(e,t,n);return d(r)}function d(e){return function(t){return o(t)&&e(t)}}function f(e,t,n){var i=r(e,t);return x(i,t,n)}function m(e){return"pseudo"===e.type&&("scope"===e.name||Array.isArray(e.data)&&e.data.some((function(e){return e.some(m)})))}var g={type:"descendant"},v={type:"pseudo",name:"scope"},y={},b=i.getParent;function D(e,t){var n=!!t&&!!t.length&&t.every((function(e){return e===y||!!b(e)}));e.forEach((function(e){if(e.length>0&&w(e[0])&&"descendant"!==e[0].type);else{if(!n||m(e))return;e.unshift(g)}e.unshift(v)}))}function x(e,t,n){e=e.filter((function(e){return e.length>0})),e.forEach(s);var r=Array.isArray(n);return n=t&&t.context||n,n&&!r&&(n=[n]),D(e,n),e.map((function(e){return C(e,t,n,r)})).reduce(_,c)}function w(e){return h[e.type]<0}function C(e,t,n,r){var i=r&&"scope"===e[0].name&&"descendant"===e[1].type;return e.reduce((function(e,r,o){return e===c?e:a[r.type](e,r,t,n,i&&1===o)}),t&&t.rootFunc||u)}function _(e,t){return t===c||e===u?e:e===c||t===u?t:function(n){return e(n)||t(n)}}var k=n("9ebc"),E=k.filters,S=i.existsOne,A=(o=i.isTag,i.getChildren);function F(e){return e.some(w)}E.not=function(e,t,n,r){var i={xmlMode:!(!n||!n.xmlMode),strict:!(!n||!n.strict)};if(i.strict&&(t.length>1||t.some(F)))throw new SyntaxError("complex selectors in :not aren't allowed in strict mode");var o=x(t,i,r);return o===c?e:o===u?c:function(t){return!o(t)&&e(t)}},E.has=function(e,t,n){var r={xmlMode:!(!n||!n.xmlMode),strict:!(!n||!n.strict)},i=t.some(F)?[y]:null,a=x(t,r,i);return a===c?c:a===u?function(t){return A(t).some(o)&&e(t)}:(a=d(a),i?function(t){return e(t)&&(i[0]=t,S(a,A(t)))}:function(t){return e(t)&&S(a,A(t))})},E.matches=function(e,t,n,r){var i={xmlMode:!(!n||!n.xmlMode),strict:!(!n||!n.strict),rootFunc:e};return x(t,i,r)}},"2f62":function(e,t,n){"use strict";(function(e){ +/*! + * vuex v3.5.1 + * (c) 2020 Evan You + * @license MIT + */ +function r(e){var t=Number(e.version.split(".")[0]);if(t>=2)e.mixin({beforeCreate:r});else{var n=e.prototype._init;e.prototype._init=function(e){void 0===e&&(e={}),e.init=e.init?[r].concat(e.init):r,n.call(this,e)}}function r(){var e=this.$options;e.store?this.$store="function"===typeof e.store?e.store():e.store:e.parent&&e.parent.$store&&(this.$store=e.parent.$store)}}n.d(t,"b",(function(){return B})),n.d(t,"c",(function(){return L}));var i="undefined"!==typeof window?window:"undefined"!==typeof e?e:{},o=i.__VUE_DEVTOOLS_GLOBAL_HOOK__;function a(e){o&&(e._devtoolHook=o,o.emit("vuex:init",e),o.on("vuex:travel-to-state",(function(t){e.replaceState(t)})),e.subscribe((function(e,t){o.emit("vuex:mutation",e,t)}),{prepend:!0}),e.subscribeAction((function(e,t){o.emit("vuex:action",e,t)}),{prepend:!0}))}function s(e,t){return e.filter(t)[0]}function l(e,t){if(void 0===t&&(t=[]),null===e||"object"!==typeof e)return e;var n=s(t,(function(t){return t.original===e}));if(n)return n.copy;var r=Array.isArray(e)?[]:{};return t.push({original:e,copy:r}),Object.keys(e).forEach((function(n){r[n]=l(e[n],t)})),r}function u(e,t){Object.keys(e).forEach((function(n){return t(e[n],n)}))}function c(e){return null!==e&&"object"===typeof e}function h(e){return e&&"function"===typeof e.then}function p(e,t){return function(){return e(t)}}var d=function(e,t){this.runtime=t,this._children=Object.create(null),this._rawModule=e;var n=e.state;this.state=("function"===typeof n?n():n)||{}},f={namespaced:{configurable:!0}};f.namespaced.get=function(){return!!this._rawModule.namespaced},d.prototype.addChild=function(e,t){this._children[e]=t},d.prototype.removeChild=function(e){delete this._children[e]},d.prototype.getChild=function(e){return this._children[e]},d.prototype.hasChild=function(e){return e in this._children},d.prototype.update=function(e){this._rawModule.namespaced=e.namespaced,e.actions&&(this._rawModule.actions=e.actions),e.mutations&&(this._rawModule.mutations=e.mutations),e.getters&&(this._rawModule.getters=e.getters)},d.prototype.forEachChild=function(e){u(this._children,e)},d.prototype.forEachGetter=function(e){this._rawModule.getters&&u(this._rawModule.getters,e)},d.prototype.forEachAction=function(e){this._rawModule.actions&&u(this._rawModule.actions,e)},d.prototype.forEachMutation=function(e){this._rawModule.mutations&&u(this._rawModule.mutations,e)},Object.defineProperties(d.prototype,f);var m=function(e){this.register([],e,!1)};function g(e,t,n){if(t.update(n),n.modules)for(var r in n.modules){if(!t.getChild(r))return void 0;g(e.concat(r),t.getChild(r),n.modules[r])}}m.prototype.get=function(e){return e.reduce((function(e,t){return e.getChild(t)}),this.root)},m.prototype.getNamespace=function(e){var t=this.root;return e.reduce((function(e,n){return t=t.getChild(n),e+(t.namespaced?n+"/":"")}),"")},m.prototype.update=function(e){g([],this.root,e)},m.prototype.register=function(e,t,n){var r=this;void 0===n&&(n=!0);var i=new d(t,n);if(0===e.length)this.root=i;else{var o=this.get(e.slice(0,-1));o.addChild(e[e.length-1],i)}t.modules&&u(t.modules,(function(t,i){r.register(e.concat(i),t,n)}))},m.prototype.unregister=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1],r=t.getChild(n);r&&r.runtime&&t.removeChild(n)},m.prototype.isRegistered=function(e){var t=this.get(e.slice(0,-1)),n=e[e.length-1];return t.hasChild(n)};var v;var y=function(e){var t=this;void 0===e&&(e={}),!v&&"undefined"!==typeof window&&window.Vue&&N(window.Vue);var n=e.plugins;void 0===n&&(n=[]);var r=e.strict;void 0===r&&(r=!1),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new m(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new v,this._makeLocalGettersCache=Object.create(null);var i=this,o=this,s=o.dispatch,l=o.commit;this.dispatch=function(e,t){return s.call(i,e,t)},this.commit=function(e,t,n){return l.call(i,e,t,n)},this.strict=r;var u=this._modules.root.state;C(this,u,[],this._modules.root),w(this,u),n.forEach((function(e){return e(t)}));var c=void 0!==e.devtools?e.devtools:v.config.devtools;c&&a(this)},b={state:{configurable:!0}};function D(e,t,n){return t.indexOf(e)<0&&(n&&n.prepend?t.unshift(e):t.push(e)),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function x(e,t){e._actions=Object.create(null),e._mutations=Object.create(null),e._wrappedGetters=Object.create(null),e._modulesNamespaceMap=Object.create(null);var n=e.state;C(e,n,[],e._modules.root,!0),w(e,n,t)}function w(e,t,n){var r=e._vm;e.getters={},e._makeLocalGettersCache=Object.create(null);var i=e._wrappedGetters,o={};u(i,(function(t,n){o[n]=p(t,e),Object.defineProperty(e.getters,n,{get:function(){return e._vm[n]},enumerable:!0})}));var a=v.config.silent;v.config.silent=!0,e._vm=new v({data:{$$state:t},computed:o}),v.config.silent=a,e.strict&&F(e),r&&(n&&e._withCommit((function(){r._data.$$state=null})),v.nextTick((function(){return r.$destroy()})))}function C(e,t,n,r,i){var o=!n.length,a=e._modules.getNamespace(n);if(r.namespaced&&(e._modulesNamespaceMap[a],e._modulesNamespaceMap[a]=r),!o&&!i){var s=T(t,n.slice(0,-1)),l=n[n.length-1];e._withCommit((function(){v.set(s,l,r.state)}))}var u=r.context=_(e,a,n);r.forEachMutation((function(t,n){var r=a+n;E(e,r,t,u)})),r.forEachAction((function(t,n){var r=t.root?n:a+n,i=t.handler||t;S(e,r,i,u)})),r.forEachGetter((function(t,n){var r=a+n;A(e,r,t,u)})),r.forEachChild((function(r,o){C(e,t,n.concat(o),r,i)}))}function _(e,t,n){var r=""===t,i={dispatch:r?e.dispatch:function(n,r,i){var o=O(n,r,i),a=o.payload,s=o.options,l=o.type;return s&&s.root||(l=t+l),e.dispatch(l,a)},commit:r?e.commit:function(n,r,i){var o=O(n,r,i),a=o.payload,s=o.options,l=o.type;s&&s.root||(l=t+l),e.commit(l,a,s)}};return Object.defineProperties(i,{getters:{get:r?function(){return e.getters}:function(){return k(e,t)}},state:{get:function(){return T(e.state,n)}}}),i}function k(e,t){if(!e._makeLocalGettersCache[t]){var n={},r=t.length;Object.keys(e.getters).forEach((function(i){if(i.slice(0,r)===t){var o=i.slice(r);Object.defineProperty(n,o,{get:function(){return e.getters[i]},enumerable:!0})}})),e._makeLocalGettersCache[t]=n}return e._makeLocalGettersCache[t]}function E(e,t,n,r){var i=e._mutations[t]||(e._mutations[t]=[]);i.push((function(t){n.call(e,r.state,t)}))}function S(e,t,n,r){var i=e._actions[t]||(e._actions[t]=[]);i.push((function(t){var i=n.call(e,{dispatch:r.dispatch,commit:r.commit,getters:r.getters,state:r.state,rootGetters:e.getters,rootState:e.state},t);return h(i)||(i=Promise.resolve(i)),e._devtoolHook?i.catch((function(t){throw e._devtoolHook.emit("vuex:error",t),t})):i}))}function A(e,t,n,r){e._wrappedGetters[t]||(e._wrappedGetters[t]=function(e){return n(r.state,r.getters,e.state,e.getters)})}function F(e){e._vm.$watch((function(){return this._data.$$state}),(function(){0}),{deep:!0,sync:!0})}function T(e,t){return t.reduce((function(e,t){return e[t]}),e)}function O(e,t,n){return c(e)&&e.type&&(n=t,t=e,e=e.type),{type:e,payload:t,options:n}}function N(e){v&&e===v||(v=e,r(v))}b.state.get=function(){return this._vm._data.$$state},b.state.set=function(e){0},y.prototype.commit=function(e,t,n){var r=this,i=O(e,t,n),o=i.type,a=i.payload,s=(i.options,{type:o,payload:a}),l=this._mutations[o];l&&(this._withCommit((function(){l.forEach((function(e){e(a)}))})),this._subscribers.slice().forEach((function(e){return e(s,r.state)})))},y.prototype.dispatch=function(e,t){var n=this,r=O(e,t),i=r.type,o=r.payload,a={type:i,payload:o},s=this._actions[i];if(s){try{this._actionSubscribers.slice().filter((function(e){return e.before})).forEach((function(e){return e.before(a,n.state)}))}catch(u){0}var l=s.length>1?Promise.all(s.map((function(e){return e(o)}))):s[0](o);return new Promise((function(e,t){l.then((function(t){try{n._actionSubscribers.filter((function(e){return e.after})).forEach((function(e){return e.after(a,n.state)}))}catch(u){0}e(t)}),(function(e){try{n._actionSubscribers.filter((function(e){return e.error})).forEach((function(t){return t.error(a,n.state,e)}))}catch(u){0}t(e)}))}))}},y.prototype.subscribe=function(e,t){return D(e,this._subscribers,t)},y.prototype.subscribeAction=function(e,t){var n="function"===typeof e?{before:e}:e;return D(n,this._actionSubscribers,t)},y.prototype.watch=function(e,t,n){var r=this;return this._watcherVM.$watch((function(){return e(r.state,r.getters)}),t,n)},y.prototype.replaceState=function(e){var t=this;this._withCommit((function(){t._vm._data.$$state=e}))},y.prototype.registerModule=function(e,t,n){void 0===n&&(n={}),"string"===typeof e&&(e=[e]),this._modules.register(e,t),C(this,this.state,e,this._modules.get(e),n.preserveState),w(this,this.state)},y.prototype.unregisterModule=function(e){var t=this;"string"===typeof e&&(e=[e]),this._modules.unregister(e),this._withCommit((function(){var n=T(t.state,e.slice(0,-1));v.delete(n,e[e.length-1])})),x(this)},y.prototype.hasModule=function(e){return"string"===typeof e&&(e=[e]),this._modules.isRegistered(e)},y.prototype.hotUpdate=function(e){this._modules.update(e),x(this,!0)},y.prototype._withCommit=function(e){var t=this._committing;this._committing=!0,e(),this._committing=t},Object.defineProperties(y.prototype,b);var L=R((function(e,t){var n={};return I(t).forEach((function(t){var r=t.key,i=t.val;n[r]=function(){var t=this.$store.state,n=this.$store.getters;if(e){var r=q(this.$store,"mapState",e);if(!r)return;t=r.context.state,n=r.context.getters}return"function"===typeof i?i.call(this,t,n):t[i]},n[r].vuex=!0})),n})),B=R((function(e,t){var n={};return I(t).forEach((function(t){var r=t.key,i=t.val;n[r]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var r=this.$store.commit;if(e){var o=q(this.$store,"mapMutations",e);if(!o)return;r=o.context.commit}return"function"===typeof i?i.apply(this,[r].concat(t)):r.apply(this.$store,[i].concat(t))}})),n})),P=R((function(e,t){var n={};return I(t).forEach((function(t){var r=t.key,i=t.val;i=e+i,n[r]=function(){if(!e||q(this.$store,"mapGetters",e))return this.$store.getters[i]},n[r].vuex=!0})),n})),M=R((function(e,t){var n={};return I(t).forEach((function(t){var r=t.key,i=t.val;n[r]=function(){var t=[],n=arguments.length;while(n--)t[n]=arguments[n];var r=this.$store.dispatch;if(e){var o=q(this.$store,"mapActions",e);if(!o)return;r=o.context.dispatch}return"function"===typeof i?i.apply(this,[r].concat(t)):r.apply(this.$store,[i].concat(t))}})),n})),j=function(e){return{mapState:L.bind(null,e),mapGetters:P.bind(null,e),mapMutations:B.bind(null,e),mapActions:M.bind(null,e)}};function I(e){return $(e)?Array.isArray(e)?e.map((function(e){return{key:e,val:e}})):Object.keys(e).map((function(t){return{key:t,val:e[t]}})):[]}function $(e){return Array.isArray(e)||c(e)}function R(e){return function(t,n){return"string"!==typeof t?(n=t,t=""):"/"!==t.charAt(t.length-1)&&(t+="/"),e(t,n)}}function q(e,t,n){var r=e._modulesNamespaceMap[n];return r}function z(e){void 0===e&&(e={});var t=e.collapsed;void 0===t&&(t=!0);var n=e.filter;void 0===n&&(n=function(e,t,n){return!0});var r=e.transformer;void 0===r&&(r=function(e){return e});var i=e.mutationTransformer;void 0===i&&(i=function(e){return e});var o=e.actionFilter;void 0===o&&(o=function(e,t){return!0});var a=e.actionTransformer;void 0===a&&(a=function(e){return e});var s=e.logMutations;void 0===s&&(s=!0);var u=e.logActions;void 0===u&&(u=!0);var c=e.logger;return void 0===c&&(c=console),function(e){var h=l(e.state);"undefined"!==typeof c&&(s&&e.subscribe((function(e,o){var a=l(o);if(n(e,h,a)){var s=W(),u=i(e),p="mutation "+e.type+s;V(c,p,t),c.log("%c prev state","color: #9E9E9E; font-weight: bold",r(h)),c.log("%c mutation","color: #03A9F4; font-weight: bold",u),c.log("%c next state","color: #4CAF50; font-weight: bold",r(a)),H(c)}h=a})),u&&e.subscribeAction((function(e,n){if(o(e,n)){var r=W(),i=a(e),s="action "+e.type+r;V(c,s,t),c.log("%c action","color: #03A9F4; font-weight: bold",i),H(c)}})))}}function V(e,t,n){var r=n?e.groupCollapsed:e.group;try{r.call(e,t)}catch(i){e.log(t)}}function H(e){try{e.groupEnd()}catch(t){e.log("—— log end ——")}}function W(){var e=new Date;return" @ "+G(e.getHours(),2)+":"+G(e.getMinutes(),2)+":"+G(e.getSeconds(),2)+"."+G(e.getMilliseconds(),3)}function U(e,t){return new Array(t+1).join(e)}function G(e,t){return U("0",t-e.toString().length)+e}var Y={Store:y,install:N,version:"3.5.1",mapState:L,mapMutations:B,mapGetters:P,mapActions:M,createNamespacedHelpers:j,createLogger:z};t["a"]=Y}).call(this,n("c8ba"))},"2f9a":function(e,t){e.exports=function(){}},"2fb4":function(e,t,n){(function(t){var n=9007199254740991,r="[object Arguments]",i="[object Function]",o="[object GeneratorFunction]",a="object"==typeof t&&t&&t.Object===Object&&t,s="object"==typeof self&&self&&self.Object===Object&&self,l=a||s||Function("return this")();function u(e,t){var n=-1,r=t.length,i=e.length;while(++n0&&n(s)?t>1?g(s,t-1,n,r,i):u(i,s):r||(i[i.length]=s)}return i}function v(e){return D(e)||b(e)||!!(m&&e&&e[m])}function y(e){var t=e?e.length:0;return t?g(e,1):[]}function b(e){return w(e)&&h.call(e,"callee")&&(!f.call(e,"callee")||p.call(e)==r)}var D=Array.isArray;function x(e){return null!=e&&_(e.length)&&!C(e)}function w(e){return E(e)&&x(e)}function C(e){var t=k(e)?p.call(e):"";return t==i||t==o}function _(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}function k(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function E(e){return!!e&&"object"==typeof e}e.exports=y}).call(this,n("c8ba"))},"301c":function(e,t,n){n("e198")("asyncIterator")},"30b5":function(e,t,n){"use strict";var r=n("c532");function i(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var o;if(n)o=n(t);else if(r.isURLSearchParams(t))o=t.toString();else{var a=[];r.forEach(t,(function(e,t){null!==e&&"undefined"!==typeof e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,(function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),a.push(i(t)+"="+i(e))})))})),o=a.join("&")}if(o){var s=e.indexOf("#");-1!==s&&(e=e.slice(0,s)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}},"31c5":function(e,t,n){(function(e){e(n("56b3"))})((function(e){"use strict";var t="CodeMirror-activeline",n="CodeMirror-activeline-background",r="CodeMirror-activeline-gutter";function i(e){for(var i=0;i=10.13.0"},h={"@angular/compiler":"9.0.5","@babel/code-frame":"7.8.0","@babel/parser":"7.9.4","@glimmer/syntax":"0.50.0","@iarna/toml":"2.2.3","@typescript-eslint/typescript-estree":"2.26.0","angular-estree-parser":"1.3.0","angular-html-parser":"1.4.0",camelcase:"5.3.1",chalk:"4.0.0","ci-info":"watson/ci-info#f43f6a1cefff47fb361c88cf4b943fdbcaafe540","cjk-regex":"2.0.0",cosmiconfig:"6.0.0",dashify:"2.0.0",dedent:"0.7.0",diff:"4.0.2",editorconfig:"0.15.3","editorconfig-to-prettier":"0.1.1","escape-string-regexp":"2.0.0",esutils:"2.0.3","fast-glob":"3.2.2","find-parent-dir":"0.3.0","find-project-root":"1.1.1","flow-parser":"0.122.0","get-stream":"5.1.0",globby:"11.0.0",graphql:"15.0.0","html-element-attributes":"2.2.1","html-styles":"1.0.0","html-tag-names":"1.1.5",ignore:"4.0.6","jest-docblock":"25.2.6","json-stable-stringify":"1.0.1",leven:"3.1.0","lines-and-columns":"1.1.6","linguist-languages":"7.9.0",lodash:"4.17.15",mem:"6.0.1",minimatch:"3.0.4",minimist:"1.2.5","n-readlines":"1.0.0","please-upgrade-node":"3.2.0","postcss-less":"3.1.4","postcss-media-query-parser":"0.2.3","postcss-scss":"2.0.0","postcss-selector-parser":"2.2.3","postcss-values-parser":"2.0.1","regexp-util":"1.2.2","remark-math":"1.0.6","remark-parse":"5.0.0",resolve:"1.16.1",semver:"7.1.3",srcset:"2.0.1","string-width":"4.2.0",typescript:"3.8.3","unicode-regex":"3.0.0",unified:"9.0.0",vnopts:"1.0.2","yaml-unist-parser":"1.1.1"},p={"@babel/core":"7.9.0","@babel/preset-env":"7.9.0","@rollup/plugin-alias":"3.0.1","@rollup/plugin-commonjs":"11.0.2","@rollup/plugin-json":"4.0.2","@rollup/plugin-node-resolve":"7.1.1","@rollup/plugin-replace":"2.3.1","babel-loader":"8.1.0",benchmark:"2.1.4","builtin-modules":"3.1.0",codecov:"3.6.5","cross-env":"7.0.2",cspell:"4.0.55",eslint:"6.8.0","eslint-config-prettier":"6.10.1","eslint-formatter-friendly":"7.0.0","eslint-plugin-import":"2.20.2","eslint-plugin-prettier":"3.1.2","eslint-plugin-react":"7.19.0","eslint-plugin-unicorn":"18.0.1",execa:"4.0.0",jest:"25.2.7","jest-snapshot-serializer-ansi":"1.0.0","jest-snapshot-serializer-raw":"1.1.0","jest-watch-typeahead":"0.5.0",prettier:"2.0.4",rimraf:"3.0.2",rollup:"2.3.2","rollup-plugin-babel":"4.4.0","rollup-plugin-node-globals":"1.4.0","rollup-plugin-terser":"5.3.0",shelljs:"0.8.3","snapshot-diff":"0.7.0","strip-ansi":"6.0.0","synchronous-promise":"2.0.10",tempy:"0.5.0","terser-webpack-plugin":"2.3.5",webpack:"4.42.1"},d={prepublishOnly:'echo "Error: must publish from dist/" && exit 1',"prepare-release":"yarn && yarn build && yarn test:dist",test:"jest","test:dist":"cross-env NODE_ENV=production jest","test:dist-standalone":"cross-env NODE_ENV=production TEST_STANDALONE=1 jest tests/","test:integration":"jest tests_integration","perf:repeat":"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","perf:repeat-inspect":"yarn && yarn build && cross-env NODE_ENV=production node --inspect-brk ./dist/bin-prettier.js --debug-repeat ${PERF_REPEAT:-1000} --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","perf:benchmark":"yarn && yarn build && cross-env NODE_ENV=production node ./dist/bin-prettier.js --debug-benchmark --loglevel debug ${PERF_FILE:-./index.js} > /dev/null","lint:typecheck":"tsc","lint:eslint":"cross-env EFF_NO_LINK_RULES=true eslint . --format friendly","lint:changelog":"node ./scripts/lint-changelog.js","lint:prettier":'prettier "**/*.{md,json,yml,html,css}" --check',"lint:dist":'eslint --no-eslintrc --no-ignore --env=es6,browser --parser-options=ecmaVersion:2016 "dist/!(bin-prettier|index|third-party).js"',"lint:spellcheck":"cspell {bin,scripts,src,website}/**/*.js {docs,website/blog,changelog_unreleased}/**/*.md","lint:deps":"node ./scripts/check-deps.js",build:"node --max-old-space-size=3072 ./scripts/build/build.js","build-docs":"node ./scripts/build-docs.js"},f={name:e,version:n,description:r,bin:i,repository:o,homepage:a,author:s,license:l,main:u,engines:c,dependencies:h,devDependencies:p,scripts:d},m=Object.freeze({__proto__:null,name:e,version:n,description:r,bin:i,repository:o,homepage:a,author:s,license:l,main:u,engines:c,dependencies:h,devDependencies:p,scripts:d,default:f});function g(){}function v(e,t,n,r,i){for(var o=0,a=t.length,s=0,l=0;oe.length?n:e})),u.value=e.join(h)}else u.value=e.join(n.slice(s,s+u.count));s+=u.count,u.added||(l+=u.count)}}var p=t[a-1];return a>1&&"string"===typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[a-2].value+=p.value,t.pop()),t}function y(e){return{newPos:e.newPos,components:e.components.slice(0)}}g.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"===typeof n&&(r=n,n={}),this.options=n;var i=this;function o(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e)),t=this.removeEmpty(this.tokenize(t));var a=t.length,s=e.length,l=1,u=a+s,c=[{newPos:-1,components:[]}],h=this.extractCommon(c[0],t,e,0);if(c[0].newPos+1>=a&&h+1>=s)return o([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*l;n<=l;n+=2){var r=void 0,u=c[n-1],h=c[n+1],p=(h?h.newPos:0)-n;u&&(c[n-1]=void 0);var d=u&&u.newPos+1=a&&p+1>=s)return o(v(i,r.components,t,e,i.useLongestToken));c[n]=r}else c[n]=void 0}l++}if(r)(function e(){setTimeout((function(){if(l>u)return r();p()||e()}),0)})();else while(l<=u){var d=p();if(d)return d}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){var i=t.length,o=n.length,a=e.newPos,s=a-r,l=0;while(a+11&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\r\n|[\n\v\f\r\x85]/),r=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],i=[],o=0;function a(){var e={};i.push(e);while(o2&&void 0!==arguments[2]?arguments[2]:{};if("string"===typeof t&&(t=W(t)),Array.isArray(t)){if(t.length>1)throw new Error("applyPatch only works with a single input.");t=t[0]}var r,i,o=e.split(/\r\n|[\n\v\f\r\x85]/),a=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],s=t.hunks,l=n.compareLine||function(e,t,n,r){return t===r},u=0,c=n.fuzzFactor||0,h=0,p=0;function d(e,t){for(var n=0;n0?r[0]:" ",a=r.length>0?r.substr(1):r;if(" "===i||"-"===i){if(!l(t+1,o[t],i,a)&&(u++,u>c))return!1;t++}}return!0}for(var f=0;f0?k[0]:" ",S=k.length>0?k.substr(1):k,A=w.linedelimiters[_];if(" "===E)C++;else if("-"===E)o.splice(C,1),a.splice(C,1);else if("+"===E)o.splice(C,0,S),a.splice(C,0,A),C++;else if("\\"===E){var F=w.lines[_-1]?w.lines[_-1][0]:null;"+"===F?r=!0:"-"===F&&(i=!0)}}}if(r)while(!o[o.length-1])o.pop(),a.pop();else i&&(o.push(""),a.push("\n"));for(var T=0;T0?l(m.lines.slice(-a.context)):[],c-=p.length,h-=p.length)}(o=p).push.apply(o,P(i.map((function(e){return(t.added?"+":"-")+e})))),t.added?f+=i.length:d+=i.length}else{if(c)if(i.length<=2*a.context&&e=s.length-2&&i.length<=a.context){var D=/\n$/.test(n),x=/\n$/.test(r),w=0==i.length&&p.length>b.oldLines;!D&&w&&p.splice(b.oldLines,0,"\\ No newline at end of file"),(D||w)&&x||p.push("\\ No newline at end of file")}u.push(b),c=0,h=0,p=[]}d+=i.length,f+=i.length}},g=0;ge.length)return!1;for(var n=0;n"):r.removed&&t.push(""),t.push(De(r.value)),r.added?t.push(""):r.removed&&t.push("")}return t.join("")}function De(e){var t=e;return t=t.replace(/&/g,"&"),t=t.replace(//g,">"),t=t.replace(/"/g,"""),t}V.tokenize=function(e){return e.slice()},V.join=V.removeEmpty=function(e){return e};var xe=Object.freeze({__proto__:null,Diff:g,diffChars:D,diffWords:k,diffWordsWithSpace:E,diffLines:A,diffTrimmedLines:F,diffSentences:O,diffCss:L,diffJson:q,diffArrays:H,structuredPatch:K,createTwoFilesPatch:X,createPatch:J,applyPatch:G,applyPatches:Y,parsePatch:W,merge:te,convertChangesToDMP:ye,convertChangesToXML:be,canonicalize:z}),we={},Ce=Object.freeze({__proto__:null,default:we});const _e=/[\\/]/;function ke(e){const t=Ee(e),n=t.lastIndexOf(".");return-1===n?"":t.slice(n)}function Ee(e){return e.split(_e).pop()}function Se(){return!0}var Ae=Object.freeze({__proto__:null,extname:ke,basename:Ee,isAbsolute:Se}),Fe="undefined"!==typeof t?t:"undefined"!==typeof self?self:"undefined"!==typeof window?window:{},Te=[],Oe=[],Ne="undefined"!==typeof Uint8Array?Uint8Array:Array,Le=!1;function Be(){Le=!0;for(var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t=0,n=e.length;t0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===e[s-2]?2:"="===e[s-1]?1:0,a=new Ne(3*s/4-o),r=o>0?s-4:s;var l=0;for(t=0,n=0;t>16&255,a[l++]=i>>8&255,a[l++]=255&i;return 2===o?(i=Oe[e.charCodeAt(t)]<<2|Oe[e.charCodeAt(t+1)]>>4,a[l++]=255&i):1===o&&(i=Oe[e.charCodeAt(t)]<<10|Oe[e.charCodeAt(t+1)]<<4|Oe[e.charCodeAt(t+2)]>>2,a[l++]=i>>8&255,a[l++]=255&i),a}function Me(e){return Te[e>>18&63]+Te[e>>12&63]+Te[e>>6&63]+Te[63&e]}function je(e,t,n){for(var r,i=[],o=t;ol?l:s+a));return 1===r?(t=e[n-1],i+=Te[t>>2],i+=Te[t<<4&63],i+="=="):2===r&&(t=(e[n-2]<<8)+e[n-1],i+=Te[t>>10],i+=Te[t>>4&63],i+=Te[t<<2&63],i+="="),o.push(i),o.join("")}function $e(e,t,n,r,i){var o,a,s=8*i-r-1,l=(1<>1,c=-7,h=n?i-1:0,p=n?-1:1,d=e[t+h];for(h+=p,o=d&(1<<-c)-1,d>>=-c,c+=s;c>0;o=256*o+e[t+h],h+=p,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=r;c>0;a=256*a+e[t+h],h+=p,c-=8);if(0===o)o=1-u;else{if(o===l)return a?NaN:1/0*(d?-1:1);a+=Math.pow(2,r),o-=u}return(d?-1:1)*a*Math.pow(2,o-r)}function Re(e,t,n,r,i,o){var a,s,l,u=8*o-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:o-1,f=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),t+=a+h>=1?p/l:p*Math.pow(2,1-h),t*l>=2&&(a++,l/=2),a+h>=c?(s=0,a=c):a+h>=1?(s=(t*l-1)*Math.pow(2,i),a+=h):(s=t*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;e[n+d]=255&s,d+=f,s/=256,i-=8);for(a=a<0;e[n+d]=255&a,d+=f,a/=256,u-=8);e[n+d-f]|=128*m}var qe={}.toString,ze=Array.isArray||function(e){return"[object Array]"==qe.call(e)},Ve=50;function He(){return Ue.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function We(e,t){if(He()=He())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+He().toString(16)+" bytes");return 0|e}function nt(e){return!(null==e||!e._isBuffer)}function rt(e,t){if(nt(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return Lt(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Mt(e).length;default:if(r)return Lt(e).length;t=(""+t).toLowerCase(),r=!0}}function it(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,t>>>=0,n<=t)return"";e||(e="utf8");while(1)switch(e){case"hex":return Dt(this,t,n);case"utf8":case"utf-8":return mt(this,t,n);case"ascii":return yt(this,t,n);case"latin1":case"binary":return bt(this,t,n);case"base64":return ft(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return xt(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}function ot(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function at(e,t,n,r,i){if(0===e.length)return-1;if("string"===typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"===typeof t&&(t=Ue.from(t,r)),nt(t))return 0===t.length?-1:st(e,t,n,r,i);if("number"===typeof t)return t&=255,Ue.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):st(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function st(e,t,n,r,i){var o,a=1,s=e.length,l=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),"ucs2"===r||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,n/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(i){var c=-1;for(o=n;os&&(n=s-l),o=n;o>=0;o--){for(var h=!0,p=0;pi&&(r=i)):r=i;var o=t.length;if(o%2!==0)throw new TypeError("Invalid hex string");r>o/2&&(r=o/2);for(var a=0;a239?4:u>223?3:u>191?2:1;if(i+h<=n)switch(h){case 1:u<128&&(c=u);break;case 2:o=e[i+1],128===(192&o)&&(l=(31&u)<<6|63&o,l>127&&(c=l));break;case 3:o=e[i+1],a=e[i+2],128===(192&o)&&128===(192&a)&&(l=(15&u)<<12|(63&o)<<6|63&a,l>2047&&(l<55296||l>57343)&&(c=l));break;case 4:o=e[i+1],a=e[i+2],s=e[i+3],128===(192&o)&&128===(192&a)&&128===(192&s)&&(l=(15&u)<<18|(63&o)<<12|(63&a)<<6|63&s,l>65535&&l<1114112&&(c=l))}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h}return vt(r)}Ue.TYPED_ARRAY_SUPPORT=void 0===Fe.TYPED_ARRAY_SUPPORT||Fe.TYPED_ARRAY_SUPPORT,Ue.poolSize=8192,Ue._augment=function(e){return e.__proto__=Ue.prototype,e},Ue.from=function(e,t,n){return Ge(null,e,t,n)},Ue.TYPED_ARRAY_SUPPORT&&(Ue.prototype.__proto__=Uint8Array.prototype,Ue.__proto__=Uint8Array),Ue.alloc=function(e,t,n){return Ke(null,e,t,n)},Ue.allocUnsafe=function(e){return Xe(null,e)},Ue.allocUnsafeSlow=function(e){return Xe(null,e)},Ue.isBuffer=$t,Ue.compare=function(e,t){if(!nt(e)||!nt(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,o=Math.min(n,r);i0&&(e=this.toString("hex",0,t).match(/.{2}/g).join(" "),this.length>t&&(e+=" ... ")),""},Ue.prototype.compare=function(e,t,n,r,i){if(!nt(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var o=i-r,a=n-t,s=Math.min(o,a),l=this.slice(r,i),u=e.slice(t,n),c=0;ci)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return lt(this,e,t,n);case"utf8":case"utf-8":return ut(this,e,t,n);case"ascii":return ct(this,e,t,n);case"latin1":case"binary":return ht(this,e,t,n);case"base64":return pt(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return dt(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},Ue.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var gt=4096;function vt(e){var t=e.length;if(t<=gt)return String.fromCharCode.apply(String,e);var n="",r=0;while(rr)&&(n=r);for(var i="",o=t;on)throw new RangeError("Trying to access beyond buffer length")}function Ct(e,t,n,r,i,o){if(!nt(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw new RangeError("Index out of range")}function _t(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function kt(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function Et(e,t,n,r,i,o){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function St(e,t,n,r,i){return i||Et(e,t,n,4),Re(e,t,n,r,23,4),n+4}function At(e,t,n,r,i){return i||Et(e,t,n,8),Re(e,t,n,r,52,8),n+8}Ue.prototype.slice=function(e,t){var n,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),t<0?(t+=r,t<0&&(t=0)):t>r&&(t=r),t0&&(i*=256))r+=this[e+--t]*i;return r},Ue.prototype.readUInt8=function(e,t){return t||wt(e,1,this.length),this[e]},Ue.prototype.readUInt16LE=function(e,t){return t||wt(e,2,this.length),this[e]|this[e+1]<<8},Ue.prototype.readUInt16BE=function(e,t){return t||wt(e,2,this.length),this[e]<<8|this[e+1]},Ue.prototype.readUInt32LE=function(e,t){return t||wt(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},Ue.prototype.readUInt32BE=function(e,t){return t||wt(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},Ue.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||wt(e,t,this.length);var r=this[e],i=1,o=0;while(++o=i&&(r-=Math.pow(2,8*t)),r},Ue.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||wt(e,t,this.length);var r=t,i=1,o=this[e+--r];while(r>0&&(i*=256))o+=this[e+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*t)),o},Ue.prototype.readInt8=function(e,t){return t||wt(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},Ue.prototype.readInt16LE=function(e,t){t||wt(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},Ue.prototype.readInt16BE=function(e,t){t||wt(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},Ue.prototype.readInt32LE=function(e,t){return t||wt(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},Ue.prototype.readInt32BE=function(e,t){return t||wt(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},Ue.prototype.readFloatLE=function(e,t){return t||wt(e,4,this.length),$e(this,e,!0,23,4)},Ue.prototype.readFloatBE=function(e,t){return t||wt(e,4,this.length),$e(this,e,!1,23,4)},Ue.prototype.readDoubleLE=function(e,t){return t||wt(e,8,this.length),$e(this,e,!0,52,8)},Ue.prototype.readDoubleBE=function(e,t){return t||wt(e,8,this.length),$e(this,e,!1,52,8)},Ue.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){var i=Math.pow(2,8*n)-1;Ct(this,e,t,n,i,0)}var o=1,a=0;this[t]=255&e;while(++a=0&&(a*=256))this[t+o]=e/a&255;return t+n},Ue.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,1,255,0),Ue.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},Ue.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,2,65535,0),Ue.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):_t(this,e,t,!0),t+2},Ue.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,2,65535,0),Ue.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):_t(this,e,t,!1),t+2},Ue.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,4,4294967295,0),Ue.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):kt(this,e,t,!0),t+4},Ue.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,4,4294967295,0),Ue.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):kt(this,e,t,!1),t+4},Ue.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Ct(this,e,t,n,i-1,-i)}var o=0,a=1,s=0;this[t]=255&e;while(++o>0)-s&255;return t+n},Ue.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);Ct(this,e,t,n,i-1,-i)}var o=n-1,a=1,s=0;this[t+o]=255&e;while(--o>=0&&(a*=256))e<0&&0===s&&0!==this[t+o+1]&&(s=1),this[t+o]=(e/a>>0)-s&255;return t+n},Ue.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,1,127,-128),Ue.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},Ue.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,2,32767,-32768),Ue.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):_t(this,e,t,!0),t+2},Ue.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,2,32767,-32768),Ue.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):_t(this,e,t,!1),t+2},Ue.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,4,2147483647,-2147483648),Ue.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):kt(this,e,t,!0),t+4},Ue.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||Ct(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),Ue.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):kt(this,e,t,!1),t+4},Ue.prototype.writeFloatLE=function(e,t,n){return St(this,e,t,!0,n)},Ue.prototype.writeFloatBE=function(e,t,n){return St(this,e,t,!1,n)},Ue.prototype.writeDoubleLE=function(e,t,n){return At(this,e,t,!0,n)},Ue.prototype.writeDoubleBE=function(e,t,n){return At(this,e,t,!1,n)},Ue.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t=0;--i)e[i+t]=this[i+n];else if(o<1e3||!Ue.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,n=void 0===n?this.length:n>>>0,e||(e=0),"number"===typeof e)for(o=t;o55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&o.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((t-=1)<0)break;o.push(n)}else if(n<2048){if((t-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function Bt(e){for(var t=[],n=0;n>8,i=n%256,o.push(i),o.push(r)}return o}function Mt(e){return Pe(Tt(e))}function jt(e,t,n,r){for(var i=0;i=t.length||i>=e.length)break;t[i+n]=e[i]}return i}function It(e){return e!==e}function $t(e){return null!=e&&(!!e._isBuffer||Rt(e)||qt(e))}function Rt(e){return!!e.constructor&&"function"===typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}function qt(e){return"function"===typeof e.readFloatLE&&"function"===typeof e.slice&&Rt(e.slice(0,0))}var zt="undefined"!==typeof globalThis?globalThis:"undefined"!==typeof window?window:"undefined"!==typeof t?t:"undefined"!==typeof self?self:{};function Vt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e["default"]:e}function Ht(e,t){return t={exports:{}},e(t,t.exports),t.exports}function Wt(e){return e&&e["default"]||e}var Ut=Wt(Ce);class Gt{constructor(e,t){t=t||{},t.readChunk||(t.readChunk=1024),t.newLineCharacter?t.newLineCharacter=t.newLineCharacter.charCodeAt(0):t.newLineCharacter=10,this.fd="number"===typeof e?e:Ut.openSync(e,"r"),this.options=t,this.newLineCharacter=t.newLineCharacter,this.reset()}_searchInBuffer(e,t){let n=-1;for(let r=0;r<=e.length;r++){let i=e[r];if(i===t){n=r;break}}return n}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){Ut.closeSync(this.fd),this.fd=null}_extractLines(e){let t;const n=[];let r=0,i=0;while(1){let o=e[r++];if(o===this.newLineCharacter)t=e.slice(i,r),n.push(t),i=r;else if(!o)break}let o=e.slice(i,r);return o.length&&n.push(o),n}_readChunk(e){let t,n=0;const r=[];do{const e=new Ue(this.options.readChunk);t=Ut.readSync(this.fd,e,0,this.options.readChunk,this.fdPosition),n+=t,this.fdPosition=this.fdPosition+t,r.push(e)}while(t&&-1===this._searchInBuffer(r[r.length-1],this.options.newLineCharacter));let i=Ue.concat(r);return t=0||(i[n]=e[n]);return i}function nn(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function rn(){throw new Error("setTimeout has not been defined")}function on(){throw new Error("clearTimeout has not been defined")}var an=rn,sn=on;function ln(e){if(an===setTimeout)return setTimeout(e,0);if((an===rn||!an)&&setTimeout)return an=setTimeout,setTimeout(e,0);try{return an(e,0)}catch(t){try{return an.call(null,e,0)}catch(t){return an.call(this,e,0)}}}function un(e){if(sn===clearTimeout)return clearTimeout(e);if((sn===on||!sn)&&clearTimeout)return sn=clearTimeout,clearTimeout(e);try{return sn(e)}catch(t){try{return sn.call(null,e)}catch(t){return sn.call(this,e)}}}"function"===typeof Fe.setTimeout&&(an=setTimeout),"function"===typeof Fe.clearTimeout&&(sn=clearTimeout);var cn,hn=[],pn=!1,dn=-1;function fn(){pn&&cn&&(pn=!1,cn.length?hn=cn.concat(hn):dn=-1,hn.length&&mn())}function mn(){if(!pn){var e=ln(fn);pn=!0;var t=hn.length;while(t){cn=hn,hn=[];while(++dn1)for(var n=1;nconsole.error("SEMVER",...e):()=>{};var Un=Wn;const Gn="2.0.0",Yn=256,Kn=Number.MAX_SAFE_INTEGER||9007199254740991,Xn=16;var Jn={SEMVER_SPEC_VERSION:Gn,MAX_LENGTH:Yn,MAX_SAFE_INTEGER:Kn,MAX_SAFE_COMPONENT_LENGTH:Xn},Zn=Ht((function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n}=Jn;t=e.exports={};const r=t.re=[],i=t.src=[],o=t.t={};let a=0;const s=(e,t,n)=>{const s=a++;Un(s,t),o[e]=s,i[s]=t,r[s]=new RegExp(t,n?"g":void 0)};s("NUMERICIDENTIFIER","0|[1-9]\\d*"),s("NUMERICIDENTIFIERLOOSE","[0-9]+"),s("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),s("MAINVERSION","(".concat(i[o.NUMERICIDENTIFIER],")\\.")+"(".concat(i[o.NUMERICIDENTIFIER],")\\.")+"(".concat(i[o.NUMERICIDENTIFIER],")")),s("MAINVERSIONLOOSE","(".concat(i[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[o.NUMERICIDENTIFIERLOOSE],")\\.")+"(".concat(i[o.NUMERICIDENTIFIERLOOSE],")")),s("PRERELEASEIDENTIFIER","(?:".concat(i[o.NUMERICIDENTIFIER],"|").concat(i[o.NONNUMERICIDENTIFIER],")")),s("PRERELEASEIDENTIFIERLOOSE","(?:".concat(i[o.NUMERICIDENTIFIERLOOSE],"|").concat(i[o.NONNUMERICIDENTIFIER],")")),s("PRERELEASE","(?:-(".concat(i[o.PRERELEASEIDENTIFIER],"(?:\\.").concat(i[o.PRERELEASEIDENTIFIER],")*))")),s("PRERELEASELOOSE","(?:-?(".concat(i[o.PRERELEASEIDENTIFIERLOOSE],"(?:\\.").concat(i[o.PRERELEASEIDENTIFIERLOOSE],")*))")),s("BUILDIDENTIFIER","[0-9A-Za-z-]+"),s("BUILD","(?:\\+(".concat(i[o.BUILDIDENTIFIER],"(?:\\.").concat(i[o.BUILDIDENTIFIER],")*))")),s("FULLPLAIN","v?".concat(i[o.MAINVERSION]).concat(i[o.PRERELEASE],"?").concat(i[o.BUILD],"?")),s("FULL","^".concat(i[o.FULLPLAIN],"$")),s("LOOSEPLAIN","[v=\\s]*".concat(i[o.MAINVERSIONLOOSE]).concat(i[o.PRERELEASELOOSE],"?").concat(i[o.BUILD],"?")),s("LOOSE","^".concat(i[o.LOOSEPLAIN],"$")),s("GTLT","((?:<|>)?=?)"),s("XRANGEIDENTIFIERLOOSE","".concat(i[o.NUMERICIDENTIFIERLOOSE],"|x|X|\\*")),s("XRANGEIDENTIFIER","".concat(i[o.NUMERICIDENTIFIER],"|x|X|\\*")),s("XRANGEPLAIN","[v=\\s]*(".concat(i[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIER],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIER],")")+"(?:".concat(i[o.PRERELEASE],")?").concat(i[o.BUILD],"?")+")?)?"),s("XRANGEPLAINLOOSE","[v=\\s]*(".concat(i[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIERLOOSE],")")+"(?:\\.(".concat(i[o.XRANGEIDENTIFIERLOOSE],")")+"(?:".concat(i[o.PRERELEASELOOSE],")?").concat(i[o.BUILD],"?")+")?)?"),s("XRANGE","^".concat(i[o.GTLT],"\\s*").concat(i[o.XRANGEPLAIN],"$")),s("XRANGELOOSE","^".concat(i[o.GTLT],"\\s*").concat(i[o.XRANGEPLAINLOOSE],"$")),s("COERCE","".concat("(^|[^\\d])(\\d{1,").concat(n,"})")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:\\.(\\d{1,".concat(n,"}))?")+"(?:$|[^\\d])"),s("COERCERTL",i[o.COERCE],!0),s("LONETILDE","(?:~>?)"),s("TILDETRIM","(\\s*)".concat(i[o.LONETILDE],"\\s+"),!0),t.tildeTrimReplace="$1~",s("TILDE","^".concat(i[o.LONETILDE]).concat(i[o.XRANGEPLAIN],"$")),s("TILDELOOSE","^".concat(i[o.LONETILDE]).concat(i[o.XRANGEPLAINLOOSE],"$")),s("LONECARET","(?:\\^)"),s("CARETTRIM","(\\s*)".concat(i[o.LONECARET],"\\s+"),!0),t.caretTrimReplace="$1^",s("CARET","^".concat(i[o.LONECARET]).concat(i[o.XRANGEPLAIN],"$")),s("CARETLOOSE","^".concat(i[o.LONECARET]).concat(i[o.XRANGEPLAINLOOSE],"$")),s("COMPARATORLOOSE","^".concat(i[o.GTLT],"\\s*(").concat(i[o.LOOSEPLAIN],")$|^$")),s("COMPARATOR","^".concat(i[o.GTLT],"\\s*(").concat(i[o.FULLPLAIN],")$|^$")),s("COMPARATORTRIM","(\\s*)".concat(i[o.GTLT],"\\s*(").concat(i[o.LOOSEPLAIN],"|").concat(i[o.XRANGEPLAIN],")"),!0),t.comparatorTrimReplace="$1$2$3",s("HYPHENRANGE","^\\s*(".concat(i[o.XRANGEPLAIN],")")+"\\s+-\\s+"+"(".concat(i[o.XRANGEPLAIN],")")+"\\s*$"),s("HYPHENRANGELOOSE","^\\s*(".concat(i[o.XRANGEPLAINLOOSE],")")+"\\s+-\\s+"+"(".concat(i[o.XRANGEPLAINLOOSE],")")+"\\s*$"),s("STAR","(<|>)?=?\\s*\\*")}));Zn.re,Zn.src,Zn.t,Zn.tildeTrimReplace,Zn.caretTrimReplace,Zn.comparatorTrimReplace;const Qn=/^[0-9]+$/,er=(e,t)=>{const n=Qn.test(e),r=Qn.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:eer(t,e);var nr={compareIdentifiers:er,rcompareIdentifiers:tr};const{MAX_LENGTH:rr,MAX_SAFE_INTEGER:ir}=Jn,{re:or,t:ar}=Zn,{compareIdentifiers:sr}=nr;class lr{constructor(e,t){if(t&&"object"===typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof lr){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if("string"!==typeof e)throw new TypeError("Invalid Version: ".concat(e));if(e.length>rr)throw new TypeError("version is longer than ".concat(rr," characters"));Un("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?or[ar.LOOSE]:or[ar.FULL]);if(!n)throw new TypeError("Invalid Version: ".concat(e));if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>ir||this.major<0)throw new TypeError("Invalid major version");if(this.minor>ir||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>ir||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0)"number"===typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: ".concat(e))}return this.format(),this.raw=this.version,this}}var ur=lr;const cr=(e,t,n)=>new ur(e,n).compare(new ur(t,n));var hr=cr;const pr=(e,t,n)=>hr(e,t,n)<0;var dr=pr;const fr=(e,t,n)=>hr(e,t,n)>=0;var mr=fr,gr=(e,t)=>Object.entries(e).map(([e,n])=>Object.assign({[t]:e},n)),vr=Ht((function(e){function t(e){var t=void 0;t="string"===typeof e?[e]:e.raw;for(var n="",r=0;r"string"===typeof e||"function"===typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",since:"1.16.0",description:"JavaScript"},{value:"babel-flow",since:"1.16.0",description:"Flow"},{value:"babel-ts",since:"2.0.0",description:"TypeScript"},{value:"typescript",since:"1.4.0",description:"TypeScript"},{value:"css",since:"1.7.1",description:"CSS"},{value:"less",since:"1.7.1",description:"Less"},{value:"scss",since:"1.7.1",description:"SCSS"},{value:"json",since:"1.5.0",description:"JSON"},{value:"json5",since:"1.13.0",description:"JSON5"},{value:"json-stringify",since:"1.13.0",description:"JSON.stringify"},{value:"graphql",since:"1.5.0",description:"GraphQL"},{value:"markdown",since:"1.8.0",description:"Markdown"},{value:"mdx",since:"1.15.0",description:"MDX"},{value:"vue",since:"1.10.0",description:"Vue"},{value:"yaml",since:"1.14.0",description:"YAML"},{value:"glimmer",since:null,description:"Handlebars"},{value:"html",since:"1.15.0",description:"HTML"},{value:"angular",since:"1.15.0",description:"Angular"},{value:"lwc",since:"1.17.0",description:"Lightning Web Components"}]},plugins:{since:"1.10.0",type:"path",array:!0,default:[{value:[]}],category:Fr,description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"===typeof e||"object"===typeof e,cliName:"plugin",cliCategory:_r},pluginSearchDirs:{since:"1.13.0",type:"path",array:!0,default:[{value:[]}],category:Fr,description:vr(xr()),exception:e=>"string"===typeof e||"object"===typeof e,cliName:"plugin-search-dir",cliCategory:_r},printWidth:{since:"0.0.0",category:Fr,type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{since:"1.4.0",category:Tr,type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:vr(Dr()),cliCategory:kr},rangeStart:{since:"1.4.0",category:Tr,type:"int",default:0,range:{start:0,end:1/0,step:1},description:vr(br()),cliCategory:kr},requirePragma:{since:"1.7.0",category:Tr,type:"boolean",default:!1,description:vr(yr()),cliCategory:Sr},tabWidth:{type:"int",category:Fr,default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{since:"1.0.0",category:Fr,type:"boolean",default:!1,description:"Indent with tabs instead of spaces."}};var Nr={CATEGORY_CONFIG:_r,CATEGORY_EDITOR:kr,CATEGORY_FORMAT:Er,CATEGORY_OTHER:Sr,CATEGORY_OUTPUT:Ar,CATEGORY_GLOBAL:Fr,CATEGORY_SPECIAL:Tr,options:Or},Lr=Wt(m);const Br={compare:hr,lt:dr,gte:mr},Pr=Lr.version,Mr=Nr.options;function jr({plugins:e=[],showUnreleased:t=!1,showDeprecated:n=!1,showInternal:r=!1}={}){const i=Pr.split("-",1)[0],o=gr(Object.assign({},...e.map(({options:e})=>e),Mr),"name").filter(e=>s(e)&&l(e)).sort((e,t)=>e.name===t.name?0:e.name{t=Object.assign({},t),Array.isArray(t.default)&&(t.default=1===t.default.length?t.default[0].value:t.default.filter(s).sort((e,t)=>Br.compare(t.since,e.since))[0].value),Array.isArray(t.choices)&&(t.choices=t.choices.filter(e=>s(e)&&l(e)));const n=e.filter(e=>e.defaultOptions&&void 0!==e.defaultOptions[t.name]),r=n.reduce((e,n)=>(e[n.name]=n.defaultOptions[t.name],e),{});return Object.assign({},t,{pluginDefaults:r})}),a=e.reduce((e,t)=>e.concat(t.languages||[]),[]).filter(s);return{languages:a,options:o};function s(e){return t||!("since"in e)||e.since&&Br.gte(i,e.since)}function l(e){return n||!("deprecated"in e)||e.deprecated&&Br.lt(i,e.deprecated)}function u(e){if(r)return e;const t=tn(e,["cliName","cliCategory","cliDescription"]);return t}}var Ir={getSupportInfo:jr},$r=function(e,t){return $r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},$r(e,t)}; +/*! ***************************************************************************** + Copyright (c) Microsoft Corporation. All rights reserved. + Licensed under the Apache License, Version 2.0 (the "License"); you may not use + this file except in compliance with the License. You may obtain a copy of the + License at http://www.apache.org/licenses/LICENSE-2.0 + + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, + MERCHANTABLITY OR NON-INFRINGEMENT. + + See the Apache Version 2.0 License for specific language governing permissions + and limitations under the License. + ***************************************************************************** */function Rr(e,t){function n(){this.constructor=e}$r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var qr=function(){return qr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,n,a):i(t,n))||a);return o>3&&a&&Object.defineProperty(t,n,a),a}function Hr(e,t){return function(n,r){t(n,r,e)}}function Wr(e,t){if("object"===typeof Reflect&&"function"===typeof Reflect.metadata)return Reflect.metadata(e,t)}function Ur(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(t){o(t)}}function s(e){try{l(r["throw"](e))}catch(t){o(t)}}function l(e){e.done?i(e.value):new n((function(t){t(e.value)})).then(a,s)}l((r=r.apply(e,t||[])).next())}))}function Gr(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"===typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return l([e,t])}}function l(o){if(n)throw new TypeError("Generator is already executing.");while(a)try{if(n=1,r&&(i=2&o[0]?r["return"]:o[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(i=a.trys,!(i=i.length>0&&i[i.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function Xr(e,t){var n="function"===typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),a=[];try{while((void 0===t||t-- >0)&&!(r=o.next()).done)a.push(r.value)}catch(s){i={error:s}}finally{try{r&&!r.done&&(n=o["return"])&&n.call(o)}finally{if(i)throw i.error}}return a}function Jr(){for(var e=[],t=0;t1||s(e,t)}))})}function s(e,t){try{l(i[e](t))}catch(n){h(o[0][3],n)}}function l(e){e.value instanceof Qr?Promise.resolve(e.value.v).then(u,c):h(o[0][2],e)}function u(e){s("next",e)}function c(e){s("throw",e)}function h(e,t){e(t),o.shift(),o.length&&s(o[0][0],o[0][1])}}function ti(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:Qr(e[r](t)),done:"return"===r}:i?i(t):t}:i}}function ni(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"===typeof Kr?Kr(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){t=e[n](t),i(r,o,t.done,t.value)}))}}function i(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}}function ri(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function ii(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function oi(e){return e&&e.__esModule?e:{default:e}}var ai=Object.freeze({__proto__:null,__extends:Rr,get __assign(){return qr},__rest:zr,__decorate:Vr,__param:Hr,__metadata:Wr,__awaiter:Ur,__generator:Gr,__exportStar:Yr,__values:Kr,__read:Xr,__spread:Jr,__spreadArrays:Zr,__await:Qr,__asyncGenerator:ei,__asyncDelegator:ti,__asyncValues:ni,__makeTemplateObject:ri,__importStar:ii,__importDefault:oi}),si=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.apiDescriptor={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(null===e||"object"!==typeof e)return JSON.stringify(e);if(Array.isArray(e))return"[".concat(e.map(e=>t.apiDescriptor.value(e)).join(", "),"]");const n=Object.keys(e);return 0===n.length?"{}":"{ ".concat(n.map(n=>"".concat(t.apiDescriptor.key(n),": ").concat(t.apiDescriptor.value(e[n]))).join(", ")," }")},pair:({key:e,value:n})=>t.apiDescriptor.value({[e]:n})}}));Vt(si);si.apiDescriptor;var li=Wt(ai),ui=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(si,t)}));Vt(ui);var ci=/[|\\{}()[\]^$+*?.]/g,hi=function(e){if("string"!==typeof e)throw new TypeError("Expected a string");return e.replace(ci,"\\$&")},pi={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},di=Ht((function(e){var t={};for(var n in pi)pi.hasOwnProperty(n)&&(t[pi[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var i in r)if(r.hasOwnProperty(i)){if(!("channels"in r[i]))throw new Error("missing channels property: "+i);if(!("labels"in r[i]))throw new Error("missing channel labels property: "+i);if(r[i].labels.length!==r[i].channels)throw new Error("channel and label counts mismatch: "+i);var o=r[i].channels,a=r[i].labels;delete r[i].channels,delete r[i].labels,Object.defineProperty(r[i],"channels",{value:o}),Object.defineProperty(r[i],"labels",{value:a})}function s(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}r.rgb.hsl=function(e){var t,n,r,i=e[0]/255,o=e[1]/255,a=e[2]/255,s=Math.min(i,o,a),l=Math.max(i,o,a),u=l-s;return l===s?t=0:i===l?t=(o-a)/u:o===l?t=2+(a-i)/u:a===l&&(t=4+(i-o)/u),t=Math.min(60*t,360),t<0&&(t+=360),r=(s+l)/2,n=l===s?0:r<=.5?u/(l+s):u/(2-l-s),[t,100*n,100*r]},r.rgb.hsv=function(e){var t,n,r,i,o,a=e[0]/255,s=e[1]/255,l=e[2]/255,u=Math.max(a,s,l),c=u-Math.min(a,s,l),h=function(e){return(u-e)/6/c+.5};return 0===c?i=o=0:(o=c/u,t=h(a),n=h(s),r=h(l),a===u?i=r-n:s===u?i=1/3+t-r:l===u&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*u]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2],o=r.rgb.hsl(e)[0],a=1/255*Math.min(t,Math.min(n,i));return i=1-1/255*Math.max(t,Math.max(n,i)),[o,100*a,100*i]},r.rgb.cmyk=function(e){var t,n,r,i,o=e[0]/255,a=e[1]/255,s=e[2]/255;return i=Math.min(1-o,1-a,1-s),t=(1-o-i)/(1-i)||0,n=(1-a-i)/(1-i)||0,r=(1-s-i)/(1-i)||0,[100*t,100*n,100*r,100*i]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,i=1/0;for(var o in pi)if(pi.hasOwnProperty(o)){var a=pi[o],l=s(e,a);l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;var i=.4124*t+.3576*n+.1805*r,o=.2126*t+.7152*n+.0722*r,a=.0193*t+.1192*n+.9505*r;return[100*i,100*o,100*a]},r.rgb.lab=function(e){var t,n,i,o=r.rgb.xyz(e),a=o[0],s=o[1],l=o[2];return a/=95.047,s/=100,l/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,l=l>.008856?Math.pow(l,1/3):7.787*l+16/116,t=116*s-16,n=500*(a-s),i=200*(s-l),[t,n,i]},r.hsl.rgb=function(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,l=e[2]/100;if(0===s)return o=255*l,[o,o,o];n=l<.5?l*(1+s):l+s-l*s,t=2*l-n,i=[0,0,0];for(var u=0;u<3;u++)r=a+1/3*-(u-1),r<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[u]=255*o;return i},r.hsl.hsv=function(e){var t,n,r=e[0],i=e[1]/100,o=e[2]/100,a=i,s=Math.max(o,.01);return o*=2,i*=o<=1?o:2-o,a*=s<=1?s:2-s,n=(o+i)/2,t=0===o?2*a/(s+a):2*i/(o+i),[r,100*t,100*n]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),l=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,l,a];case 1:return[s,r,a];case 2:return[a,r,l];case 3:return[a,s,r];case 4:return[l,a,r];case 5:return[r,a,s]}},r.hsv.hsl=function(e){var t,n,r,i=e[0],o=e[1]/100,a=e[2]/100,s=Math.max(a,.01);return r=(2-o)*a,t=(2-o)*s,n=o*s,n/=t<=1?t:2-t,n=n||0,r/=2,[i,100*n,100*r]},r.hwb.rgb=function(e){var t,n,r,i,o,a,s,l=e[0]/360,u=e[1]/100,c=e[2]/100,h=u+c;switch(h>1&&(u/=h,c/=h),t=Math.floor(6*l),n=1-c,r=6*l-t,0!==(1&t)&&(r=1-r),i=u+r*(n-u),t){default:case 6:case 0:o=n,a=i,s=u;break;case 1:o=i,a=n,s=u;break;case 2:o=u,a=n,s=i;break;case 3:o=u,a=i,s=n;break;case 4:o=i,a=u,s=n;break;case 5:o=n,a=u,s=i;break}return[255*o,255*a,255*s]},r.cmyk.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100,s=e[3]/100;return t=1-Math.min(1,i*(1-s)+s),n=1-Math.min(1,o*(1-s)+s),r=1-Math.min(1,a*(1-s)+s),[255*t,255*n,255*r]},r.xyz.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return t=3.2406*i+-1.5372*o+-.4986*a,n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,t=Math.min(Math.max(0,t),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*t,255*n,255*r]},r.xyz.lab=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];return i/=95.047,o/=100,a/=108.883,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,t=116*o-16,n=500*(i-o),r=200*(o-a),[t,n,r]},r.lab.xyz=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];n=(i+16)/116,t=o/500+n,r=n-a/200;var s=Math.pow(n,3),l=Math.pow(t,3),u=Math.pow(r,3);return n=s>.008856?s:(n-16/116)/7.787,t=l>.008856?l:(t-16/116)/7.787,r=u>.008856?u:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},r.lab.lch=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];return t=Math.atan2(a,o),n=360*t/2/Math.PI,n<0&&(n+=360),r=Math.sqrt(o*o+a*a),[i,r,n]},r.lch.lab=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];return r=a/360*2*Math.PI,t=o*Math.cos(r),n=o*Math.sin(r),[i,t,n]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],o=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(o=Math.round(o/50),0===o)return 30;var a=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;var i=16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5);return i},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];var n=.5*(1+~~(e>50)),r=(1&t)*n*255,i=(t>>1&1)*n*255,o=(t>>2&1)*n*255;return[r,i,o]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;e-=16;var r=Math.floor(e/36)/5*255,i=Math.floor((n=e%36)/6)/5*255,o=n%6/5*255;return[r,i,o]},r.rgb.hex=function(e){var t=((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2])),n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16),i=r>>16&255,o=r>>8&255,a=255&r;return[i,o,a]},r.rgb.hcg=function(e){var t,n,r=e[0]/255,i=e[1]/255,o=e[2]/255,a=Math.max(Math.max(r,i),o),s=Math.min(Math.min(r,i),o),l=a-s;return t=l<1?s/(1-l):0,n=l<=0?0:a===r?(i-o)/l%6:a===i?2+(o-r)/l:4+(r-i)/l+4,n/=6,n%=1,[360*n,100*l,100*t]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return r=n<.5?2*t*n:2*t*(1-n),r<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i=[0,0,0],o=t%1*6,a=o%1,s=1-a,l=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=a,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=a;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=a,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return l=(1-n)*r,[255*(n*i[0]+l),255*(n*i[1]+l),255*(n*i[2]+l)]},r.hcg.hsv=function(e){var t=e[1]/100,n=e[2]/100,r=t+n*(1-t),i=0;return r>0&&(i=t/r),[e[0],100*i,100*r]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100,r=n*(1-t)+.5*t,i=0;return r>0&&r<.5?i=t/(2*r):r>=.5&&r<1&&(i=t/(2*(1-r))),[e[0],100*i,100*r]},r.hcg.hwb=function(e){var t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],100*(r-t),100*(1-r)]},r.hwb.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1-n,i=r-t,o=0;return i<1&&(o=(r-i)/(1-i)),[e[0],100*i,100*o]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=(t<<16)+(t<<8)+t,r=n.toString(16).toUpperCase();return"000000".substring(r.length)+r},r.rgb.gray=function(e){var t=(e[0]+e[1]+e[2])/3;return[t/255*100]}}));di.rgb,di.hsl,di.hsv,di.hwb,di.cmyk,di.xyz,di.lab,di.lch,di.hex,di.keyword,di.ansi16,di.ansi256,di.hcg,di.apple,di.gray;function fi(){for(var e={},t=Object.keys(di),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function wi(e){var t=function(t){if(void 0===t||null===t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"===typeof n)for(var r=n.length,i=0;ifunction(){const n=e.apply(Ci,arguments);return"[".concat(n+t,"m")},n=(e,t)=>function(){const n=e.apply(Ci,arguments);return"[".concat(38+t,";5;").concat(n,"m")},r=(e,t)=>function(){const n=e.apply(Ci,arguments);return"[".concat(38+t,";2;").concat(n[0],";").concat(n[1],";").concat(n[2],"m")};function i(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:"[".concat(r[0],"m"),close:"[".concat(r[1],"m")},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,"codes",{value:e,enumerable:!1})}const o=e=>e,a=(e,t,n)=>[e,t,n];i.color.close="",i.bgColor.close="",i.color.ansi={ansi:t(o,0)},i.color.ansi256={ansi256:n(o,0)},i.color.ansi16m={rgb:r(a,0)},i.bgColor.ansi={ansi:t(o,10)},i.bgColor.ansi256={ansi256:n(o,10)},i.bgColor.ansi16m={rgb:r(a,10)};for(let s of Object.keys(Ci)){if("object"!==typeof Ci[s])continue;const e=Ci[s];"ansi16"===s&&(s="ansi"),"ansi16"in e&&(i.color.ansi[s]=t(e.ansi16,0),i.bgColor.ansi[s]=t(e.ansi16,10)),"ansi256"in e&&(i.color.ansi256[s]=n(e.ansi256,0),i.bgColor.ansi256[s]=n(e.ansi256,10)),"rgb"in e&&(i.color.ansi16m[s]=r(e.rgb,0),i.bgColor.ansi16m[s]=r(e.rgb,10))}return i}Object.defineProperty(e,"exports",{enumerable:!0,get:i})})),ki={EOL:"\n"},Ei=(e,t)=>{t=t||Hn.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r=2,has16m:e>=3}}function Ti(e){if(!1===Ai)return 0;if(Ei("color=16m")||Ei("color=full")||Ei("color=truecolor"))return 3;if(Ei("color=256"))return 2;if(e&&!e.isTTY&&!0!==Ai)return 0;const t=Ai?1:0;if("win32"===Hn.platform){const e=ki.release().split(".");return Number(Hn.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Si)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in Si)||"codeship"===Si.CI_NAME?1:t;if("TEAMCITY_VERSION"in Si)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Si.TEAMCITY_VERSION)?1:0;if("truecolor"===Si.COLORTERM)return 3;if("TERM_PROGRAM"in Si){const e=parseInt((Si.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Si.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Si.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Si.TERM)||"COLORTERM"in Si?1:(Si.TERM,t)}function Oi(e){const t=Ti(e);return Fi(t)}Ei("no-color")||Ei("no-colors")||Ei("color=false")?Ai=!1:(Ei("color")||Ei("colors")||Ei("color=true")||Ei("color=always"))&&(Ai=!0),"FORCE_COLOR"in Si&&(Ai=0===Si.FORCE_COLOR.length||0!==parseInt(Si.FORCE_COLOR,10));var Ni={supportsColor:Oi,stdout:Oi(Hn.stdout),stderr:Oi(Hn.stderr)};const Li=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Bi=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Pi=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Mi=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,ji=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function Ii(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):ji.get(e)||e}function $i(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let i;for(const o of r)if(isNaN(o)){if(!(i=o.match(Pi)))throw new Error("Invalid Chalk template style argument: ".concat(o," (in style '").concat(e,"')"));n.push(i[2].replace(Mi,(e,t,n)=>t?Ii(t):n))}else n.push(Number(o));return n}function Ri(e){Bi.lastIndex=0;const t=[];let n;while(null!==(n=Bi.exec(e))){const e=n[1];if(n[2]){const r=$i(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function qi(e,t){const n={};for(const i of t)for(const e of i.styles)n[e[0]]=i.inverse?null:e.slice(1);let r=e;for(const i of Object.keys(n))if(Array.isArray(n[i])){if(!(i in r))throw new Error("Unknown Chalk style: ".concat(i));r=n[i].length>0?r[i].apply(r,n[i]):r[i]}return r}var zi=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(Li,(t,o,a,s,l,u)=>{if(o)i.push(Ii(o));else if(s){const t=i.join("");i=[],r.push(0===n.length?t:qi(e,n)(t)),n.push({inverse:a,styles:Ri(s)})}else if(l){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(qi(e,n)(i.join(""))),i=[],n.pop()}else i.push(u)}),r.push(i.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")},Vi=Ht((function(e){const t=Ni.stdout,n="win32"===Hn.platform&&!(Hn.env.TERM||"").toLowerCase().startsWith("xterm"),r=["ansi","ansi","ansi256","ansi16m"],i=new Set(["gray"]),o=Object.create(null);function a(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled="enabled"in n?n.enabled:e.level>0}function s(e){if(!this||!(this instanceof s)||this.template){const t={};return a(t,e),t.template=function(){const e=[].slice.call(arguments);return h.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,s.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=s,t.template}a(this,e)}n&&(_i.blue.open="");for(const p of Object.keys(_i))_i[p].closeRe=new RegExp(hi(_i[p].close),"g"),o[p]={get(){const e=_i[p];return u.call(this,this._styles?this._styles.concat(e):[e],this._empty,p)}};o.visible={get(){return u.call(this,this._styles||[],!0,"visible")}},_i.color.closeRe=new RegExp(hi(_i.color.close),"g");for(const p of Object.keys(_i.color.ansi))i.has(p)||(o[p]={get(){const e=this.level;return function(){const t=_i.color[r[e]][p].apply(null,arguments),n={open:t,close:_i.color.close,closeRe:_i.color.closeRe};return u.call(this,this._styles?this._styles.concat(n):[n],this._empty,p)}}});_i.bgColor.closeRe=new RegExp(hi(_i.bgColor.close),"g");for(const p of Object.keys(_i.bgColor.ansi)){if(i.has(p))continue;const e="bg"+p[0].toUpperCase()+p.slice(1);o[e]={get(){const e=this.level;return function(){const t=_i.bgColor[r[e]][p].apply(null,arguments),n={open:t,close:_i.bgColor.close,closeRe:_i.bgColor.closeRe};return u.call(this,this._styles?this._styles.concat(n):[n],this._empty,p)}}}}const l=Object.defineProperties(()=>{},o);function u(e,t,n){const r=function e(){return c.apply(e,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,"level",{enumerable:!0,get(){return i.level},set(e){i.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get(){return i.enabled},set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=l,r}function c(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;n{const r=["".concat(Vi.default.yellow("string"===typeof e?n.key(e):n.pair(e))," is deprecated")];return t&&r.push("we now treat it as ".concat(Vi.default.blue("string"===typeof t?n.key(t):n.pair(t)))),r.join("; ")+"."}})));Vt(Hi);Hi.commonDeprecatedHandler;var Wi=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(Hi,t)}));Vt(Wi);var Ui=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.commonInvalidHandler=(e,t,n)=>["Invalid ".concat(Vi.default.red(n.descriptor.key(e))," value."),"Expected ".concat(Vi.default.blue(n.schemas[e].expected(n)),","),"but received ".concat(Vi.default.red(n.descriptor.value(t)),".")].join(" ")}));Vt(Ui);Ui.commonInvalidHandler;var Gi=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(Ui,t)}));Vt(Gi);var Yi=[],Ki=[],Xi=function(e,t){if(e===t)return 0;var n=e;e.length>t.length&&(e=t,t=n);var r=e.length,i=t.length;if(0===r)return i;if(0===i)return r;while(r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-i))r--,i--;if(0===r)return i;var o,a,s,l,u=0;while(ua?l>a?a+1:l:l>s?s+1:l;return a},Ji=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.levenUnknownHandler=(e,t,{descriptor:n,logger:r,schemas:i})=>{const o=["Ignored unknown option ".concat(Vi.default.yellow(n.pair({key:e,value:t})),".")],a=Object.keys(i).sort().find(t=>Xi(e,t)<3);a&&o.push("Did you mean ".concat(Vi.default.blue(n.key(a)),"?")),r.warn(o.join(" "))}}));Vt(Ji);Ji.levenUnknownHandler;var Zi=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(Ji,t)}));Vt(Zi);var Qi=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(Wi,t),li.__exportStar(Gi,t),li.__exportStar(Zi,t)}));Vt(Qi);var eo=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});const n=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function r(e,t){const r=new e(t),a=Object.create(r);for(const s of n)s in t&&(a[s]=o(t[s],r,i.prototype[s].length));return a}t.createSchema=r;class i{constructor(e){this.name=e.name}static create(e){return r(this,e)}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,n){return e}preprocess(e,t){return e}postprocess(e,t){return e}}function o(e,t,n){return"function"===typeof e?(...r)=>e(...r.slice(0,n-1),t,...r.slice(n-1)):()=>e}t.Schema=i}));Vt(eo);eo.createSchema,eo.Schema;var to=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}}t.AliasSchema=n}));Vt(to);to.AliasSchema;var no=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{expected(){return"anything"}validate(){return!0}}t.AnySchema=n}));Vt(no);no.AnySchema;var ro=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{constructor(e){var{valueSchema:t,name:n=t.name}=e,r=li.__rest(e,["valueSchema","name"]);super(Object.assign({},r,{name:n})),this._valueSchema=t}expected(e){return"an array of ".concat(this._valueSchema.expected(e))}validate(e,t){if(!Array.isArray(e))return!1;const n=[];for(const r of e){const e=t.normalizeValidateResult(this._valueSchema.validate(r,t),r);!0!==e&&n.push(e.value)}return 0===n.length||{value:n}}deprecated(e,t){const n=[];for(const r of e){const e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(r,t),r);!1!==e&&n.push(...e.map(({value:e})=>({value:[e]})))}return n}forward(e,t){const n=[];for(const i of e){const e=t.normalizeForwardResult(this._valueSchema.forward(i,t),i);n.push(...e.map(r))}return n}redirect(e,t){const n=[],i=[];for(const o of e){const e=t.normalizeRedirectResult(this._valueSchema.redirect(o,t),o);"remain"in e&&n.push(e.remain),i.push(...e.redirect.map(r))}return 0===n.length?{redirect:i}:{redirect:i,remain:n}}overlap(e,t){return e.concat(t)}}function r({from:e,to:t}){return{from:[e],to:t}}t.ArraySchema=n}));Vt(ro);ro.ArraySchema;var io=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{expected(){return"true or false"}validate(e){return"boolean"===typeof e}}t.BooleanSchema=n}));Vt(io);io.BooleanSchema;var oo=Ht((function(e,t){function n(e,t){const n=Object.create(null);for(const r of e){const e=r[t];if(n[e])throw new Error("Duplicate ".concat(t," ").concat(JSON.stringify(e)));n[e]=r}return n}function r(e,t){const n=new Map;for(const r of e){const e=r[t];if(n.has(e))throw new Error("Duplicate ".concat(t," ").concat(JSON.stringify(e)));n.set(e,r)}return n}function i(){const e=Object.create(null);return t=>{const n=JSON.stringify(t);return!!e[n]||(e[n]=!0,!1)}}function o(e,t){const n=[],r=[];for(const i of e)t(i)?n.push(i):r.push(i);return[n,r]}function a(e){return e===Math.floor(e)}function s(e,t){if(e===t)return 0;const n=typeof e,r=typeof t,i=["undefined","object","boolean","number","string"];return n!==r?i.indexOf(n)-i.indexOf(r):"string"!==n?Number(e)-Number(t):e.localeCompare(t)}function l(e){return void 0===e?{}:e}function u(e,t){return!0===e||(!1===e?{value:t}:e)}function c(e,t,n=!1){return!1!==e&&(!0===e?!!n||[{value:t}]:"value"in e?[e]:0!==e.length&&e)}function h(e,t){return"string"===typeof e||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function p(e,t){return void 0===e?[]:Array.isArray(e)?e.map(e=>h(e,t)):[h(e,t)]}function d(e,t){const n=p("object"===typeof e&&"redirect"in e?e.redirect:e,t);return 0===n.length?{remain:t,redirect:n}:"object"===typeof e&&"remain"in e?{remain:e.remain,redirect:n}:{redirect:n}}Object.defineProperty(t,"__esModule",{value:!0}),t.recordFromArray=n,t.mapFromArray=r,t.createAutoChecklist=i,t.partition=o,t.isInt=a,t.comparePrimitive=s,t.normalizeDefaultResult=l,t.normalizeValidateResult=u,t.normalizeDeprecatedResult=c,t.normalizeTransferResult=h,t.normalizeForwardResult=p,t.normalizeRedirectResult=d}));Vt(oo);oo.recordFromArray,oo.mapFromArray,oo.createAutoChecklist,oo.partition,oo.isInt,oo.comparePrimitive,oo.normalizeDefaultResult,oo.normalizeValidateResult,oo.normalizeDeprecatedResult,oo.normalizeTransferResult,oo.normalizeForwardResult,oo.normalizeRedirectResult;var ao=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{constructor(e){super(e),this._choices=oo.mapFromArray(e.choices.map(e=>e&&"object"===typeof e?e:{value:e}),"value")}expected({descriptor:e}){const t=Array.from(this._choices.keys()).map(e=>this._choices.get(e)).filter(e=>!e.deprecated).map(e=>e.value).sort(oo.comparePrimitive).map(e.value),n=t.slice(0,-2),r=t.slice(-2);return n.concat(r.join(" or ")).join(", ")}validate(e){return this._choices.has(e)}deprecated(e){const t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){const t=this._choices.get(e);return t?t.forward:void 0}redirect(e){const t=this._choices.get(e);return t?t.redirect:void 0}}t.ChoiceSchema=n}));Vt(ao);ao.ChoiceSchema;var so=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{expected(){return"a number"}validate(e,t){return"number"===typeof e}}t.NumberSchema=n}));Vt(so);so.NumberSchema;var lo=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends so.NumberSchema{expected(){return"an integer"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&oo.isInt(e)}}t.IntegerSchema=n}));Vt(lo);lo.IntegerSchema;var uo=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class n extends eo.Schema{expected(){return"a string"}validate(e){return"string"===typeof e}}t.StringSchema=n}));Vt(uo);uo.StringSchema;var co=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(to,t),li.__exportStar(no,t),li.__exportStar(ro,t),li.__exportStar(io,t),li.__exportStar(ao,t),li.__exportStar(lo,t),li.__exportStar(so,t),li.__exportStar(uo,t)}));Vt(co);var ho=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.defaultDescriptor=si.apiDescriptor,t.defaultUnknownHandler=Ji.levenUnknownHandler,t.defaultInvalidHandler=Gi.commonInvalidHandler,t.defaultDeprecatedHandler=Hi.commonDeprecatedHandler}));Vt(ho);ho.defaultDescriptor,ho.defaultUnknownHandler,ho.defaultInvalidHandler,ho.defaultDeprecatedHandler;var po=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.normalize=(e,t,r)=>new n(t,r).normalize(e);class n{constructor(e,t){const{logger:n=console,descriptor:r=ho.defaultDescriptor,unknown:i=ho.defaultUnknownHandler,invalid:o=ho.defaultInvalidHandler,deprecated:a=ho.defaultDeprecatedHandler}=t||{};this._utils={descriptor:r,logger:n||{warn:()=>{}},schemas:oo.recordFromArray(e,"name"),normalizeDefaultResult:oo.normalizeDefaultResult,normalizeDeprecatedResult:oo.normalizeDeprecatedResult,normalizeForwardResult:oo.normalizeForwardResult,normalizeRedirectResult:oo.normalizeRedirectResult,normalizeValidateResult:oo.normalizeValidateResult},this._unknownHandler=i,this._invalidHandler=o,this._deprecatedHandler=a,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=oo.createAutoChecklist()}normalize(e){const t={},n=[e],r=()=>{while(0!==n.length){const e=n.shift(),r=this._applyNormalization(e,t);n.push(...r)}};r();for(const i of Object.keys(this._utils.schemas)){const e=this._utils.schemas[i];if(!(i in t)){const t=oo.normalizeDefaultResult(e.default(this._utils));"value"in t&&n.push({[i]:t.value})}}r();for(const i of Object.keys(this._utils.schemas)){const e=this._utils.schemas[i];i in t&&(t[i]=e.postprocess(t[i],this._utils))}return t}_applyNormalization(e,t){const n=[],[r,i]=oo.partition(Object.keys(e),e=>e in this._utils.schemas);for(const o of r){const r=this._utils.schemas[o],i=r.preprocess(e[o],this._utils),a=oo.normalizeValidateResult(r.validate(i,this._utils),i);if(!0!==a){const{value:e}=a,t=this._invalidHandler(o,e,this._utils);throw"string"===typeof t?new Error(t):t}const s=({from:e,to:t})=>{n.push("string"===typeof t?{[t]:e}:{[t.key]:t.value})},l=({value:e,redirectTo:t})=>{const n=oo.normalizeDeprecatedResult(r.deprecated(e,this._utils),i,!0);if(!1!==n)if(!0===n)this._hasDeprecationWarned(o)||this._utils.logger.warn(this._deprecatedHandler(o,t,this._utils));else for(const{value:r}of n){const e={key:o,value:r};if(!this._hasDeprecationWarned(e)){const n="string"===typeof t?{key:t,value:r}:t;this._utils.logger.warn(this._deprecatedHandler(e,n,this._utils))}}},u=oo.normalizeForwardResult(r.forward(i,this._utils),i);u.forEach(s);const c=oo.normalizeRedirectResult(r.redirect(i,this._utils),i);if(c.redirect.forEach(s),"remain"in c){const e=c.remain;t[o]=o in t?r.overlap(t[o],e,this._utils):e,l({value:e})}for(const{from:e,to:t}of c.redirect)l({value:e,redirectTo:t})}for(const o of i){const r=e[o],i=this._unknownHandler(o,r,this._utils);if(i)for(const e of Object.keys(i)){const r={[e]:i[e]};e in this._utils.schemas?n.push(r):Object.assign(t,r)}}return n}}t.Normalizer=n}));Vt(po);po.normalize,po.Normalizer;var fo=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),li.__exportStar(ui,t),li.__exportStar(Qi,t),li.__exportStar(co,t),li.__exportStar(po,t),li.__exportStar(eo,t)}));Vt(fo);const mo=[],go=[],vo=(e,t)=>{if(e===t)return 0;const n=e;e.length>t.length&&(e=t,t=n);let r=e.length,i=t.length;while(r>0&&e.charCodeAt(~-r)===t.charCodeAt(~-i))r--,i--;let o,a,s,l,u=0;while(ua?l>a?a+1:l:l>s?s+1:l;return a};var yo=vo,bo=vo;yo.default=bo;var Do={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};const xo={};for(const t of Object.keys(Do))xo[Do[t]]=t;const wo={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};var Co=wo;for(const t of Object.keys(wo)){if(!("channels"in wo[t]))throw new Error("missing channels property: "+t);if(!("labels"in wo[t]))throw new Error("missing channel labels property: "+t);if(wo[t].labels.length!==wo[t].channels)throw new Error("channel and label counts mismatch: "+t);const{channels:e,labels:n}=wo[t];delete wo[t].channels,delete wo[t].labels,Object.defineProperty(wo[t],"channels",{value:e}),Object.defineProperty(wo[t],"labels",{value:n})}function _o(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}function ko(){const e={},t=Object.keys(Co);for(let n=t.length,r=0;r1&&(i-=1)),[360*i,100*o,100*u]},wo.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];const i=wo.rgb.hsl(e)[0],o=1/255*Math.min(t,Math.min(n,r));return r=1-1/255*Math.max(t,Math.max(n,r)),[i,100*o,100*r]},wo.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.min(1-t,1-n,1-r),o=(1-t-i)/(1-i)||0,a=(1-n-i)/(1-i)||0,s=(1-r-i)/(1-i)||0;return[100*o,100*a,100*s,100*i]},wo.rgb.keyword=function(e){const t=xo[e];if(t)return t;let n,r=1/0;for(const i of Object.keys(Do)){const t=Do[i],o=_o(e,t);o.04045?((t+.055)/1.055)**2.4:t/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92;const i=.4124*t+.3576*n+.1805*r,o=.2126*t+.7152*n+.0722*r,a=.0193*t+.1192*n+.9505*r;return[100*i,100*o,100*a]},wo.rgb.lab=function(e){const t=wo.rgb.xyz(e);let n=t[0],r=t[1],i=t[2];n/=95.047,r/=100,i/=108.883,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;const o=116*r-16,a=500*(n-r),s=200*(r-i);return[o,a,s]},wo.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let i,o,a;if(0===n)return a=255*r,[a,a,a];i=r<.5?r*(1+n):r+n-r*n;const s=2*r-i,l=[0,0,0];for(let u=0;u<3;u++)o=t+1/3*-(u-1),o<0&&o++,o>1&&o--,a=6*o<1?s+6*(i-s)*o:2*o<1?i:3*o<2?s+(i-s)*(2/3-o)*6:s,l[u]=255*a;return l},wo.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,i=n;const o=Math.max(r,.01);r*=2,n*=r<=1?r:2-r,i*=o<=1?o:2-o;const a=(r+n)/2,s=0===r?2*i/(o+i):2*n/(r+n);return[t,100*s,100*a]},wo.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),l=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,l,a];case 1:return[s,r,a];case 2:return[a,r,l];case 3:return[a,s,r];case 4:return[l,a,r];case 5:return[r,a,s]}},wo.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,i=Math.max(r,.01);let o,a;a=(2-n)*r;const s=(2-n)*i;return o=n*i,o/=s<=1?s:2-s,o=o||0,a/=2,[t,100*o,100*a]},wo.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const i=n+r;let o;i>1&&(n/=i,r/=i);const a=Math.floor(6*t),s=1-r;o=6*t-a,0!==(1&a)&&(o=1-o);const l=n+o*(s-n);let u,c,h;switch(a){default:case 6:case 0:u=s,c=l,h=n;break;case 1:u=l,c=s,h=n;break;case 2:u=n,c=s,h=l;break;case 3:u=n,c=l,h=s;break;case 4:u=l,c=n,h=s;break;case 5:u=s,c=n,h=l;break}return[255*u,255*c,255*h]},wo.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,i=e[3]/100,o=1-Math.min(1,t*(1-i)+i),a=1-Math.min(1,n*(1-i)+i),s=1-Math.min(1,r*(1-i)+i);return[255*o,255*a,255*s]},wo.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let i,o,a;return i=3.2406*t+-1.5372*n+-.4986*r,o=-.9689*t+1.8758*n+.0415*r,a=.0557*t+-.204*n+1.057*r,i=i>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=o>.0031308?1.055*o**(1/2.4)-.055:12.92*o,a=a>.0031308?1.055*a**(1/2.4)-.055:12.92*a,i=Math.min(Math.max(0,i),1),o=Math.min(Math.max(0,o),1),a=Math.min(Math.max(0,a),1),[255*i,255*o,255*a]},wo.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];t/=95.047,n/=100,r/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,r=r>.008856?r**(1/3):7.787*r+16/116;const i=116*n-16,o=500*(t-n),a=200*(n-r);return[i,o,a]},wo.lab.xyz=function(e){const t=e[0],n=e[1],r=e[2];let i,o,a;o=(t+16)/116,i=n/500+o,a=o-r/200;const s=o**3,l=i**3,u=a**3;return o=s>.008856?s:(o-16/116)/7.787,i=l>.008856?l:(i-16/116)/7.787,a=u>.008856?u:(a-16/116)/7.787,i*=95.047,o*=100,a*=108.883,[i,o,a]},wo.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let i;const o=Math.atan2(r,n);i=360*o/2/Math.PI,i<0&&(i+=360);const a=Math.sqrt(n*n+r*r);return[t,a,i]},wo.lch.lab=function(e){const t=e[0],n=e[1],r=e[2],i=r/360*2*Math.PI,o=n*Math.cos(i),a=n*Math.sin(i);return[t,o,a]},wo.rgb.ansi16=function(e,t=null){const[n,r,i]=e;let o=null===t?wo.rgb.hsv(e)[2]:t;if(o=Math.round(o/50),0===o)return 30;let a=30+(Math.round(i/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===o&&(a+=60),a},wo.hsv.ansi16=function(e){return wo.rgb.ansi16(wo.hsv.rgb(e),e[2])},wo.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;const i=16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5);return i},wo.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];const n=.5*(1+~~(e>50)),r=(1&t)*n*255,i=(t>>1&1)*n*255,o=(t>>2&1)*n*255;return[r,i,o]},wo.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;e-=16;const n=Math.floor(e/36)/5*255,r=Math.floor((t=e%36)/6)/5*255,i=t%6/5*255;return[n,r,i]},wo.rgb.hex=function(e){const t=((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2])),n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n},wo.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split("").map(e=>e+e).join(""));const r=parseInt(n,16),i=r>>16&255,o=r>>8&255,a=255&r;return[i,o,a]},wo.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,i=Math.max(Math.max(t,n),r),o=Math.min(Math.min(t,n),r),a=i-o;let s,l;return s=a<1?o/(1-a):0,l=a<=0?0:i===t?(n-r)/a%6:i===n?2+(r-t)/a:4+(t-n)/a,l/=6,l%=1,[360*l,100*a,100*s]},wo.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let i=0;return r<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},wo.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},wo.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const i=[0,0,0],o=t%1*6,a=o%1,s=1-a;let l=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=a,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=a;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=a,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return l=(1-n)*r,[255*(n*i[0]+l),255*(n*i[1]+l),255*(n*i[2]+l)]},wo.hcg.hsv=function(e){const t=e[1]/100,n=e[2]/100,r=t+n*(1-t);let i=0;return r>0&&(i=t/r),[e[0],100*i,100*r]},wo.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100,r=n*(1-t)+.5*t;let i=0;return r>0&&r<.5?i=t/(2*r):r>=.5&&r<1&&(i=t/(2*(1-r))),[e[0],100*i,100*r]},wo.hcg.hwb=function(e){const t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],100*(r-t),100*(1-r)]},wo.hwb.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=1-n,i=r-t;let o=0;return i<1&&(o=(r-i)/(1-i)),[e[0],100*i,100*o]},wo.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},wo.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},wo.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},wo.gray.hsl=function(e){return[0,0,e[0]]},wo.gray.hsv=wo.gray.hsl,wo.gray.hwb=function(e){return[0,100,e[0]]},wo.gray.cmyk=function(e){return[0,0,0,e[0]]},wo.gray.lab=function(e){return[e[0],0,0]},wo.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=(t<<16)+(t<<8)+t,r=n.toString(16).toUpperCase();return"000000".substring(r.length)+r},wo.rgb.gray=function(e){const t=(e[0]+e[1]+e[2])/3;return[t/255*100]};var Fo=function(e){const t=Eo(e),n={},r=Object.keys(t);for(let i=r.length,o=0;o1&&(t=n),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function Lo(e){const t=function(...t){const n=t[0];if(void 0===n||null===n)return n;n.length>1&&(t=n);const r=e(t);if("object"===typeof r)for(let e=r.length,i=0;i{To[e]={},Object.defineProperty(To[e],"channels",{value:Co[e].channels}),Object.defineProperty(To[e],"labels",{value:Co[e].labels});const t=Fo(e),n=Object.keys(t);n.forEach(n=>{const r=t[n];To[e][n]=Lo(r),To[e][n].raw=No(r)})});var Bo=To,Po=Ht((function(e){const t=(e,t)=>(...n)=>{const r=e(...n);return"[".concat(r+t,"m")},n=(e,t)=>(...n)=>{const r=e(...n);return"[".concat(38+t,";5;").concat(r,"m")},r=(e,t)=>(...n)=>{const r=e(...n);return"[".concat(38+t,";2;").concat(r[0],";").concat(r[1],";").concat(r[2],"m")},i=e=>e,o=(e,t,n)=>[e,t,n],a=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let s;const l=(e,t,n,r)=>{void 0===s&&(s=Bo);const i=r?10:0,o={};for(const[a,l]of Object.entries(s)){const r="ansi16"===a?"ansi":a;a===t?o[r]=e(n,i):"object"===typeof l&&(o[r]=e(l[t],i))}return o};function u(){const e=new Map,s={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};s.color.gray=s.color.blackBright,s.bgColor.bgGray=s.bgColor.bgBlackBright,s.color.grey=s.color.blackBright,s.bgColor.bgGrey=s.bgColor.bgBlackBright;for(const[t,n]of Object.entries(s)){for(const[t,r]of Object.entries(n))s[t]={open:"[".concat(r[0],"m"),close:"[".concat(r[1],"m")},n[t]=s[t],e.set(r[0],r[1]);Object.defineProperty(s,t,{value:n,enumerable:!1})}return Object.defineProperty(s,"codes",{value:e,enumerable:!1}),s.color.close="",s.bgColor.close="",a(s.color,"ansi",()=>l(t,"ansi16",i,!1)),a(s.color,"ansi256",()=>l(n,"ansi256",i,!1)),a(s.color,"ansi16m",()=>l(r,"rgb",o,!1)),a(s.bgColor,"ansi",()=>l(t,"ansi16",i,!0)),a(s.bgColor,"ansi256",()=>l(n,"ansi256",i,!0)),a(s.bgColor,"ansi16m",()=>l(r,"rgb",o,!0)),s}Object.defineProperty(e,"exports",{enumerable:!0,get:u})})),Mo={isatty(){return!1}},jo=(e,t=Hn.argv)=>{const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),i=t.indexOf("--");return-1!==r&&(-1===i||r=2,has16m:e>=3}}function qo(e,t){if(0===$o)return 0;if(jo("color=16m")||jo("color=full")||jo("color=truecolor"))return 3;if(jo("color=256"))return 2;if(e&&!t&&void 0===$o)return 0;const n=$o||0;if("dumb"===Io.TERM)return n;if("win32"===Hn.platform){const e=ki.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in Io)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in Io)||"codeship"===Io.CI_NAME?1:n;if("TEAMCITY_VERSION"in Io)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Io.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in Io)return 1;if("truecolor"===Io.COLORTERM)return 3;if("TERM_PROGRAM"in Io){const e=parseInt((Io.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Io.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Io.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Io.TERM)||"COLORTERM"in Io?1:n}function zo(e){const t=qo(e,e&&e.isTTY);return Ro(t)}jo("no-color")||jo("no-colors")||jo("color=false")||jo("color=never")?$o=0:(jo("color")||jo("colors")||jo("color=true")||jo("color=always"))&&($o=1),"FORCE_COLOR"in Io&&($o="true"===Io.FORCE_COLOR?1:"false"===Io.FORCE_COLOR?0:0===Io.FORCE_COLOR.length?1:Math.min(parseInt(Io.FORCE_COLOR,10),3));var Vo={supportsColor:zo,stdout:Ro(qo(!0,Mo.isatty(1))),stderr:Ro(qo(!0,Mo.isatty(2)))};const Ho=(e,t,n)=>{let r=e.indexOf(t);if(-1===r)return e;const i=t.length;let o=0,a="";do{a+=e.substr(o,r-o)+t+n,o=r+i,r=e.indexOf(t,o)}while(-1!==r);return a+=e.substr(o),a},Wo=(e,t,n,r)=>{let i=0,o="";do{const a="\r"===e[r-1];o+=e.substr(i,(a?r-1:r)-i)+t+(a?"\r\n":"\n")+n,i=r+1,r=e.indexOf("\n",i)}while(-1!==r);return o+=e.substr(i),o};var Uo={stringReplaceAll:Ho,stringEncaseCRLFWithFirstIndex:Wo};const Go=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,Yo=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,Ko=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,Xo=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Jo=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function Zo(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):Jo.get(e)||e}function Qo(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let i;for(const o of r){const t=Number(o);if(Number.isNaN(t)){if(!(i=o.match(Ko)))throw new Error("Invalid Chalk template style argument: ".concat(o," (in style '").concat(e,"')"));n.push(i[2].replace(Xo,(e,t,n)=>t?Zo(t):n))}else n.push(t)}return n}function ea(e){Yo.lastIndex=0;const t=[];let n;while(null!==(n=Yo.exec(e))){const e=n[1];if(n[2]){const r=Qo(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function ta(e,t){const n={};for(const i of t)for(const e of i.styles)n[e[0]]=i.inverse?null:e.slice(1);let r=e;for(const[i,o]of Object.entries(n))if(Array.isArray(o)){if(!(i in r))throw new Error("Unknown Chalk style: ".concat(i));r=o.length>0?r[i](...o):r[i]}return r}var na=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(Go,(t,o,a,s,l,u)=>{if(o)i.push(Zo(o));else if(s){const t=i.join("");i=[],r.push(0===n.length?t:ta(e,n)(t)),n.push({inverse:a,styles:ea(s)})}else if(l){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(ta(e,n)(i.join(""))),i=[],n.pop()}else i.push(u)}),r.push(i.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")};const{stdout:ra,stderr:ia}=Vo,{stringReplaceAll:oa,stringEncaseCRLFWithFirstIndex:aa}=Uo,sa=["ansi","ansi","ansi256","ansi16m"],la=Object.create(null),ua=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const n=ra?ra.level:0;e.level=void 0===t.level?n:t.level};class ca{constructor(e){return ha(e)}}const ha=e=>{const t={};return ua(t,e),t.template=(...e)=>ba(t.template,...e),Object.setPrototypeOf(t,pa.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=ca,t.template};function pa(e){return ha(e)}for(const[t,gB]of Object.entries(Po))la[t]={get(){const e=ga(this,ma(gB.open,gB.close,this._styler),this._isEmpty);return Object.defineProperty(this,t,{value:e}),e}};la.visible={get(){const e=ga(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const da=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const t of da)la[t]={get(){const{level:e}=this;return function(...n){const r=ma(Po.color[sa[e]][t](...n),Po.color.close,this._styler);return ga(this,r,this._isEmpty)}}};for(const t of da){const e="bg"+t[0].toUpperCase()+t.slice(1);la[e]={get(){const{level:e}=this;return function(...n){const r=ma(Po.bgColor[sa[e]][t](...n),Po.bgColor.close,this._styler);return ga(this,r,this._isEmpty)}}}}const fa=Object.defineProperties(()=>{},Object.assign({},la,{level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}})),ma=(e,t,n)=>{let r,i;return void 0===n?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},ga=(e,t,n)=>{const r=(...e)=>va(r,1===e.length?""+e[0]:e.join(" "));return Object.setPrototypeOf(r,fa),r._generator=e,r._styler=t,r._isEmpty=n,r},va=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:i}=n;if(-1!==t.indexOf(""))while(void 0!==n)t=oa(t,n.close,n.open),n=n.parent;const o=t.indexOf("\n");return-1!==o&&(t=aa(t,i,r,o)),r+t+i};let ya;const ba=(e,...t)=>{const[n]=t;if(!Array.isArray(n))return t.join(" ");const r=t.slice(1),i=[n.raw[0]];for(let o=1;o1===e.length?"-".concat(e):"--".concat(e),value:e=>fo.apiDescriptor.value(e),pair:({key:e,value:t})=>!1===t?"--no-".concat(e):!0===t?wa.key(e):""===t?"".concat(wa.key(e)," without an argument"):"".concat(wa.key(e),"=").concat(t)};class Ca extends fo.ChoiceSchema{constructor({name:e,flags:t}){super({name:e,choices:t}),this._flags=t.slice().sort()}preprocess(e,t){if("string"===typeof e&&0!==e.length&&!this._flags.includes(e)){const n=this._flags.find(t=>yo(t,e)<3);if(n)return t.logger.warn(["Unknown flag ".concat(xa.yellow(t.descriptor.value(e)),","),"did you mean ".concat(xa.blue(t.descriptor.value(n)),"?")].join(" ")),n}return e}expected(){return"a flag"}}let _a;function ka(e,t,{logger:n,isCLI:r=!1,passThrough:i=!1}={}){const o=i?Array.isArray(i)?(e,t)=>i.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):fo.levenUnknownHandler,a=r?wa:fo.apiDescriptor,s=Ea(t,{isCLI:r}),l=new fo.Normalizer(s,{logger:n,unknown:o,descriptor:a}),u=!1!==n;u&&_a&&(l._hasDeprecationWarned=_a);const c=l.normalize(e);return u&&(_a=l._hasDeprecationWarned),c}function Ea(e,{isCLI:t}){const n=[];t&&n.push(fo.AnySchema.create({name:"_"}));for(const r of e)n.push(Sa(r,{isCLI:t,optionInfos:e})),r.alias&&t&&n.push(fo.AliasSchema.create({name:r.alias,sourceName:r.name}));return n}function Sa(e,{isCLI:t,optionInfos:n}){let r;const i={name:e.name},o={};switch(e.type){case"int":r=fo.IntegerSchema,t&&(i.preprocess=e=>Number(e));break;case"string":r=fo.StringSchema;break;case"choice":r=fo.ChoiceSchema,i.choices=e.choices.map(t=>"object"===typeof t&&t.redirect?Object.assign({},t,{redirect:{to:{key:e.name,value:t.redirect}}}):t);break;case"boolean":r=fo.BooleanSchema;break;case"flag":r=Ca,i.flags=n.map(e=>[].concat(e.alias||[],e.description?e.name:[],e.oppositeDescription?"no-".concat(e.name):[])).reduce((e,t)=>e.concat(t),[]);break;case"path":r=fo.StringSchema;break;default:throw new Error("Unexpected type ".concat(e.type))}if(e.exception?i.validate=(t,n,r)=>e.exception(t)||n.validate(t,r):i.validate=(e,t,n)=>void 0===e||t.validate(e,n),e.redirect&&(o.redirect=t=>t?{to:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(o.deprecated=!0),t&&!e.array){const e=i.preprocess||(e=>e);i.preprocess=(t,n,r)=>n.preprocess(e(Array.isArray(t)?t[t.length-1]:t),r)}return e.array?fo.ArraySchema.create(Object.assign({},t?{preprocess:e=>[].concat(e)}:{},{},o,{valueSchema:r.create(i)})):r.create(Object.assign({},i,{},o))}function Aa(e,t,n){return ka(e,t,n)}function Fa(e,t,n){return ka(e,t,Object.assign({isCLI:!0},n))}var Ta={normalizeApiOptions:Aa,normalizeCliOptions:Fa},Oa=e=>e[e.length-1];function Na(e,t){return t=t||{},!t.ignoreDecorators&&e.declaration&&e.declaration.decorators&&e.declaration.decorators.length>0?Na(e.declaration.decorators[0]):!t.ignoreDecorators&&e.decorators&&e.decorators.length>0?Na(e.decorators[0]):e.__location?e.__location.startOffset:e.range?e.range[0]:"number"===typeof e.start?e.start:e.loc?e.loc.start:null}function La(e){const t=e.nodes&&Oa(e.nodes);if(t&&e.source&&!e.source.end&&(e=t),e.__location)return e.__location.endOffset;const n=e.range?e.range[1]:"number"===typeof e.end?e.end:null;return e.typeAnnotation?Math.max(n,La(e.typeAnnotation)):e.loc&&!n?e.loc.end:n}function Ba(e,t=e){const n="number"===typeof t?t:-1,r=Na(e),i=-1!==n?r+n:La(t),o=e.loc.start;return{start:r,end:i,range:[r,i],loc:{start:o,end:-1!==n?{line:o.line,column:o.column+n}:t.loc.end}}}var Pa={locStart:Na,locEnd:La,composeLoc:Ba},Ma=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,t.matchToToken=function(e){var t={type:"invalid",value:e[0],closed:void 0};return e[1]?(t.type="string",t.closed=!(!e[3]&&!e[4])):e[5]?t.type="comment":e[6]?(t.type="comment",t.closed=!!e[7]):e[8]?t.type="regex":e[9]?t.type="number":e[10]?t.type="name":e[11]?t.type="punctuator":e[12]&&(t.type="whitespace"),t}}));Vt(Ma);Ma.matchToToken;var ja=Ht((function(e){(function(){function t(e){if(null==e)return!1;switch(e.type){case"ArrayExpression":case"AssignmentExpression":case"BinaryExpression":case"CallExpression":case"ConditionalExpression":case"FunctionExpression":case"Identifier":case"Literal":case"LogicalExpression":case"MemberExpression":case"NewExpression":case"ObjectExpression":case"SequenceExpression":case"ThisExpression":case"UnaryExpression":case"UpdateExpression":return!0}return!1}function n(e){if(null==e)return!1;switch(e.type){case"DoWhileStatement":case"ForInStatement":case"ForStatement":case"WhileStatement":return!0}return!1}function r(e){if(null==e)return!1;switch(e.type){case"BlockStatement":case"BreakStatement":case"ContinueStatement":case"DebuggerStatement":case"DoWhileStatement":case"EmptyStatement":case"ExpressionStatement":case"ForInStatement":case"ForStatement":case"IfStatement":case"LabeledStatement":case"ReturnStatement":case"SwitchStatement":case"ThrowStatement":case"TryStatement":case"VariableDeclaration":case"WhileStatement":case"WithStatement":return!0}return!1}function i(e){return r(e)||null!=e&&"FunctionDeclaration"===e.type}function o(e){switch(e.type){case"IfStatement":return null!=e.alternate?e.alternate:e.consequent;case"LabeledStatement":case"ForStatement":case"ForInStatement":case"WhileStatement":case"WithStatement":return e.body}return null}function a(e){var t;if("IfStatement"!==e.type)return!1;if(null==e.alternate)return!1;t=e.consequent;do{if("IfStatement"===t.type&&null==t.alternate)return!0;t=o(t)}while(t);return!1}e.exports={isExpression:t,isStatement:r,isIterationStatement:n,isSourceElement:i,isProblematicIfStatement:a,trailingStatement:o}})()})),Ia=(ja.isExpression,ja.isStatement,ja.isIterationStatement,ja.isSourceElement,ja.isProblematicIfStatement,ja.trailingStatement,Ht((function(e){(function(){var t,n,r,i,o,a;function s(e){return 48<=e&&e<=57}function l(e){return 48<=e&&e<=57||97<=e&&e<=102||65<=e&&e<=70}function u(e){return e>=48&&e<=55}function c(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&r.indexOf(e)>=0}function h(e){return 10===e||13===e||8232===e||8233===e}function p(e){if(e<=65535)return String.fromCharCode(e);var t=String.fromCharCode(Math.floor((e-65536)/1024)+55296),n=String.fromCharCode((e-65536)%1024+56320);return t+n}for(n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,NonAsciiIdentifierPart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/},t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},r=[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279],i=new Array(128),a=0;a<128;++a)i[a]=a>=97&&a<=122||a>=65&&a<=90||36===a||95===a;for(o=new Array(128),a=0;a<128;++a)o[a]=a>=97&&a<=122||a>=65&&a<=90||a>=48&&a<=57||36===a||95===a;function d(e){return e<128?i[e]:n.NonAsciiIdentifierStart.test(p(e))}function f(e){return e<128?o[e]:n.NonAsciiIdentifierPart.test(p(e))}function m(e){return e<128?i[e]:t.NonAsciiIdentifierStart.test(p(e))}function g(e){return e<128?o[e]:t.NonAsciiIdentifierPart.test(p(e))}e.exports={isDecimalDigit:s,isHexDigit:l,isOctalDigit:u,isWhiteSpace:c,isLineTerminator:h,isIdentifierStartES5:d,isIdentifierPartES5:f,isIdentifierStartES6:m,isIdentifierPartES6:g}})()}))),$a=(Ia.isDecimalDigit,Ia.isHexDigit,Ia.isOctalDigit,Ia.isWhiteSpace,Ia.isLineTerminator,Ia.isIdentifierStartES5,Ia.isIdentifierPartES5,Ia.isIdentifierStartES6,Ia.isIdentifierPartES6,Ht((function(e){(function(){var t=Ia;function n(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"let":return!0;default:return!1}}function r(e,t){return!(!t&&"yield"===e)&&i(e,t)}function i(e,t){if(t&&n(e))return!0;switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}}function o(e,t){return"null"===e||"true"===e||"false"===e||r(e,t)}function a(e,t){return"null"===e||"true"===e||"false"===e||i(e,t)}function s(e){return"eval"===e||"arguments"===e}function l(e){var n,r,i;if(0===e.length)return!1;if(i=e.charCodeAt(0),!t.isIdentifierStartES5(i))return!1;for(n=1,r=e.length;n=r)return!1;if(o=e.charCodeAt(n),!(56320<=o&&o<=57343))return!1;i=u(i,o)}if(!a(i))return!1;a=t.isIdentifierPartES6}return!0}function h(e,t){return l(e)&&!o(e,t)}function p(e,t){return c(e)&&!a(e,t)}e.exports={isKeywordES5:r,isKeywordES6:i,isReservedWordES5:o,isReservedWordES6:a,isRestrictedWord:s,isIdentifierNameES5:l,isIdentifierNameES6:c,isIdentifierES5:h,isIdentifierES6:p}})()}))),Ra=($a.isKeywordES5,$a.isKeywordES6,$a.isReservedWordES5,$a.isReservedWordES6,$a.isRestrictedWord,$a.isIdentifierNameES5,$a.isIdentifierNameES6,$a.isIdentifierES5,$a.isIdentifierES6,Ht((function(e,t){(function(){t.ast=ja,t.code=Ia,t.keyword=$a})()}))),qa=(Ra.ast,Ra.code,Ra.keyword,/[|\\{}()[\]^$+*?.]/g),za=function(e){if("string"!==typeof e)throw new TypeError("Expected a string");return e.replace(qa,"\\$&")},Va={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},Ha=Ht((function(e){var t={};for(var n in Va)Va.hasOwnProperty(n)&&(t[Va[n]]=n);var r=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var i in r)if(r.hasOwnProperty(i)){if(!("channels"in r[i]))throw new Error("missing channels property: "+i);if(!("labels"in r[i]))throw new Error("missing channel labels property: "+i);if(r[i].labels.length!==r[i].channels)throw new Error("channel and label counts mismatch: "+i);var o=r[i].channels,a=r[i].labels;delete r[i].channels,delete r[i].labels,Object.defineProperty(r[i],"channels",{value:o}),Object.defineProperty(r[i],"labels",{value:a})}function s(e,t){return Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)+Math.pow(e[2]-t[2],2)}r.rgb.hsl=function(e){var t,n,r,i=e[0]/255,o=e[1]/255,a=e[2]/255,s=Math.min(i,o,a),l=Math.max(i,o,a),u=l-s;return l===s?t=0:i===l?t=(o-a)/u:o===l?t=2+(a-i)/u:a===l&&(t=4+(i-o)/u),t=Math.min(60*t,360),t<0&&(t+=360),r=(s+l)/2,n=l===s?0:r<=.5?u/(l+s):u/(2-l-s),[t,100*n,100*r]},r.rgb.hsv=function(e){var t,n,r,i,o,a=e[0]/255,s=e[1]/255,l=e[2]/255,u=Math.max(a,s,l),c=u-Math.min(a,s,l),h=function(e){return(u-e)/6/c+.5};return 0===c?i=o=0:(o=c/u,t=h(a),n=h(s),r=h(l),a===u?i=r-n:s===u?i=1/3+t-r:l===u&&(i=2/3+n-t),i<0?i+=1:i>1&&(i-=1)),[360*i,100*o,100*u]},r.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2],o=r.rgb.hsl(e)[0],a=1/255*Math.min(t,Math.min(n,i));return i=1-1/255*Math.max(t,Math.max(n,i)),[o,100*a,100*i]},r.rgb.cmyk=function(e){var t,n,r,i,o=e[0]/255,a=e[1]/255,s=e[2]/255;return i=Math.min(1-o,1-a,1-s),t=(1-o-i)/(1-i)||0,n=(1-a-i)/(1-i)||0,r=(1-s-i)/(1-i)||0,[100*t,100*n,100*r,100*i]},r.rgb.keyword=function(e){var n=t[e];if(n)return n;var r,i=1/0;for(var o in Va)if(Va.hasOwnProperty(o)){var a=Va[o],l=s(e,a);l.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92;var i=.4124*t+.3576*n+.1805*r,o=.2126*t+.7152*n+.0722*r,a=.0193*t+.1192*n+.9505*r;return[100*i,100*o,100*a]},r.rgb.lab=function(e){var t,n,i,o=r.rgb.xyz(e),a=o[0],s=o[1],l=o[2];return a/=95.047,s/=100,l/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,s=s>.008856?Math.pow(s,1/3):7.787*s+16/116,l=l>.008856?Math.pow(l,1/3):7.787*l+16/116,t=116*s-16,n=500*(a-s),i=200*(s-l),[t,n,i]},r.hsl.rgb=function(e){var t,n,r,i,o,a=e[0]/360,s=e[1]/100,l=e[2]/100;if(0===s)return o=255*l,[o,o,o];n=l<.5?l*(1+s):l+s-l*s,t=2*l-n,i=[0,0,0];for(var u=0;u<3;u++)r=a+1/3*-(u-1),r<0&&r++,r>1&&r--,o=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,i[u]=255*o;return i},r.hsl.hsv=function(e){var t,n,r=e[0],i=e[1]/100,o=e[2]/100,a=i,s=Math.max(o,.01);return o*=2,i*=o<=1?o:2-o,a*=s<=1?s:2-s,n=(o+i)/2,t=0===o?2*a/(s+a):2*i/(o+i),[r,100*t,100*n]},r.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,i=Math.floor(t)%6,o=t-Math.floor(t),a=255*r*(1-n),s=255*r*(1-n*o),l=255*r*(1-n*(1-o));switch(r*=255,i){case 0:return[r,l,a];case 1:return[s,r,a];case 2:return[a,r,l];case 3:return[a,s,r];case 4:return[l,a,r];case 5:return[r,a,s]}},r.hsv.hsl=function(e){var t,n,r,i=e[0],o=e[1]/100,a=e[2]/100,s=Math.max(a,.01);return r=(2-o)*a,t=(2-o)*s,n=o*s,n/=t<=1?t:2-t,n=n||0,r/=2,[i,100*n,100*r]},r.hwb.rgb=function(e){var t,n,r,i,o,a,s,l=e[0]/360,u=e[1]/100,c=e[2]/100,h=u+c;switch(h>1&&(u/=h,c/=h),t=Math.floor(6*l),n=1-c,r=6*l-t,0!==(1&t)&&(r=1-r),i=u+r*(n-u),t){default:case 6:case 0:o=n,a=i,s=u;break;case 1:o=i,a=n,s=u;break;case 2:o=u,a=n,s=i;break;case 3:o=u,a=i,s=n;break;case 4:o=i,a=u,s=n;break;case 5:o=n,a=u,s=i;break}return[255*o,255*a,255*s]},r.cmyk.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100,s=e[3]/100;return t=1-Math.min(1,i*(1-s)+s),n=1-Math.min(1,o*(1-s)+s),r=1-Math.min(1,a*(1-s)+s),[255*t,255*n,255*r]},r.xyz.rgb=function(e){var t,n,r,i=e[0]/100,o=e[1]/100,a=e[2]/100;return t=3.2406*i+-1.5372*o+-.4986*a,n=-.9689*i+1.8758*o+.0415*a,r=.0557*i+-.204*o+1.057*a,t=t>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,t=Math.min(Math.max(0,t),1),n=Math.min(Math.max(0,n),1),r=Math.min(Math.max(0,r),1),[255*t,255*n,255*r]},r.xyz.lab=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];return i/=95.047,o/=100,a/=108.883,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,t=116*o-16,n=500*(i-o),r=200*(o-a),[t,n,r]},r.lab.xyz=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];n=(i+16)/116,t=o/500+n,r=n-a/200;var s=Math.pow(n,3),l=Math.pow(t,3),u=Math.pow(r,3);return n=s>.008856?s:(n-16/116)/7.787,t=l>.008856?l:(t-16/116)/7.787,r=u>.008856?u:(r-16/116)/7.787,t*=95.047,n*=100,r*=108.883,[t,n,r]},r.lab.lch=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];return t=Math.atan2(a,o),n=360*t/2/Math.PI,n<0&&(n+=360),r=Math.sqrt(o*o+a*a),[i,r,n]},r.lch.lab=function(e){var t,n,r,i=e[0],o=e[1],a=e[2];return r=a/360*2*Math.PI,t=o*Math.cos(r),n=o*Math.sin(r),[i,t,n]},r.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],o=1 in arguments?arguments[1]:r.rgb.hsv(e)[2];if(o=Math.round(o/50),0===o)return 30;var a=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(a+=60),a},r.hsv.ansi16=function(e){return r.rgb.ansi16(r.hsv.rgb(e),e[2])},r.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];if(t===n&&n===r)return t<8?16:t>248?231:Math.round((t-8)/247*24)+232;var i=16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5);return i},r.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];var n=.5*(1+~~(e>50)),r=(1&t)*n*255,i=(t>>1&1)*n*255,o=(t>>2&1)*n*255;return[r,i,o]},r.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;e-=16;var r=Math.floor(e/36)/5*255,i=Math.floor((n=e%36)/6)/5*255,o=n%6/5*255;return[r,i,o]},r.rgb.hex=function(e){var t=((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2])),n=t.toString(16).toUpperCase();return"000000".substring(n.length)+n},r.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16),i=r>>16&255,o=r>>8&255,a=255&r;return[i,o,a]},r.rgb.hcg=function(e){var t,n,r=e[0]/255,i=e[1]/255,o=e[2]/255,a=Math.max(Math.max(r,i),o),s=Math.min(Math.min(r,i),o),l=a-s;return t=l<1?s/(1-l):0,n=l<=0?0:a===r?(i-o)/l%6:a===i?2+(o-r)/l:4+(r-i)/l+4,n/=6,n%=1,[360*n,100*l,100*t]},r.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,i=0;return r=n<.5?2*t*n:2*t*(1-n),r<1&&(i=(n-.5*r)/(1-r)),[e[0],100*r,100*i]},r.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,i=0;return r<1&&(i=(n-r)/(1-r)),[e[0],100*r,100*i]},r.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var i=[0,0,0],o=t%1*6,a=o%1,s=1-a,l=0;switch(Math.floor(o)){case 0:i[0]=1,i[1]=a,i[2]=0;break;case 1:i[0]=s,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=a;break;case 3:i[0]=0,i[1]=s,i[2]=1;break;case 4:i[0]=a,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=s}return l=(1-n)*r,[255*(n*i[0]+l),255*(n*i[1]+l),255*(n*i[2]+l)]},r.hcg.hsv=function(e){var t=e[1]/100,n=e[2]/100,r=t+n*(1-t),i=0;return r>0&&(i=t/r),[e[0],100*i,100*r]},r.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100,r=n*(1-t)+.5*t,i=0;return r>0&&r<.5?i=t/(2*r):r>=.5&&r<1&&(i=t/(2*(1-r))),[e[0],100*i,100*r]},r.hcg.hwb=function(e){var t=e[1]/100,n=e[2]/100,r=t+n*(1-t);return[e[0],100*(r-t),100*(1-r)]},r.hwb.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1-n,i=r-t,o=0;return i<1&&(o=(r-i)/(1-i)),[e[0],100*i,100*o]},r.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},r.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},r.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},r.gray.hsl=r.gray.hsv=function(e){return[0,0,e[0]]},r.gray.hwb=function(e){return[0,100,e[0]]},r.gray.cmyk=function(e){return[0,0,0,e[0]]},r.gray.lab=function(e){return[e[0],0,0]},r.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=(t<<16)+(t<<8)+t,r=n.toString(16).toUpperCase();return"000000".substring(r.length)+r},r.rgb.gray=function(e){var t=(e[0]+e[1]+e[2])/3;return[t/255*100]}}));Ha.rgb,Ha.hsl,Ha.hsv,Ha.hwb,Ha.cmyk,Ha.xyz,Ha.lab,Ha.lch,Ha.hex,Ha.keyword,Ha.ansi16,Ha.ansi256,Ha.hcg,Ha.apple,Ha.gray;function Wa(){for(var e={},t=Object.keys(Ha),n=t.length,r=0;r1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}function Qa(e){var t=function(t){if(void 0===t||null===t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"===typeof n)for(var r=n.length,i=0;ifunction(){const n=e.apply(es,arguments);return"[".concat(n+t,"m")},n=(e,t)=>function(){const n=e.apply(es,arguments);return"[".concat(38+t,";5;").concat(n,"m")},r=(e,t)=>function(){const n=e.apply(es,arguments);return"[".concat(38+t,";2;").concat(n[0],";").concat(n[1],";").concat(n[2],"m")};function i(){const e=new Map,i={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};i.color.grey=i.color.gray;for(const t of Object.keys(i)){const n=i[t];for(const t of Object.keys(n)){const r=n[t];i[t]={open:"[".concat(r[0],"m"),close:"[".concat(r[1],"m")},n[t]=i[t],e.set(r[0],r[1])}Object.defineProperty(i,t,{value:n,enumerable:!1}),Object.defineProperty(i,"codes",{value:e,enumerable:!1})}const o=e=>e,a=(e,t,n)=>[e,t,n];i.color.close="",i.bgColor.close="",i.color.ansi={ansi:t(o,0)},i.color.ansi256={ansi256:n(o,0)},i.color.ansi16m={rgb:r(a,0)},i.bgColor.ansi={ansi:t(o,10)},i.bgColor.ansi256={ansi256:n(o,10)},i.bgColor.ansi16m={rgb:r(a,10)};for(let s of Object.keys(es)){if("object"!==typeof es[s])continue;const e=es[s];"ansi16"===s&&(s="ansi"),"ansi16"in e&&(i.color.ansi[s]=t(e.ansi16,0),i.bgColor.ansi[s]=t(e.ansi16,10)),"ansi256"in e&&(i.color.ansi256[s]=n(e.ansi256,0),i.bgColor.ansi256[s]=n(e.ansi256,10)),"rgb"in e&&(i.color.ansi16m[s]=r(e.rgb,0),i.bgColor.ansi16m[s]=r(e.rgb,10))}return i}Object.defineProperty(e,"exports",{enumerable:!0,get:i})}));const ns=Hn.env;let rs;function is(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function os(e){if(!1===rs)return 0;if(Ei("color=16m")||Ei("color=full")||Ei("color=truecolor"))return 3;if(Ei("color=256"))return 2;if(e&&!e.isTTY&&!0!==rs)return 0;const t=rs?1:0;if("win32"===Hn.platform){const e=ki.release().split(".");return Number(Hn.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in ns)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in ns)||"codeship"===ns.CI_NAME?1:t;if("TEAMCITY_VERSION"in ns)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ns.TEAMCITY_VERSION)?1:0;if("truecolor"===ns.COLORTERM)return 3;if("TERM_PROGRAM"in ns){const e=parseInt((ns.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ns.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ns.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ns.TERM)||"COLORTERM"in ns?1:(ns.TERM,t)}function as(e){const t=os(e);return is(t)}Ei("no-color")||Ei("no-colors")||Ei("color=false")?rs=!1:(Ei("color")||Ei("colors")||Ei("color=true")||Ei("color=always"))&&(rs=!0),"FORCE_COLOR"in ns&&(rs=0===ns.FORCE_COLOR.length||0!==parseInt(ns.FORCE_COLOR,10));var ss={supportsColor:as,stdout:as(Hn.stdout),stderr:as(Hn.stderr)};const ls=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,us=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,cs=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,hs=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,ps=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function ds(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):ps.get(e)||e}function fs(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let i;for(const o of r)if(isNaN(o)){if(!(i=o.match(cs)))throw new Error("Invalid Chalk template style argument: ".concat(o," (in style '").concat(e,"')"));n.push(i[2].replace(hs,(e,t,n)=>t?ds(t):n))}else n.push(Number(o));return n}function ms(e){us.lastIndex=0;const t=[];let n;while(null!==(n=us.exec(e))){const e=n[1];if(n[2]){const r=fs(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function gs(e,t){const n={};for(const i of t)for(const e of i.styles)n[e[0]]=i.inverse?null:e.slice(1);let r=e;for(const i of Object.keys(n))if(Array.isArray(n[i])){if(!(i in r))throw new Error("Unknown Chalk style: ".concat(i));r=n[i].length>0?r[i].apply(r,n[i]):r[i]}return r}var vs=(e,t)=>{const n=[],r=[];let i=[];if(t.replace(ls,(t,o,a,s,l,u)=>{if(o)i.push(ds(o));else if(s){const t=i.join("");i=[],r.push(0===n.length?t:gs(e,n)(t)),n.push({inverse:a,styles:ms(s)})}else if(l){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");r.push(gs(e,n)(i.join(""))),i=[],n.pop()}else i.push(u)}),r.push(i.join("")),n.length>0){const e="Chalk template literal is missing ".concat(n.length," closing bracket").concat(1===n.length?"":"s"," (`}`)");throw new Error(e)}return r.join("")},ys=Ht((function(e){const t=ss.stdout,n="win32"===Hn.platform&&!(Hn.env.TERM||"").toLowerCase().startsWith("xterm"),r=["ansi","ansi","ansi256","ansi16m"],i=new Set(["gray"]),o=Object.create(null);function a(e,n){n=n||{};const r=t?t.level:0;e.level=void 0===n.level?r:n.level,e.enabled="enabled"in n?n.enabled:e.level>0}function s(e){if(!this||!(this instanceof s)||this.template){const t={};return a(t,e),t.template=function(){const e=[].slice.call(arguments);return h.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,s.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=s,t.template}a(this,e)}n&&(ts.blue.open="");for(const p of Object.keys(ts))ts[p].closeRe=new RegExp(za(ts[p].close),"g"),o[p]={get(){const e=ts[p];return u.call(this,this._styles?this._styles.concat(e):[e],this._empty,p)}};o.visible={get(){return u.call(this,this._styles||[],!0,"visible")}},ts.color.closeRe=new RegExp(za(ts.color.close),"g");for(const p of Object.keys(ts.color.ansi))i.has(p)||(o[p]={get(){const e=this.level;return function(){const t=ts.color[r[e]][p].apply(null,arguments),n={open:t,close:ts.color.close,closeRe:ts.color.closeRe};return u.call(this,this._styles?this._styles.concat(n):[n],this._empty,p)}}});ts.bgColor.closeRe=new RegExp(za(ts.bgColor.close),"g");for(const p of Object.keys(ts.bgColor.ansi)){if(i.has(p))continue;const e="bg"+p[0].toUpperCase()+p.slice(1);o[e]={get(){const e=this.level;return function(){const t=ts.bgColor[r[e]][p].apply(null,arguments),n={open:t,close:ts.bgColor.close,closeRe:ts.bgColor.closeRe};return u.call(this,this._styles?this._styles.concat(n):[n],this._empty,p)}}}}const l=Object.defineProperties(()=>{},o);function u(e,t,n){const r=function e(){return c.apply(e,arguments)};r._styles=e,r._empty=t;const i=this;return Object.defineProperty(r,"level",{enumerable:!0,get(){return i.level},set(e){i.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get(){return i.enabled},set(e){i.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=l,r}function c(){const e=arguments,t=e.length;let r=String(arguments[0]);if(0===t)return"";if(t>1)for(let n=1;nr(e)).join("\n"):t[0]}))}function f(e){return i.default.supportsColor||e.forceColor}function m(e){let t=i.default;return e.forceColor&&(t=new i.default.constructor({enabled:!0,level:1})),t}function g(e,t={}){if(f(t)){const n=m(t),r=l(n);return d(r,e)}return e}})));Vt(bs);bs.shouldHighlight,bs.getChalk;var Ds=Ht((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.codeFrameColumns=u,t.default=c;var n=i(bs);function r(){if("function"!==typeof WeakMap)return null;var e=new WeakMap;return r=function(){return e},e}function i(e){if(e&&e.__esModule)return e;if(null===e||"object"!==typeof e&&"function"!==typeof e)return{default:e};var t=r();if(t&&t.has(e))return t.get(e);var n={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var a=i?Object.getOwnPropertyDescriptor(e,o):null;a&&(a.get||a.set)?Object.defineProperty(n,o,a):n[o]=e[o]}return n.default=e,t&&t.set(e,n),n}let o=!1;function a(e){return{gutter:e.grey,marker:e.red.bold,message:e.red.bold}}const s=/\r\n|[\n\r\u2028\u2029]/;function l(e,t,n){const r=Object.assign({column:0,line:-1},e.start),i=Object.assign({},r,{},e.end),{linesAbove:o=2,linesBelow:a=3}=n||{},s=r.line,l=r.column,u=i.line,c=i.column;let h=Math.max(s-(o+1),0),p=Math.min(t.length,u+a);-1===s&&(h=0),-1===u&&(p=t.length);const d=u-s,f={};if(d)for(let m=0;m<=d;m++){const e=m+s;if(l)if(0===m){const n=t[e-1].length;f[e]=[l,n-l+1]}else if(m===d)f[e]=[0,c];else{const n=t[e-m].length;f[e]=[0,n]}else f[e]=!0}else f[s]=l===c?!l||[l,0]:[l,c-l];return{start:h,end:p,markerLines:f}}function u(e,t,r={}){const i=(r.highlightCode||r.forceColor)&&(0,n.shouldHighlight)(r),o=(0,n.getChalk)(r),u=a(o),c=(e,t)=>i?e(t):t,h=e.split(s),{start:p,end:d,markerLines:f}=l(t,h,r),m=t.start&&"number"===typeof t.start.column,g=String(d).length,v=i?(0,n.default)(e,r):e;let y=v.split(s).slice(p,d).map((e,t)=>{const n=p+1+t,i=" ".concat(n).slice(-g),o=" ".concat(i," | "),a=f[n],s=!f[n+1];if(a){let t="";if(Array.isArray(a)){const n=e.slice(0,Math.max(a[0]-1,0)).replace(/[^\t]/g," "),i=a[1]||1;t=["\n ",c(u.gutter,o.replace(/\d/g," ")),n,c(u.marker,"^").repeat(i)].join(""),s&&r.message&&(t+=" "+c(u.message,r.message))}return[c(u.marker,">"),c(u.gutter,o),e,t].join("")}return" ".concat(c(u.gutter,o)).concat(e)}).join("\n");return r.message&&!m&&(y="".concat(" ".repeat(g+1)).concat(r.message,"\n").concat(y)),i?o.reset(y):y}function c(e,t,n,r={}){if(!o){o=!0;const e="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(Hn.emitWarning)Hn.emitWarning(e,"DeprecationWarning");else{const t=new Error(e);t.name="DeprecationWarning",console.warn(new Error(e))}}n=Math.max(n,0);const i={start:{column:n,line:t}};return u(e,i,r)}}));Vt(Ds);Ds.codeFrameColumns;const{ConfigError:xs}=en,{locStart:ws,locEnd:Cs}=Pa,_s=Object.getOwnPropertyNames,ks=Object.getOwnPropertyDescriptor;function Es(e){const t={};for(const n of e.plugins)if(n.parsers)for(const e of _s(n.parsers))Object.defineProperty(t,e,ks(n.parsers,e));return t}function Ss(e,t){if(t=t||Es(e),"function"===typeof e.parser)return{parse:e.parser,astFormat:"estree",locStart:ws,locEnd:Cs};if("string"===typeof e.parser){if(Object.prototype.hasOwnProperty.call(t,e.parser))return t[e.parser];throw new xs("Couldn't resolve parser \"".concat(e.parser,'". Parsers must be explicitly added to the standalone bundle.'))}}function As(e,t){const n=Es(t),r=Object.keys(n).reduce((e,t)=>Object.defineProperty(e,t,{enumerable:!0,get(){return n[t].parse}}),{}),i=Ss(t,n);try{return i.preprocess&&(e=i.preprocess(e,t)),{text:e,ast:i.parse(e,r,t)}}catch(o){const{loc:t}=o;if(t){const n=Ds;throw o.codeFrame=n.codeFrameColumns(e,t,{highlightCode:!0}),o.message+="\n"+o.codeFrame,o}throw o.stack}}var Fs={parse:As,resolveParser:Ss};const{UndefinedParserError:Ts}=en,{getSupportInfo:Os}=Ir,{resolveParser:Ns}=Fs,Ls={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};function Bs(e,t){t=t||{};const n=Object.assign({},e),r=Os({plugins:e.plugins,showUnreleased:!0,showDeprecated:!0}).options,i=Object.assign({},Ls,{},Xt(r.filter(e=>void 0!==e.default).map(e=>[e.name,e.default])));if(!n.parser)if(n.filepath){if(n.parser=js(n.filepath,n.plugins),!n.parser)throw new Ts("No parser could be inferred for file: ".concat(n.filepath))}else{const e=t.logger||console;e.warn("No parser and no filepath given, using 'babel' the parser now but this will throw an error in the future. Please specify a parser or a filepath so one can be inferred."),n.parser="babel"}const o=Ns(Ta.normalizeApiOptions(n,[r.find(e=>"parser"===e.name)],{passThrough:!0,logger:!1}));n.astFormat=o.astFormat,n.locEnd=o.locEnd,n.locStart=o.locStart;const a=Ps(n);n.printer=a.printers[n.astFormat];const s=r.filter(e=>e.pluginDefaults&&void 0!==e.pluginDefaults[a.name]).reduce((e,t)=>Object.assign(e,{[t.name]:t.pluginDefaults[a.name]}),{}),l=Object.assign({},i,{},s);return Object.keys(l).forEach(e=>{null==n[e]&&(n[e]=l[e])}),"json"===n.parser&&(n.trailingComma="none"),Ta.normalizeApiOptions(n,r,Object.assign({passThrough:Object.keys(Ls)},t))}function Ps(e){const{astFormat:t}=e;if(!t)throw new Error("getPlugin() requires astFormat to be set");const n=e.plugins.find(e=>e.printers&&e.printers[t]);if(!n)throw new Error("Couldn't find plugin for AST format \"".concat(t,'"'));return n}function Ms(e){if("string"!==typeof e)return"";let t;try{t=Ut.openSync(e,"r")}catch(n){return""}try{const e=new Yt(t),r=e.next().toString("utf8"),i=r.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/);if(i)return i[1];const o=r.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/);return o?o[1]:""}catch(n){return""}finally{try{Ut.closeSync(t)}catch(n){}}}function js(e,t){const n=Ae.basename(e).toLowerCase(),r=Os({plugins:t}).languages.filter(e=>null!==e.since);let i=r.find(e=>e.extensions&&e.extensions.some(e=>n.endsWith(e))||e.filenames&&e.filenames.find(e=>e.toLowerCase()===n));if(!i&&!n.includes(".")){const t=Ms(e);i=r.find(e=>e.interpreters&&e.interpreters.includes(t))}return i&&i.parsers[0]}var Is={normalize:Bs,hiddenDefaults:Ls,inferParser:js};function $s(e,t,n){if(Array.isArray(e))return e.map(e=>$s(e,t,n)).filter(Boolean);if(!e||"object"!==typeof e)return e;const r={};for(const i of Object.keys(e))"function"!==typeof e[i]&&(r[i]=$s(e[i],t,e));if(t.printer.massageAstNode){const i=t.printer.massageAstNode(e,r,n);if(null===i)return;if(i)return i}return r}var Rs=$s;function qs(){}function zs(e){return{type:"concat",parts:e}}function Vs(e){return{type:"indent",contents:e}}function Hs(e,t){return{type:"align",contents:t,n:e}}function Ws(e,t){return t=t||{},{type:"group",id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Us(e){return Hs(-1/0,e)}function Gs(e){return Hs({type:"root"},e)}function Ys(e){return Hs(-1,e)}function Ks(e,t){return Ws(e[0],Object.assign({},t,{expandedStates:e}))}function Xs(e){return{type:"fill",parts:e}}function Js(e,t,n){return n=n||{},{type:"if-break",breakContents:e,flatContents:t,groupId:n.groupId}}function Zs(e){return{type:"line-suffix",contents:e}}qs.ok=function(){},qs.strictEqual=function(){};const Qs={type:"line-suffix-boundary"},el={type:"break-parent"},tl={type:"trim"},nl={type:"line"},rl={type:"line",soft:!0},il=zs([{type:"line",hard:!0},el]),ol=zs([{type:"line",hard:!0,literal:!0},el]),al={type:"cursor",placeholder:Symbol("cursor")};function sl(e,t){const n=[];for(let r=0;r0){for(let e=0;e{const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")},hl=e=>"string"===typeof e?e.replace(cl(),""):e;const pl=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141));var dl=pl,fl=pl;dl.default=fl;var ml=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};const gl=e=>{if(e=e.replace(ml()," "),"string"!==typeof e||0===e.length)return 0;e=hl(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=dl(r)?2:1))}return t};var vl=gl,yl=gl;vl.default=yl;const bl=/[|\\{}()[\]^$+*?.-]/g;var Dl=e=>{if("string"!==typeof e)throw new TypeError("Expected a string");return e.replace(bl,"\\$&")};const xl=/[^\x20-\x7F]/;function wl(e){return e.length>1?e[e.length-2]:null}function Cl(e){return(t,n,r)=>{const i=r&&r.backwards;if(!1===n)return!1;const{length:o}=t;let a=n;while(a>=0&&a"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach((e,t)=>{e.forEach(e=>{zl[e]=t})});const Hl={"==":!0,"!=":!0,"===":!0,"!==":!0},Wl={"*":!0,"/":!0,"%":!0},Ul={">>":!0,">>>":!0,"<<":!0};function Gl(e,t){return Vl(t)===Vl(e)&&("**"!==e&&((!Hl[e]||!Hl[t])&&(!("%"===t&&Wl[e]||"%"===e&&Wl[t])&&((t===e||!Wl[t]||!Wl[e])&&(!Ul[e]||!Ul[t])))))}function Yl(e){return!!Ul[e]||"|"===e||"^"===e||"&"===e}function Kl(e,t){switch(e=Xl(e),e.type){case"FunctionExpression":case"ClassExpression":case"DoExpression":return t;case"ObjectExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return Kl(e.object,t);case"TaggedTemplateExpression":return"FunctionExpression"!==e.tag.type&&Kl(e.tag,t);case"CallExpression":case"OptionalCallExpression":return"FunctionExpression"!==e.callee.type&&Kl(e.callee,t);case"ConditionalExpression":return Kl(e.test,t);case"UpdateExpression":return!e.prefix&&Kl(e.argument,t);case"BindExpression":return e.object&&Kl(e.object,t);case"SequenceExpression":return Kl(e.expressions[0],t);case"TSAsExpression":return Kl(e.expression,t);default:return!1}}function Xl(e){return e.left?Xl(e.left):e}function Jl(e,t,n){n=n||0;let r=0;for(let i=n;it?a.quote:o.quote}return s}function eu(e,t,n){const r=e.slice(1,-1),i=!r.includes('"')&&!r.includes("'"),o="json"===t.parser?'"':t.__isInHtmlAttribute?"'":Ql(e,t.singleQuote?"'":'"');return n?i?o+r+o:e:tu(r,o,!("css"===t.parser||"less"===t.parser||"scss"===t.parser||t.embeddedInHtml))}function tu(e,t,n){const r='"'===t?"'":'"',i=/\\([\s\S])|(['"])/g,o=e.replace(i,(e,i,o)=>i===r?i:o===t?"\\"+o:o||(n&&/^[^\\nrvtbfux\r\n\u2028\u2029"'0-7]$/.test(i)?i:"\\"+i));return t+o+t}function nu(e){return e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(\d)/,"$1$2$3").replace(/^([+-]?[\d.]+)e[+-]?0+$/,"$1").replace(/^([+-])?\./,"$10.").replace(/(\.\d+?)0+(?=e|$)/,"$1").replace(/\.(?=e|$)/,"")}function ru(e,t){const n=e.match(new RegExp("(".concat(Dl(t),")+"),"g"));return null===n?0:n.reduce((e,n)=>Math.max(e,n.length/t.length),0)}function iu(e,t){const n=e.match(new RegExp("(".concat(Dl(t),")+"),"g"));if(null===n)return 0;const r=new Map;let i=0;for(const o of n){const e=o.length/t.length;r.set(e,!0),e>i&&(i=e)}for(let o=1;o0&&e.comments.some(e=>lu(e)&&!e.unignore)||e.prettierIgnore)}function lu(e){return"prettier-ignore"===e.value.trim()}function uu(e,t){const n=e.comments||(e.comments=[]);n.push(t),t.printed=!1,"JSXText"===e.type&&(t.printed=!0)}function cu(e,t){t.leading=!0,t.trailing=!1,uu(e,t)}function hu(e,t){t.leading=!1,t.trailing=!1,uu(e,t)}function pu(e,t){t.leading=!1,t.trailing=!0,uu(e,t)}function du(e,t){const n=e.getValue(),r=e.getParentNode();if(null==r)return!1;if(!Array.isArray(r[t]))return!1;const i=e.getName();return r[t][i]===n}function fu(e,t){const n=[];for(const r of e.split("\n"))0!==n.length&&n.push(t),n.push(r);return n}var mu={replaceEndOfLineWith:fu,getStringWidth:ou,getMaxContinuousCount:ru,getMinNotPresentContinuousCount:iu,getPrecedence:Vl,shouldFlatten:Gl,isBitwiseOperator:Yl,getPenultimate:wl,getLast:Oa,getNextNonSpaceNonCommentCharacterIndexWithStartIndex:Ml,getNextNonSpaceNonCommentCharacterIndex:jl,getNextNonSpaceNonCommentCharacter:Il,skip:Cl,skipWhitespace:_l,skipSpaces:kl,skipToLineEnd:El,skipEverythingButNewLine:Sl,skipInlineComment:Al,skipTrailingComment:Fl,skipNewline:Tl,isNextLineEmptyAfterIndex:Bl,isNextLineEmpty:Pl,isPreviousLineEmpty:Ll,hasNewline:Ol,hasNewlineInRange:Nl,hasSpaces:$l,setLocStart:Rl,setLocEnd:ql,startsWithNoLookaheadToken:Kl,getAlignmentSize:Jl,getIndentSize:Zl,getPreferredQuote:Ql,printString:eu,printNumber:nu,hasIgnoreComment:au,hasNodeIgnoreComment:su,isNodeIgnoreComment:lu,makeString:tu,addLeadingComment:cu,addDanglingComment:hu,addTrailingComment:pu,isWithinParentArrayProperty:du};function gu(e){const t=e.indexOf("\r");return t>=0?"\n"===e.charAt(t+1)?"crlf":"cr":"lf"}function vu(e){switch(e){case"cr":return"\r";case"crlf":return"\r\n";default:return"\n"}}var yu={guessEndOfLine:gu,convertEndOfLineToChars:vu};const{getStringWidth:bu}=mu,{convertEndOfLineToChars:Du}=yu,{concat:xu,fill:wu,cursor:Cu}=ul;let _u;const ku=1,Eu=2;function Su(){return{value:"",length:0,queue:[]}}function Au(e,t){return Tu(e,{type:"indent"},t)}function Fu(e,t,n){return t===-1/0?e.root||Su():t<0?Tu(e,{type:"dedent"},n):t?"root"===t.type?Object.assign({},e,{root:e}):Tu(e,"string"===typeof t?{type:"stringAlign",n:t}:{type:"numberAlign",n:t},n):e}function Tu(e,t,n){const r="dedent"===t.type?e.queue.slice(0,-1):e.queue.concat(t);let i="",o=0,a=0,s=0;for(const f of r)switch(f.type){case"indent":c(),n.useTabs?l(1):u(n.tabWidth);break;case"stringAlign":c(),i+=f.n,o+=f.n.length;break;case"numberAlign":a+=1,s+=f.n;break;default:throw new Error("Unexpected type '".concat(f.type,"'"))}return p(),Object.assign({},e,{value:i,length:o,queue:r});function l(e){i+="\t".repeat(e),o+=n.tabWidth*e}function u(e){i+=" ".repeat(e),o+=e}function c(){n.useTabs?h():p()}function h(){a>0&&l(a),d()}function p(){s>0&&u(s),d()}function d(){a=0,s=0}}function Ou(e){if(0===e.length)return 0;let t=0;while(e.length>0&&"string"===typeof e[e.length-1]&&e[e.length-1].match(/^[ \t]*$/))t+=e.pop().length;if(e.length&&"string"===typeof e[e.length-1]){const n=e[e.length-1].replace(/[ \t]*$/,"");t+=e[e.length-1].length-n.length,e[e.length-1]=n}return t}function Nu(e,t,n,r,i){let o=t.length;const a=[e],s=[];while(n>=0){if(0===a.length){if(0===o)return!0;a.push(t[o-1]),o--;continue}const[e,l,u]=a.pop();if("string"===typeof u)s.push(u),n-=bu(u);else switch(u.type){case"concat":for(let t=u.parts.length-1;t>=0;t--)a.push([e,l,u.parts[t]]);break;case"indent":a.push([Au(e,r),l,u.contents]);break;case"align":a.push([Fu(e,u.n,r),l,u.contents]);break;case"trim":n+=Ou(s);break;case"group":if(i&&u.break)return!1;a.push([e,u.break?ku:l,u.contents]),u.id&&(_u[u.id]=a[a.length-1][1]);break;case"fill":for(let t=u.parts.length-1;t>=0;t--)a.push([e,l,u.parts[t]]);break;case"if-break":{const t=u.groupId?_u[u.groupId]:l;t===ku&&u.breakContents&&a.push([e,l,u.breakContents]),t===Eu&&u.flatContents&&a.push([e,l,u.flatContents]);break}case"line":switch(l){case Eu:if(!u.hard){u.soft||(s.push(" "),n-=1);break}return!0;case ku:return!0}break}}return!1}function Lu(e,t){_u={};const n=t.printWidth,r=Du(t.endOfLine);let i=0;const o=[[Su(),ku,e]],a=[];let s=!1,l=[];while(0!==o.length){const[e,u,c]=o.pop();if("string"===typeof c){const e="\n"!==r&&c.includes("\n")?c.replace(/\n/g,r):c;a.push(e),i+=bu(e)}else switch(c.type){case"cursor":a.push(Cu.placeholder);break;case"concat":for(let t=c.parts.length-1;t>=0;t--)o.push([e,u,c.parts[t]]);break;case"indent":o.push([Au(e,t),u,c.contents]);break;case"align":o.push([Fu(e,c.n,t),u,c.contents]);break;case"trim":i-=Ou(a);break;case"group":switch(u){case Eu:if(!s){o.push([e,c.break?ku:Eu,c.contents]);break}case ku:{s=!1;const r=[e,Eu,c.contents],a=n-i;if(!c.break&&Nu(r,o,a,t))o.push(r);else if(c.expandedStates){const n=c.expandedStates[c.expandedStates.length-1];if(c.break){o.push([e,ku,n]);break}for(let r=1;r=c.expandedStates.length){o.push([e,ku,n]);break}{const n=c.expandedStates[r],i=[e,Eu,n];if(Nu(i,o,a,t)){o.push(i);break}}}}else o.push([e,ku,c.contents]);break}}c.id&&(_u[c.id]=o[o.length-1][1]);break;case"fill":{const r=n-i,{parts:a}=c;if(0===a.length)break;const[s,l]=a,h=[e,Eu,s],p=[e,ku,s],d=Nu(h,[],r,t,!0);if(1===a.length){d?o.push(h):o.push(p);break}const f=[e,Eu,l],m=[e,ku,l];if(2===a.length){d?(o.push(f),o.push(h)):(o.push(m),o.push(p));break}a.splice(0,2);const g=[e,u,wu(a)],v=a[0],y=[e,Eu,xu([s,l,v])],b=Nu(y,[],r,t,!0);b?(o.push(g),o.push(f),o.push(h)):d?(o.push(g),o.push(m),o.push(h)):(o.push(g),o.push(m),o.push(p));break}case"if-break":{const t=c.groupId?_u[c.groupId]:u;t===ku&&c.breakContents&&o.push([e,u,c.breakContents]),t===Eu&&c.flatContents&&o.push([e,u,c.flatContents]);break}case"line-suffix":l.push([e,u,c.contents]);break;case"line-suffix-boundary":l.length>0&&o.push([e,u,{type:"line",hard:!0}]);break;case"line":switch(u){case Eu:if(!c.hard){c.soft||(a.push(" "),i+=1);break}s=!0;case ku:if(l.length){o.push([e,u,c]),o.push(...l.reverse()),l=[];break}c.literal?e.root?(a.push(r,e.root.value),i=e.root.length):(a.push(r),i=0):(i-=Ou(a),a.push(r+e.value),i=e.length);break}break}}const u=a.indexOf(Cu.placeholder);if(-1!==u){const e=a.indexOf(Cu.placeholder,u+1),t=a.slice(0,u).join(""),n=a.slice(u+1,e).join(""),r=a.slice(e+1).join("");return{formatted:t+n+r,cursorNodeStart:t.length,cursorNodeText:n}}return{formatted:a.join("")}}var Bu={printDocToString:Lu};const Pu={};function Mu(e,t,n,r){const i=[e];while(0!==i.length){const e=i.pop();if(e===Pu){n(i.pop());continue}let o=!0;if(t&&!1===t(e)&&(o=!1),n&&(i.push(e),i.push(Pu)),o)if("concat"===e.type||"fill"===e.type)for(let t=e.parts.length,n=t-1;n>=0;--n)i.push(e.parts[n]);else if("if-break"===e.type)e.flatContents&&i.push(e.flatContents),e.breakContents&&i.push(e.breakContents);else if("group"===e.type&&e.expandedStates)if(r)for(let t=e.expandedStates.length,n=t-1;n>=0;--n)i.push(e.expandedStates[n]);else i.push(e.contents);else e.contents&&i.push(e.contents)}}function ju(e,t){if("concat"===e.type||"fill"===e.type){const n=e.parts.map(e=>ju(e,t));return t(Object.assign({},e,{parts:n}))}if("if-break"===e.type){const n=e.breakContents&&ju(e.breakContents,t),r=e.flatContents&&ju(e.flatContents,t);return t(Object.assign({},e,{breakContents:n,flatContents:r}))}if(e.contents){const n=ju(e.contents,t);return t(Object.assign({},e,{contents:n}))}return t(e)}function Iu(e,t,n){let r=n,i=!1;function o(e){const n=t(e);if(void 0!==n&&(i=!0,r=n),i)return!1}return Mu(e,o),r}function $u(e){return"string"===typeof e&&0===e.length}function Ru(e){return"string"!==typeof e&&("line"===e.type||void 0)}function qu(e){return Iu(e,Ru,!1)}function zu(e){return!("group"!==e.type||!e.break)||(!("line"!==e.type||!e.hard)||("break-parent"===e.type||void 0))}function Vu(e){return Iu(e,zu,!1)}function Hu(e){if(e.length>0){const t=e[e.length-1];t.expandedStates||(t.break=!0)}return null}function Wu(e){const t=new Set,n=[];function r(e){if("break-parent"===e.type&&Hu(n),"group"===e.type){if(n.push(e),t.has(e))return!1;t.add(e)}}function i(e){if("group"===e.type){const e=n.pop();e.break&&Hu(n)}}Mu(e,r,i,!0)}function Uu(e){return"line"!==e.type||e.hard?"if-break"===e.type?e.flatContents||"":e:e.soft?"":" "}function Gu(e){return ju(e,Uu)}function Yu(e){if("concat"===e.type&&0!==e.parts.length){const t=e.parts[e.parts.length-1];if("concat"===t.type)return 2===t.parts.length&&t.parts[0].hard&&"break-parent"===t.parts[1].type?{type:"concat",parts:e.parts.slice(0,-1)}:{type:"concat",parts:e.parts.slice(0,-1).concat(Yu(t))}}return e}var Ku={isEmpty:$u,willBreak:Vu,isLineNext:qu,traverseDoc:Mu,findInDoc:Iu,mapDoc:ju,propagateBreaks:Wu,removeLines:Gu,stripTrailingHardline:Yu};function Xu(e){if("concat"===e.type){const t=[];for(let n=0;n=0;--t)if(i(n[t])<=i(e)&&o(n[t])<=o(e))break;return void n.splice(t+1,0,e)}}else if(e[Ic])return e[Ic];const a=r.getCommentChildNodes&&r.getCommentChildNodes(e,t)||"object"===typeof e&&Object.keys(e).filter(e=>"enclosingNode"!==e&&"precedingNode"!==e&&"followingNode"!==e).map(t=>e[t]);return a?(n||Object.defineProperty(e,Ic,{value:n=[],enumerable:!1}),a.forEach(e=>{$c(e,t,n)}),n):void 0}function Rc(e,t,n){const{locStart:r,locEnd:i}=n,o=$c(e,n);let a,s,l=0,u=o.length;while(l>1,c=o[e];if(r(c)-r(t)<=0&&i(t)-i(c)<=0)return t.enclosingNode=c,void Rc(c,t,n);if(i(c)-r(t)<=0)a=c,l=e+1;else{if(!(i(t)-r(c)<=0))throw new Error("Comment location overlaps with node location");s=c,u=e}}if(t.enclosingNode&&"TemplateLiteral"===t.enclosingNode.type){const{quasis:e}=t.enclosingNode,r=Hc(e,t,n);a&&Hc(e,a,n)!==r&&(a=null),s&&Hc(e,s,n)!==r&&(s=null)}a&&(t.precedingNode=a),s&&(t.followingNode=s)}function qc(e,t,n,r){if(!Array.isArray(e))return;const i=[],{locStart:o,locEnd:a}=r;e.forEach((s,l)=>{if("json"===r.parser||"json5"===r.parser||"__js_expression"===r.parser||"__vue_expression"===r.parser){if(o(s)-o(t)<=0)return void Pc(t,s);if(a(s)-a(t)>=0)return void jc(t,s)}Rc(t,s,r);const{precedingNode:u,enclosingNode:c,followingNode:h}=s,p=r.printer.handleComments&&r.printer.handleComments.ownLine?r.printer.handleComments.ownLine:()=>!1,d=r.printer.handleComments&&r.printer.handleComments.endOfLine?r.printer.handleComments.endOfLine:()=>!1,f=r.printer.handleComments&&r.printer.handleComments.remaining?r.printer.handleComments.remaining:()=>!1,m=e.length-1===l;if(Nc(n,o(s),{backwards:!0}))p(s,n,r,t,m)||(h?Pc(h,s):u?jc(u,s):Mc(c||t,s));else if(Nc(n,a(s)))d(s,n,r,t,m)||(u?jc(u,s):h?Pc(h,s):Mc(c||t,s));else if(f(s,n,r,t,m));else if(u&&h){const e=i.length;if(e>0){const t=i[e-1];t.followingNode!==s.followingNode&&zc(i,n,r)}i.push(s)}else u?jc(u,s):h?Pc(h,s):Mc(c||t,s)}),zc(i,n,r),e.forEach(e=>{delete e.precedingNode,delete e.enclosingNode,delete e.followingNode})}function zc(e,t,n){const r=e.length;if(0===r)return;const{precedingNode:i,followingNode:o,enclosingNode:a}=e[0],s=n.printer.getGapRegex&&n.printer.getGapRegex(a)||/^[\s(]*$/;let l,u=n.locStart(o);for(l=r;l>0;--l){const r=e[l-1];qs.strictEqual(r.precedingNode,i),qs.strictEqual(r.followingNode,o);const a=t.slice(n.locEnd(r),u);if(!s.test(a))break;u=n.locStart(r)}e.forEach((e,t)=>{t{const n=e.getValue();!n||n.leading||n.trailing||r&&!r(n)||i.push(Vc(e,t))},"comments"),0===i.length?"":n?Tc(Ec,i):Ac(_c([Ec,Tc(Ec,i)]))):""}function Kc(e,t,n){return e.getNode()===t.cursorNode&&e.getValue()?_c([Oc,n,Oc]):n}function Xc(e,t,n,r){const i=e.getValue(),o=t(e),a=i&&i.comments;if(!a||0===a.length)return Kc(e,n,o);const s=[],l=[r?";":"",o];return e.each(e=>{const r=e.getValue(),{leading:i,trailing:o}=r;if(i){const i=Uc(e,t,n);if(!i)return;s.push(i);const o=n.originalText,a=Lc(o,n.locEnd(r));!1!==a&&Nc(o,a)&&s.push(Ec)}else o&&l.push(Gc(e,t,n))},"comments"),Kc(e,n,_c(s.concat(l)))}var Jc={attach:qc,printComments:Xc,printDanglingComments:Yc,getSortedChildNodes:$c};function Zc(e,t){const n=Qc(e.stack,t);return-1===n?null:e.stack[n]}function Qc(e,t){for(let n=e.length-1;n>=0;n-=2){const r=e[n];if(r&&!Array.isArray(r)&&--t<0)return n}return-1}class eh{constructor(e){this.stack=[e]}getName(){const{stack:e}=this,{length:t}=e;return t>1?e[t-2]:null}getValue(){return Oa(this.stack)}getNode(e=0){return Zc(this,e)}getParentNode(e=0){return Zc(this,e+1)}call(e,...t){const{stack:n}=this,{length:r}=n;let i=Oa(n);for(const a of t)i=i[a],n.push(a,i);const o=e(this);return n.length=r,o}callParent(e,t=0){const n=Qc(this.stack,t+1),r=this.stack.splice(n+1),i=e(this);return this.stack.push(...r),i}each(e,...t){const{stack:n}=this,{length:r}=n;let i=Oa(n);for(const o of t)i=i[o],n.push(o,i);for(let o=0;oih(e,t,n,r),n)}function ih(e,t,n,r){const i=nh(Object.assign({},n,{},t,{parentParser:n.parser,embeddedInHtml:!(!n.embeddedInHtml&&"html"!==n.parser&&"vue"!==n.parser&&"angular"!==n.parser&&"lwc"!==n.parser),originalText:e}),{passThrough:!0}),o=Fs.parse(e,i),{ast:a}=o;e=o.text;const s=a.comments;return delete a.comments,Jc.attach(s,a,e,i),r(a,i)}var oh={printSubtree:rh};const ah=Qu,sh=ah.builders,{concat:lh,hardline:uh,addAlignmentToDoc:ch}=sh,hh=ah.utils;function ph(e,t,n=0){const{printer:r}=t;r.preprocess&&(e=r.preprocess(e,t));const i=new Map;function o(e,n){const a=e.getValue(),s=a&&"object"===typeof a&&void 0===n;if(s&&i.has(a))return i.get(a);let l;return l=r.willPrintOwnComments&&r.willPrintOwnComments(e,t)?dh(e,t,o,n):Jc.printComments(e,e=>dh(e,t,o,n),t,n&&n.needsSemi),s&&i.set(a,l),l}let a=o(new th(e));return n>0&&(a=ch(lh([uh,a]),n,t.tabWidth)),hh.propagateBreaks(a),a}function dh(e,t,n,r){qs.ok(e instanceof th);const i=e.getValue(),{printer:o}=t;if(o.hasPrettierIgnore&&o.hasPrettierIgnore(e))return t.originalText.slice(t.locStart(i),t.locEnd(i));if(i)try{const r=oh.printSubtree(e,n,t,ph);if(r)return r}catch(a){if(zt.PRETTIER_DEBUG)throw a}return o.print(e,t,n,r)}var fh=ph;function mh(e,t,n){let r=e.node,i=t.node;if(r===i)return{startNode:r,endNode:i};for(const o of t.parentNodes){if(!("Program"!==o.type&&"File"!==o.type&&n.locStart(o)>=n.locStart(e.node)))break;i=o}for(const o of e.parentNodes){if(!("Program"!==o.type&&"File"!==o.type&&n.locEnd(o)<=n.locEnd(t.node)))break;r=o}return{startNode:r,endNode:i}}function gh(e,t,n,r,i){r=r||(()=>!0),i=i||[];const o=n.locStart(e,n.locStart),a=n.locEnd(e,n.locEnd);if(o<=t&&t<=a){for(const o of Jc.getSortedChildNodes(e,n)){const a=gh(o,t,n,r,[e].concat(i));if(a)return a}if(r(e))return{node:e,parentNodes:i}}}function vh(e,t){if(null==t)return!1;const n=["FunctionDeclaration","BlockStatement","BreakStatement","ContinueStatement","DebuggerStatement","DoWhileStatement","EmptyStatement","ExpressionStatement","ForInStatement","ForStatement","IfStatement","LabeledStatement","ReturnStatement","SwitchStatement","ThrowStatement","TryStatement","VariableDeclaration","WhileStatement","WithStatement","ClassDeclaration","ImportDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExportAllDeclaration","TypeAlias","InterfaceDeclaration","TypeAliasDeclaration","ExportAssignment","ExportDeclaration"],r=["ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral"],i=["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"];switch(e.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":return n.includes(t.type);case"json":return r.includes(t.type);case"graphql":return i.includes(t.kind);case"vue":return"root"!==t.tag}return!1}function yh(e,t,n){const r=e.slice(t.rangeStart,t.rangeEnd),i=Math.max(t.rangeStart+r.search(/\S/),t.rangeStart);let o;for(o=t.rangeEnd;o>t.rangeStart;--o)if(e[o-1].match(/\S/))break;const a=gh(n,i,t,e=>vh(t,e)),s=gh(n,o,t,e=>vh(t,e));if(!a||!s)return{rangeStart:0,rangeEnd:0};const l=mh(a,s,t),{startNode:u,endNode:c}=l,h=Math.min(t.locStart(u,t.locStart),t.locStart(c,t.locStart)),p=Math.max(t.locEnd(u,t.locEnd),t.locEnd(c,t.locEnd));return{rangeStart:h,rangeEnd:p}}var bh={calculateRange:yh,findNodeAtOffset:gh},Dh=Wt(xe);const xh=Is.normalize,{guessEndOfLine:wh,convertEndOfLineToChars:Ch}=yu,{printer:{printDocToString:_h},debug:{printDocToDebug:kh}}=Qu,Eh="\ufeff",Sh=Symbol("cursor"),Ah={cursorOffset:"<<>>",rangeStart:"<<>>",rangeEnd:"<<>>"};function Fh(e){if(e){for(let t=0;t{if(!e.printed)throw new Error('Comment "'+e.value.trim()+'" was not printed. Please report this error!');delete e.printed})}}function Th(e,t,n){const r=t.comments;return r&&(delete t.comments,Jc.attach(r,t,e,n)),t.tokens=[],n.originalText="yaml"===n.parser?e:e.trimEnd(),r}function Oh(e,t,n){if(!e||!e.trim().length)return{formatted:"",cursorOffset:0};n=n||0;const r=Fs.parse(e,t),{ast:i}=r;if(e=r.text,t.cursorOffset>=0){const e=bh.findNodeAtOffset(i,t.cursorOffset,t);e&&e.node&&(t.cursorNode=e.node)}const o=Th(e,i,t),a=fh(i,t,n),s=_h(a,t);if(Fh(o),n>0){const e=s.formatted.trim();void 0!==s.cursorNodeStart&&(s.cursorNodeStart-=s.formatted.indexOf(e)),s.formatted=e+Ch(t.endOfLine)}if(t.cursorOffset>=0){let n,r,i,o,a;if(t.cursorNode&&s.cursorNodeText?(n=t.locStart(t.cursorNode),r=e.slice(n,t.locEnd(t.cursorNode)),i=t.cursorOffset-n,o=s.cursorNodeStart,a=s.cursorNodeText):(n=0,r=e,i=t.cursorOffset,o=0,a=s.formatted),r===a)return{formatted:s.formatted,cursorOffset:o+i};const l=r.split("");l.splice(i,0,Sh);const u=a.split(""),c=Dh.diffArrays(l,u);let h=o;for(const e of c)if(e.removed){if(e.value.includes(Sh))break}else h+=e.count;return{formatted:s.formatted,cursorOffset:h}}return{formatted:s.formatted}}function Nh(e,t){const n=Fs.parse(e,t),{ast:r}=n;e=n.text;const i=bh.calculateRange(e,t,r),{rangeStart:o,rangeEnd:a}=i,s=e.slice(o,a),l=Math.min(o,e.lastIndexOf("\n",o)+1),u=e.slice(l,o),c=mu.getAlignmentSize(u,t.tabWidth),h=Oh(s,Object.assign({},t,{rangeStart:0,rangeEnd:1/0,cursorOffset:t.cursorOffset>=o&&t.cursorOffset=a?g=t.cursorOffset-a+(o+p.length):void 0!==h.cursorOffset&&(g=h.cursorOffset+o),"lf"===t.endOfLine)m=d+p+f;else{const e=Ch(t.endOfLine);if(g>=0){const t=[d,p,f];let n=0,r=g;while(n(g=t,""))}else m=d.replace(/\n/g,e)+p+f.replace(/\n/g,e)}return{formatted:m,cursorOffset:g}}function Lh(e,t){const n=Fs.resolveParser(t),r=!n.hasPragma||n.hasPragma(e);if(t.requirePragma&&!r)return{formatted:e};"auto"===t.endOfLine&&(t.endOfLine=wh(e));const i=t.cursorOffset>=0,o=t.rangeStart>0,a=t.rangeEndt[e]-t[n]);for(let r=n.length-1;r>=0;r--){const i=n[r];e=e.slice(0,t[i])+Ah[i]+e.slice(t[i])}e=e.replace(/\r\n?/g,"\n");for(let r=0;r(t[i]=n,""))}}const s=e.charAt(0)===Eh;s&&(e=e.slice(1),i&&t.cursorOffset++,o&&t.rangeStart++,a&&t.rangeEnd++),i||(t.cursorOffset=-1),t.rangeStart<0&&(t.rangeStart=0),t.rangeEnd>e.length&&(t.rangeEnd=e.length);const l=o||a?Nh(e,t):Oh(t.insertPragma&&t.printer.insertPragma&&!r?t.printer.insertPragma(e):e,t);return s&&(l.formatted=Eh+l.formatted,i&&l.cursorOffset++),l}var Bh={formatWithCursor(e,t){return t=xh(t),Lh(e,t)},parse(e,t,n){t=xh(t),e.includes("\r")&&(e=e.replace(/\r\n?/g,"\n"));const r=Fs.parse(e,t);return n&&(r.ast=Rs(r.ast,t)),r},formatAST(e,t){t=xh(t);const n=fh(e,t);return _h(n,t)},formatDoc(e,t){const n=kh(e);return t=xh(Object.assign({},t,{parser:"babel"})),Lh(n,t).formatted},printToDoc(e,t){t=xh(t);const n=Fs.parse(e,t),{ast:r}=n;return e=n.text,Th(e,r,t),fh(r,t)},printDocToString(e,t){return _h(e,xh(t))}};function Ph(e,t,n){if(["raw","raws","sourceIndex","source","before","after","trailingComma"].forEach(e=>{delete t[e]}),"yaml"===e.type&&delete t.value,"css-comment"===e.type&&"css-root"===n.type&&0!==n.nodes.length&&(n.nodes[0]===e||("yaml"===n.nodes[0].type||"toml"===n.nodes[0].type)&&n.nodes[1]===e)&&(delete t.text,/^\*\s*@(format|prettier)\s*$/.test(e.text)))return null;if("media-query"!==e.type&&"media-query-list"!==e.type&&"media-feature-expression"!==e.type||delete t.value,"css-rule"===e.type&&delete t.params,"selector-combinator"===e.type&&(t.value=t.value.replace(/\s+/g," ")),"media-feature"===e.type&&(t.value=t.value.replace(/ /g,"")),("value-word"===e.type&&(e.isColor&&e.isHex||["initial","inherit","unset","revert"].includes(t.value.replace().toLowerCase()))||"media-feature"===e.type||"selector-root-invalid"===e.type||"selector-pseudo"===e.type)&&(t.value=t.value.toLowerCase()),"css-decl"===e.type&&(t.prop=t.prop.toLowerCase()),"css-atrule"!==e.type&&"css-import"!==e.type||(t.name=t.name.toLowerCase()),"value-number"===e.type&&(t.unit=t.unit.toLowerCase()),"media-feature"!==e.type&&"media-keyword"!==e.type&&"media-type"!==e.type&&"media-unknown"!==e.type&&"media-url"!==e.type&&"media-value"!==e.type&&"selector-attribute"!==e.type&&"selector-string"!==e.type&&"selector-class"!==e.type&&"selector-combinator"!==e.type&&"value-string"!==e.type||!t.value||(t.value=Mh(t.value)),"selector-attribute"===e.type&&(t.attribute=t.attribute.trim(),t.namespace&&"string"===typeof t.namespace&&(t.namespace=t.namespace.trim(),0===t.namespace.length&&(t.namespace=!0)),t.value&&(t.value=t.value.trim().replace(/^['"]|['"]$/g,""),delete t.quoted)),"media-value"!==e.type&&"media-type"!==e.type&&"value-number"!==e.type&&"selector-root-invalid"!==e.type&&"selector-class"!==e.type&&"selector-combinator"!==e.type&&"selector-tag"!==e.type||!t.value||(t.value=t.value.replace(/([\d.eE+-]+)([a-zA-Z]*)/g,(e,t,n)=>{const r=Number(t);return isNaN(r)?e:r+n.toLowerCase()})),"selector-tag"===e.type){const n=e.value.toLowerCase();["from","to"].includes(n)&&(t.value=n)}"css-atrule"===e.type&&"supports"===e.name.toLowerCase()&&delete t.value,"selector-unknown"===e.type&&delete t.value}function Mh(e){return e.replace(/'/g,'"').replace(/\\([^a-fA-F\d])/g,"$1")}var jh=Ph;const{builders:{hardline:Ih,literalline:$h,concat:Rh,markAsRoot:qh},utils:{mapDoc:zh}}=Qu;function Vh(e,t,n){const r=e.getValue();return"yaml"===r.type?qh(Rh(["---",Ih,r.value.trim()?i(n(r.value,{parser:"yaml"})):"","---",Ih])):null;function i(e){return zh(e,e=>"string"===typeof e&&e.includes("\n")?Rh(e.split(/(\n)/g).map((e,t)=>t%2===0?e:$h)):e)}}var Hh=Vh;const Wh=e=>{if("string"!==typeof e)throw new TypeError("Expected a string");const t=e.match(/(?:\r?\n)/g)||[];if(0===t.length)return;const n=t.filter(e=>"\r\n"===e).length,r=t.length-n;return n>r?"\r\n":"\n"};var Uh=Wh,Gh=e=>"string"===typeof e&&Wh(e)||"\n";Uh.graceful=Gh;var Yh=Ht((function(e,t){function n(){const e=ki;return n=function(){return e},e}function r(){const e=i(Uh);return r=function(){return e},e}function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0}),t.extract=d,t.strip=f,t.parse=m,t.parseWithComments=g,t.print=v;const o=/\*\/$/,a=/^\/\*\*/,s=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,l=/(^|\s+)\/\/([^\r\n]*)/g,u=/^(\r?\n)+/,c=/(?:^|\r?\n) *(@[^\r\n]*?) *\r?\n *(?![^@\r\n]*\/\/[^]*)([^@\r\n\s][^@\r\n]+?) *\r?\n/g,h=/(?:^|\r?\n) *@(\S+) *([^\r\n]*)/g,p=/(\r?\n|^) *\* ?/g;function d(e){const t=e.match(s);return t?t[0].trimLeft():""}function f(e){const t=e.match(s);return t&&t[0]?e.substring(t[0].length):e}function m(e){return g(e).pragmas}function g(e){const t=(0,r().default)(e)||n().EOL;e=e.replace(a,"").replace(o,"").replace(p,"$1");let i="";while(i!==e)i=e,e=e.replace(c,"".concat(t,"$1 $2").concat(t));e=e.replace(u,"").trimRight();const s=Object.create(null),d=e.replace(h,"").replace(u,"").trimRight();let f;while(f=h.exec(e)){const e=f[2].replace(l,"");"string"===typeof s[f[1]]||Array.isArray(s[f[1]])?s[f[1]]=[].concat(s[f[1]],e):s[f[1]]=e}return{comments:d,pragmas:s}}function v({comments:e="",pragmas:t={}}){const i=(0,r().default)(e)||n().EOL,o="/**",a=" *",s=" */",l=Object.keys(t),u=l.map(e=>y(e,t[e])).reduce((e,t)=>e.concat(t),[]).map(e=>a+" "+e+i).join("");if(!e){if(0===l.length)return"";if(1===l.length&&!Array.isArray(t[l[0]])){const e=t[l[0]];return"".concat(o," ").concat(y(l[0],e)[0]).concat(s)}}const c=e.split(i).map(e=>"".concat(a," ").concat(e)).join(i)+i;return o+i+(e?c:"")+(e&&l.length?a+i:"")+u+s}function y(e,t){return[].concat(t).map(t=>"@".concat(e," ").concat(t).trim())}}));Vt(Yh);Yh.extract,Yh.strip,Yh.parse,Yh.parseWithComments,Yh.print;function Kh(e){const t=Object.keys(Yh.parse(Yh.extract(e)));return t.includes("prettier")||t.includes("format")}function Xh(e){const t=Yh.parseWithComments(Yh.extract(e)),n=Object.assign({format:""},t.pragmas),r=Yh.print({pragmas:n,comments:t.comments.replace(/^(\s+?\r?\n)+/,"")}).replace(/(\r\n|\r)/g,"\n"),i=Yh.strip(e),o=i.startsWith("\n")?"\n":"\n\n";return r+o+i}var Jh={hasPragma:Kh,insertPragma:Xh};const Zh={"---":"yaml","+++":"toml"};function Qh(e){const t=Object.keys(Zh).map(Dl).join("|"),n=e.match(new RegExp("^(".concat(t,")[^\\n\\S]*\\n(?:([\\s\\S]*?)\\n)?\\1[^\\n\\S]*(\\n|$)")));if(null===n)return{frontMatter:null,content:e};const[r,i,o]=n;return{frontMatter:{type:Zh[i],value:o,raw:r.replace(/\n$/,"")},content:r.replace(/[^\n]/g," ")+e.slice(r.length)}}var ep=Qh;function tp(e){return Jh.hasPragma(ep(e).content)}function np(e){const{frontMatter:t,content:n}=ep(e);return(t?t.raw+"\n\n":"")+Jh.insertPragma(n)}var rp={hasPragma:tp,insertPragma:np},ip=function(e,t){let n=0;for(let r=0;r","<=",">="].includes(e.value)}function $p(e){return"css-atrule"===e.type&&["if","else","for","each","while"].includes(e.name)}function Rp(e){return!!e.selector&&e.selector.replace(/\/\*.*?\*\//,"").replace(/\/\/.*?\n/,"").trim().endsWith(":")}function qp(e){return e.raws&&e.raws.params&&/^\(\s*\)$/.test(e.raws.params)}function zp(e){return e.name.startsWith("prettier-placeholder")}function Vp(e){return e.prop.startsWith("@prettier-placeholder")}function Hp(e,t){return"$$"===e.value&&"value-func"===e.type&&t&&"value-word"===t.type&&!t.raws.before}function Wp(e){return e.value&&"value-root"===e.value.type&&e.value.group&&"value-value"===e.value.group.type&&"composes"===e.prop.toLowerCase()}function Up(e){return e.value&&e.value.group&&e.value.group.group&&"value-paren_group"===e.value.group.group.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close}function Gp(e){return e.raws&&""===e.raws.before}function Yp(e){return"value-comma_group"===e.type&&e.groups&&e.groups[1]&&"value-colon"===e.groups[1].type}function Kp(e){return"value-paren_group"===e.type&&e.groups&&e.groups[0]&&Yp(e.groups[0])}function Xp(e){const t=e.getValue();if(0===t.groups.length)return!1;const n=e.getParentNode(1);if(!Kp(t)&&(!n||!Kp(n)))return!1;const r=mp(e,"css-decl");return!!(r&&r.prop&&r.prop.startsWith("$"))||(!!Kp(n)||"value-func"===n.type)}function Jp(e){return"value-comment"===e.type&&e.inline}function Zp(e){return"value-word"===e.type&&"#"===e.value}function Qp(e){return"value-word"===e.type&&"{"===e.value}function ed(e){return"value-word"===e.type&&"}"===e.value}function td(e){return["value-word","value-atword"].includes(e.type)}function nd(e){return"value-colon"===e.type}function rd(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())}function id(e){return"value-func"===e.type&&dp.includes(e.value.toLowerCase())}function od(e){return"css"===e.parser||"less"===e.parser}function ad(e){return/\/\//.test(e.split(/[\r\n]/).pop())}var sd={getAncestorCounter:fp,getAncestorNode:mp,getPropOfDeclNode:gp,maybeToLowerCase:Dp,insideValueFunctionNode:xp,insideICSSRuleNode:wp,insideAtRuleNode:Cp,insideURLFunctionInImportAtRuleNode:_p,isKeyframeAtRuleKeywords:bp,isWideKeywords:yp,isSCSS:vp,isLastNode:Ep,isLessParser:od,isSCSSControlDirectiveNode:$p,isDetachedRulesetDeclarationNode:Sp,isRelationalOperatorNode:Ip,isEqualityOperatorNode:jp,isMultiplicationNode:Op,isDivisionNode:Np,isAdditionNode:Lp,isSubtractionNode:Bp,isModuloNode:Pp,isMathOperatorNode:Mp,isEachKeywordNode:Tp,isForKeywordNode:Ap,isURLFunctionNode:kp,isIfElseKeywordNode:Fp,hasComposesNode:Wp,hasParensAroundNode:Up,hasEmptyRawBefore:Gp,isSCSSNestedPropertyNode:Rp,isDetachedRulesetCallNode:qp,isTemplatePlaceholderNode:zp,isTemplatePropNode:Vp,isPostcssSimpleVarNode:Hp,isKeyValuePairNode:Yp,isKeyValuePairInParenGroupNode:Kp,isSCSSMapItemNode:Xp,isInlineValueCommentNode:Jp,isHashNode:Zp,isLeftCurlyBraceNode:Qp,isRightCurlyBraceNode:ed,isWordNode:td,isColonNode:nd,isMediaAndSupportsKeywords:rd,isColorAdjusterFuncNode:id,lastLineHasInlineComment:ad};const{insertPragma:ld}=rp,{printNumber:ud,printString:cd,hasIgnoreComment:hd,hasNewline:pd}=mu,{isNextLineEmpty:dd}=Cc,{restoreQuotesInInlineComments:fd}=pp,{builders:{concat:md,join:gd,line:vd,hardline:yd,softline:bd,group:Dd,fill:xd,indent:wd,dedent:Cd,ifBreak:_d},utils:{removeLines:kd}}=Qu,{getAncestorNode:Ed,getPropOfDeclNode:Sd,maybeToLowerCase:Ad,insideValueFunctionNode:Fd,insideICSSRuleNode:Td,insideAtRuleNode:Od,insideURLFunctionInImportAtRuleNode:Nd,isKeyframeAtRuleKeywords:Ld,isWideKeywords:Bd,isSCSS:Pd,isLastNode:Md,isLessParser:jd,isSCSSControlDirectiveNode:Id,isDetachedRulesetDeclarationNode:$d,isRelationalOperatorNode:Rd,isEqualityOperatorNode:qd,isMultiplicationNode:zd,isDivisionNode:Vd,isAdditionNode:Hd,isSubtractionNode:Wd,isMathOperatorNode:Ud,isEachKeywordNode:Gd,isForKeywordNode:Yd,isURLFunctionNode:Kd,isIfElseKeywordNode:Xd,hasComposesNode:Jd,hasParensAroundNode:Zd,hasEmptyRawBefore:Qd,isKeyValuePairNode:ef,isDetachedRulesetCallNode:tf,isTemplatePlaceholderNode:nf,isTemplatePropNode:rf,isPostcssSimpleVarNode:of,isSCSSMapItemNode:af,isInlineValueCommentNode:sf,isHashNode:lf,isLeftCurlyBraceNode:uf,isRightCurlyBraceNode:cf,isWordNode:hf,isColonNode:pf,isMediaAndSupportsKeywords:df,isColorAdjusterFuncNode:ff,lastLineHasInlineComment:mf}=sd;function gf(e){switch(e.trailingComma){case"all":case"es5":return!0;case"none":default:return!1}}function vf(e,t,n){const r=e.getValue();if(!r)return"";if("string"===typeof r)return r;switch(r.type){case"yaml":case"toml":return md([r.raw,yd]);case"css-root":{const r=yf(e,t,n);return r.parts.length?md([r,t.__isHTMLStyleAttribute?"":yd]):r}case"css-comment":{const e=r.inline||r.raws.inline,n=t.originalText.slice(t.locStart(r),t.locEnd(r));return e?n.trimEnd():n}case"css-rule":return md([e.call(n,"selector"),r.important?" !important":"",r.nodes?md([r.selector&&"selector-unknown"===r.selector.type&&mf(r.selector.value)?vd:" ","{",r.nodes.length>0?wd(md([yd,yf(e,t,n)])):"",yd,"}",$d(r)?";":""]):";"]);case"css-decl":{const i=e.getParentNode();return md([r.raws.before.replace(/[\s;]/g,""),Td(e)?r.prop:Ad(r.prop),":"===r.raws.between.trim()?":":r.raws.between.trim(),r.extend?"":" ",Jd(r)?kd(e.call(n,"value")):e.call(n,"value"),r.raws.important?r.raws.important.replace(/\s*!\s*important/i," !important"):r.important?" !important":"",r.raws.scssDefault?r.raws.scssDefault.replace(/\s*!default/i," !default"):r.scssDefault?" !default":"",r.raws.scssGlobal?r.raws.scssGlobal.replace(/\s*!global/i," !global"):r.scssGlobal?" !global":"",r.nodes?md([" {",wd(md([bd,yf(e,t,n)])),bd,"}"]):rf(r)&&!i.raws.semicolon&&";"!==t.originalText[t.locEnd(r)-1]?"":";"])}case"css-atrule":{const i=e.getParentNode(),o=nf(r)&&!i.raws.semicolon&&";"!==t.originalText[t.locEnd(r)-1];if(jd(t)){if(r.mixin)return md([e.call(n,"selector"),r.important?" !important":"",o?"":";"]);if(r.function)return md([r.name,md([e.call(n,"params")]),o?"":";"]);if(r.variable)return md(["@",r.name,": ",r.value?md([e.call(n,"value")]):"",r.raws.between.trim()?r.raws.between.trim()+" ":"",r.nodes?md(["{",wd(md([r.nodes.length>0?bd:"",yf(e,t,n)])),bd,"}"]):"",o?"":";"])}return md(["@",tf(r)||r.name.endsWith(":")?r.name:Ad(r.name),r.params?md([tf(r)?"":nf(r)?""===r.raws.afterName?"":r.name.endsWith(":")?" ":/^\s*\n\s*\n/.test(r.raws.afterName)?md([yd,yd]):/^\s*\n/.test(r.raws.afterName)?yd:" ":" ",e.call(n,"params")]):"",r.selector?wd(md([" ",e.call(n,"selector")])):"",r.value?Dd(md([" ",e.call(n,"value"),Id(r)?Zd(r)?" ":vd:""])):"else"===r.name?" ":"",r.nodes?md([Id(r)?"":" ","{",wd(md([r.nodes.length>0?bd:"",yf(e,t,n)])),bd,"}"]):o?"":";"])}case"media-query-list":{const t=[];return e.each(e=>{const r=e.getValue();"media-query"===r.type&&""===r.value||t.push(e.call(n))},"nodes"),Dd(wd(gd(vd,t)))}case"media-query":return md([gd(" ",e.map(n,"nodes")),Md(e,r)?"":","]);case"media-type":return Ef(_f(r.value,t));case"media-feature-expression":return r.nodes?md(["(",md(e.map(n,"nodes")),")"]):r.value;case"media-feature":return Ad(_f(r.value.replace(/ +/g," "),t));case"media-colon":return md([r.value," "]);case"media-value":return Ef(_f(r.value,t));case"media-keyword":return _f(r.value,t);case"media-url":return _f(r.value.replace(/^url\(\s+/gi,"url(").replace(/\s+\)$/gi,")"),t);case"media-unknown":return r.value;case"selector-root":return Dd(md([Od(e,"custom-selector")?md([Ed(e,"css-atrule").customSelector,vd]):"",gd(md([",",Od(e,["extend","custom-selector","nest"])?vd:yd]),e.map(n,"nodes"))]));case"selector-selector":return Dd(wd(md(e.map(n,"nodes"))));case"selector-comment":return r.value;case"selector-string":return _f(r.value,t);case"selector-tag":{const t=e.getParentNode(),n=t&&t.nodes.indexOf(r),i=n&&t.nodes[n-1];return md([r.namespace?md([!0===r.namespace?"":r.namespace.trim(),"|"]):"","selector-nesting"===i.type?r.value:Ef(Ld(e,r.value)?r.value.toLowerCase():r.value)])}case"selector-id":return md(["#",r.value]);case"selector-class":return md([".",Ef(_f(r.value,t))]);case"selector-attribute":return md(["[",r.namespace?md([!0===r.namespace?"":r.namespace.trim(),"|"]):"",r.attribute.trim(),r.operator?r.operator:"",r.value?kf(_f(r.value.trim(),t),t):"",r.insensitive?" i":"","]"]);case"selector-combinator":{if("+"===r.value||">"===r.value||"~"===r.value||">>>"===r.value){const t=e.getParentNode(),n="selector-selector"===t.type&&t.nodes[0]===r?"":vd;return md([n,r.value,Md(e,r)?"":" "])}const n=r.value.trim().startsWith("(")?vd:"",i=Ef(_f(r.value.trim(),t))||vd;return md([n,i])}case"selector-universal":return md([r.namespace?md([!0===r.namespace?"":r.namespace.trim(),"|"]):"",r.value]);case"selector-pseudo":return md([Ad(r.value),r.nodes&&r.nodes.length>0?md(["(",gd(", ",e.map(n,"nodes")),")"]):""]);case"selector-nesting":return r.value;case"selector-unknown":{const n=Ed(e,"css-rule");if(n&&n.isSCSSNesterProperty)return Ef(_f(Ad(r.value),t));const i=e.getParentNode();if(i.raws&&i.raws.selector){const e=t.locStart(i),n=e+i.raws.selector.length;return t.originalText.slice(e,n).trim()}return r.value}case"value-value":case"value-root":return e.call(n,"group");case"value-comment":return md([r.inline?"//":"/*",fd(r.value),r.inline?"":"*/"]);case"value-comma_group":{const t=e.getParentNode(),i=e.getParentNode(1),o=Sd(e),a=o&&"value-value"===t.type&&("grid"===o||o.startsWith("grid-template")),s=Ed(e,"css-atrule"),l=s&&Id(s),u=e.map(n,"groups"),c=[],h=Fd(e,"url");let p=!1,d=!1;for(let n=0;n0&&"value-comma_group"===r.groups[0].type&&r.groups[0].groups.length>0&&"value-word"===r.groups[0].groups[0].type&&r.groups[0].groups[0].value.startsWith("data:")))return md([r.open?e.call(n,"open"):"",gd(",",e.map(n,"groups")),r.close?e.call(n,"close"):""]);if(!r.open){const t=e.map(n,"groups"),r=[];for(let e=0;e{const t=e.getValue(),r=n(e);return ef(t)&&"value-comma_group"===t.type&&t.groups&&t.groups[2]&&"value-paren_group"===t.groups[2].type?(r.contents.contents.parts[1]=Dd(r.contents.contents.parts[1]),Dd(Cd(r))):r},"groups"))])),_d(!s&&Pd(t.parser,t.originalText)&&o&&gf(t)?",":""),bd,r.close?e.call(n,"close"):""]),{shouldBreak:o})}case"value-func":return md([r.value,Od(e,"supports")&&df(r)?" ":"",e.call(n,"group")]);case"value-paren":return r.value;case"value-number":return md([Sf(r.value),Ad(r.unit)]);case"value-operator":return r.value;case"value-word":return r.isColor&&r.isHex||Bd(r.value)?r.value.toLowerCase():r.value;case"value-colon":return md([r.value,Fd(e,"url")?"":vd]);case"value-comma":return md([r.value," "]);case"value-string":return cd(r.raws.quote+r.value+r.raws.quote,t);case"value-atword":return md(["@",r.value]);case"value-unicode-range":return r.value;case"value-unknown":return r.value;default:throw new Error("Unknown postcss type ".concat(JSON.stringify(r.type)))}}function yf(e,t,n){const r=e.getValue(),i=[];let o=0;return e.map(e=>{const a=r.nodes[o-1];if(a&&"css-comment"===a.type&&"prettier-ignore"===a.text.trim()){const n=e.getValue();i.push(t.originalText.slice(t.locStart(n),t.locEnd(n)))}else i.push(e.call(n));o!==r.nodes.length-1&&("css-comment"===r.nodes[o+1].type&&!pd(t.originalText,t.locStart(r.nodes[o+1]),{backwards:!0})&&"yaml"!==r.nodes[o].type&&"toml"!==r.nodes[o].type||"css-atrule"===r.nodes[o+1].type&&"else"===r.nodes[o+1].name&&"css-comment"!==r.nodes[o].type?i.push(" "):(i.push(t.__isHTMLStyleAttribute?vd:yd),dd(t.originalText,e.getValue(),t.locEnd)&&"yaml"!==r.nodes[o].type&&"toml"!==r.nodes[o].type&&i.push(yd))),o++},"nodes"),md(i)}const bf=/(['"])(?:(?!\1)[^\\]|\\[\s\S])*\1/g,Df=/(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?/g,xf=/[a-zA-Z]+/g,wf=/[$@]?[a-zA-Z_\u0080-\uFFFF][\w\-\u0080-\uFFFF]*/g,Cf=new RegExp(bf.source+"|"+"(".concat(wf.source,")?")+"(".concat(Df.source,")")+"(".concat(xf.source,")?"),"g");function _f(e,t){return e.replace(bf,e=>cd(e,t))}function kf(e,t){const n=t.singleQuote?"'":'"';return e.includes('"')||e.includes("'")?e:n+e+n}function Ef(e){return e.replace(Cf,(e,t,n,r,i)=>!n&&r?Sf(r)+Ad(i||""):e)}function Sf(e){return ud(e).replace(/\.0(?=$|e)/,"")}var Af={print:vf,embed:Hh,insertPragma:ld,hasPrettierIgnore:hd,massageAstNode:jh};const Ff="Common";var Tf={bracketSpacing:{since:"0.0.0",category:Ff,type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{since:"0.0.0",category:Ff,type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{since:"1.8.2",category:Ff,type:"choice",default:[{since:"1.8.2",value:!0},{since:"1.9.0",value:"preserve"}],description:"How to wrap prose.",choices:[{since:"1.9.0",value:"always",description:"Wrap prose if it exceeds the print width."},{since:"1.9.0",value:"never",description:"Do not wrap prose."},{since:"1.9.0",value:"preserve",description:"Wrap prose as-is."}]}},Of={singleQuote:Tf.singleQuote},Nf=function(e,t){const{languageId:n}=e,r=tn(e,["languageId"]);return Object.assign({linguistLanguageId:n},r,{},t(e))},Lf="CSS",Bf="markup",Pf="source.css",Mf="css",jf="css",If="text/css",$f="#563d7c",Rf=[".css"],qf=50,zf={name:Lf,type:Bf,tmScope:Pf,aceMode:Mf,codemirrorMode:jf,codemirrorMimeType:If,color:$f,extensions:Rf,languageId:qf},Vf=Object.freeze({__proto__:null,name:Lf,type:Bf,tmScope:Pf,aceMode:Mf,codemirrorMode:jf,codemirrorMimeType:If,color:$f,extensions:Rf,languageId:qf,default:zf}),Hf="PostCSS",Wf="markup",Uf="source.postcss",Gf="CSS",Yf=[".pcss",".postcss"],Kf="text",Xf=262764437,Jf={name:Hf,type:Wf,tmScope:Uf,group:Gf,extensions:Yf,aceMode:Kf,languageId:Xf},Zf=Object.freeze({__proto__:null,name:Hf,type:Wf,tmScope:Uf,group:Gf,extensions:Yf,aceMode:Kf,languageId:Xf,default:Jf}),Qf="Less",em="markup",tm="CSS",nm=[".less"],rm="source.css.less",im="less",om="css",am="text/css",sm=198,lm={name:Qf,type:em,group:tm,extensions:nm,tmScope:rm,aceMode:im,codemirrorMode:om,codemirrorMimeType:am,languageId:sm},um=Object.freeze({__proto__:null,name:Qf,type:em,group:tm,extensions:nm,tmScope:rm,aceMode:im,codemirrorMode:om,codemirrorMimeType:am,languageId:sm,default:lm}),cm="SCSS",hm="markup",pm="source.css.scss",dm="CSS",fm="scss",mm="css",gm="text/x-scss",vm=[".scss"],ym=329,bm={name:cm,type:hm,tmScope:pm,group:dm,aceMode:fm,codemirrorMode:mm,codemirrorMimeType:gm,extensions:vm,languageId:ym},Dm=Object.freeze({__proto__:null,name:cm,type:hm,tmScope:pm,group:dm,aceMode:fm,codemirrorMode:mm,codemirrorMimeType:gm,extensions:vm,languageId:ym,default:bm}),xm=Wt(Vf),wm=Wt(Zf),Cm=Wt(um),_m=Wt(Dm);const km=[Nf(xm,()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["css"]})),Nf(wm,()=>({since:"1.4.0",parsers:["css"],vscodeLanguageIds:["postcss"]})),Nf(Cm,()=>({since:"1.4.0",parsers:["less"],vscodeLanguageIds:["less"]})),Nf(_m,()=>({since:"1.4.0",parsers:["scss"],vscodeLanguageIds:["scss"]}))],Em={postcss:Af};var Sm={languages:km,options:Of,printers:Em};function Am(e){return/^\s*#[^\n\S]*@(format|prettier)\s*(\n|$)/.test(e)}function Fm(e){return"# @format\n\n"+e}var Tm={hasPragma:Am,insertPragma:Fm};const{concat:Om,join:Nm,hardline:Lm,line:Bm,softline:Pm,group:Mm,indent:jm,ifBreak:Im}=Qu.builders,{hasIgnoreComment:$m}=mu,{isNextLineEmpty:Rm}=Cc,{insertPragma:qm}=Tm;function zm(e,t,n){const r=e.getValue();if(!r)return"";if("string"===typeof r)return r;switch(r.kind){case"Document":{const i=[];return e.map((e,o)=>{i.push(Om([e.call(n)])),o!==r.definitions.length-1&&(i.push(Lm),Rm(t.originalText,e.getValue(),t.locEnd)&&i.push(Lm))},"definitions"),Om([Om(i),Lm])}case"OperationDefinition":{const i="{"!==t.originalText[t.locStart(r)],o=!!r.name;return Om([i?r.operation:"",i&&o?Om([" ",e.call(n,"name")]):"",r.variableDefinitions&&r.variableDefinitions.length?Mm(Om(["(",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.map(n,"variableDefinitions"))])),Pm,")"])):"",Vm(e,n,r),r.selectionSet&&(i||o)?" ":"",e.call(n,"selectionSet")])}case"FragmentDefinition":return Om(["fragment ",e.call(n,"name"),r.variableDefinitions&&r.variableDefinitions.length?Mm(Om(["(",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.map(n,"variableDefinitions"))])),Pm,")"])):""," on ",e.call(n,"typeCondition"),Vm(e,n,r)," ",e.call(n,"selectionSet")]);case"SelectionSet":return Om(["{",jm(Om([Lm,Nm(Lm,e.call(e=>Hm(e,t,n),"selections"))])),Lm,"}"]);case"Field":return Mm(Om([r.alias?Om([e.call(n,"alias"),": "]):"",e.call(n,"name"),r.arguments.length>0?Mm(Om(["(",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.call(e=>Hm(e,t,n),"arguments"))])),Pm,")"])):"",Vm(e,n,r),r.selectionSet?" ":"",e.call(n,"selectionSet")]));case"Name":return r.value;case"StringValue":return r.block?Om(['"""',Lm,Nm(Lm,r.value.replace(/"""/g,"\\$&").split("\n")),Lm,'"""']):Om(['"',r.value.replace(/["\\]/g,"\\$&").replace(/\n/g,"\\n"),'"']);case"IntValue":case"FloatValue":case"EnumValue":return r.value;case"BooleanValue":return r.value?"true":"false";case"NullValue":return"null";case"Variable":return Om(["$",e.call(n,"name")]);case"ListValue":return Mm(Om(["[",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.map(n,"values"))])),Pm,"]"]));case"ObjectValue":return Mm(Om(["{",t.bracketSpacing&&r.fields.length>0?" ":"",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.map(n,"fields"))])),Pm,Im("",t.bracketSpacing&&r.fields.length>0?" ":""),"}"]));case"ObjectField":case"Argument":return Om([e.call(n,"name"),": ",e.call(n,"value")]);case"Directive":return Om(["@",e.call(n,"name"),r.arguments.length>0?Mm(Om(["(",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.call(e=>Hm(e,t,n),"arguments"))])),Pm,")"])):""]);case"NamedType":return e.call(n,"name");case"VariableDefinition":return Om([e.call(n,"variable"),": ",e.call(n,"type"),r.defaultValue?Om([" = ",e.call(n,"defaultValue")]):"",Vm(e,n,r)]);case"TypeExtensionDefinition":return Om(["extend ",e.call(n,"definition")]);case"ObjectTypeExtension":case"ObjectTypeDefinition":return Om([e.call(n,"description"),r.description?Lm:"","ObjectTypeExtension"===r.kind?"extend ":"","type ",e.call(n,"name"),r.interfaces.length>0?Om([" implements ",Om(Ym(e,t,n))]):"",Vm(e,n,r),r.fields.length>0?Om([" {",jm(Om([Lm,Nm(Lm,e.call(e=>Hm(e,t,n),"fields"))])),Lm,"}"]):""]);case"FieldDefinition":return Om([e.call(n,"description"),r.description?Lm:"",e.call(n,"name"),r.arguments.length>0?Mm(Om(["(",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.call(e=>Hm(e,t,n),"arguments"))])),Pm,")"])):"",": ",e.call(n,"type"),Vm(e,n,r)]);case"DirectiveDefinition":return Om([e.call(n,"description"),r.description?Lm:"","directive ","@",e.call(n,"name"),r.arguments.length>0?Mm(Om(["(",jm(Om([Pm,Nm(Om([Im("",", "),Pm]),e.call(e=>Hm(e,t,n),"arguments"))])),Pm,")"])):"",r.repeatable?" repeatable":"",Om([" on ",Nm(" | ",e.map(n,"locations"))])]);case"EnumTypeExtension":case"EnumTypeDefinition":return Om([e.call(n,"description"),r.description?Lm:"","EnumTypeExtension"===r.kind?"extend ":"","enum ",e.call(n,"name"),Vm(e,n,r),r.values.length>0?Om([" {",jm(Om([Lm,Nm(Lm,e.call(e=>Hm(e,t,n),"values"))])),Lm,"}"]):""]);case"EnumValueDefinition":return Om([e.call(n,"description"),r.description?Lm:"",e.call(n,"name"),Vm(e,n,r)]);case"InputValueDefinition":return Om([e.call(n,"description"),r.description?r.description.block?Lm:Bm:"",e.call(n,"name"),": ",e.call(n,"type"),r.defaultValue?Om([" = ",e.call(n,"defaultValue")]):"",Vm(e,n,r)]);case"InputObjectTypeExtension":case"InputObjectTypeDefinition":return Om([e.call(n,"description"),r.description?Lm:"","InputObjectTypeExtension"===r.kind?"extend ":"","input ",e.call(n,"name"),Vm(e,n,r),r.fields.length>0?Om([" {",jm(Om([Lm,Nm(Lm,e.call(e=>Hm(e,t,n),"fields"))])),Lm,"}"]):""]);case"SchemaDefinition":return Om(["schema",Vm(e,n,r)," {",r.operationTypes.length>0?jm(Om([Lm,Nm(Lm,e.call(e=>Hm(e,t,n),"operationTypes"))])):"",Lm,"}"]);case"OperationTypeDefinition":return Om([e.call(n,"operation"),": ",e.call(n,"type")]);case"InterfaceTypeExtension":case"InterfaceTypeDefinition":return Om([e.call(n,"description"),r.description?Lm:"","InterfaceTypeExtension"===r.kind?"extend ":"","interface ",e.call(n,"name"),Vm(e,n,r),r.fields.length>0?Om([" {",jm(Om([Lm,Nm(Lm,e.call(e=>Hm(e,t,n),"fields"))])),Lm,"}"]):""]);case"FragmentSpread":return Om(["...",e.call(n,"name"),Vm(e,n,r)]);case"InlineFragment":return Om(["...",r.typeCondition?Om([" on ",e.call(n,"typeCondition")]):"",Vm(e,n,r)," ",e.call(n,"selectionSet")]);case"UnionTypeExtension":case"UnionTypeDefinition":return Mm(Om([e.call(n,"description"),r.description?Lm:"",Mm(Om(["UnionTypeExtension"===r.kind?"extend ":"","union ",e.call(n,"name"),Vm(e,n,r),r.types.length>0?Om([" =",Im(""," "),jm(Om([Im(Om([Bm," "])),Nm(Om([Bm,"| "]),e.map(n,"types"))]))]):""]))]));case"ScalarTypeExtension":case"ScalarTypeDefinition":return Om([e.call(n,"description"),r.description?Lm:"","ScalarTypeExtension"===r.kind?"extend ":"","scalar ",e.call(n,"name"),Vm(e,n,r)]);case"NonNullType":return Om([e.call(n,"type"),"!"]);case"ListType":return Om(["[",e.call(n,"type"),"]"]);default:throw new Error("unknown graphql type: "+JSON.stringify(r.kind))}}function Vm(e,t,n){return 0===n.directives.length?"":Om([" ",Mm(jm(Om([Pm,Nm(Om([Im(""," "),Pm]),e.map(t,"directives"))])))])}function Hm(e,t,n){const r=e.getValue().length;return e.map((e,i)=>{const o=n(e);return Rm(t.originalText,e.getValue(),t.locEnd)&&in(e),"interfaces");for(let s=0;s0&&i.push(Gm(o[s-1],e,t)),i.push(a[s])}return i}function Km(e,t){delete t.loc,delete t.comments}var Xm={print:zm,massageAstNode:Km,hasPrettierIgnore:$m,insertPragma:qm,printComment:Um,canAttachComment:Wm},Jm={bracketSpacing:Tf.bracketSpacing},Zm="GraphQL",Qm="data",eg=[".graphql",".gql",".graphqls"],tg="source.graphql",ng="text",rg=139,ig={name:Zm,type:Qm,extensions:eg,tmScope:tg,aceMode:ng,languageId:rg},og=Object.freeze({__proto__:null,name:Zm,type:Qm,extensions:eg,tmScope:tg,aceMode:ng,languageId:rg,default:ig}),ag=Wt(og);const sg=[Nf(ag,()=>({since:"1.5.0",parsers:["graphql"],vscodeLanguageIds:["graphql"]}))],lg={graphql:Xm};var ug={languages:sg,options:Jm,printers:lg},cg=function(e,t){if(delete t.loc,delete t.selfClosing,"TextNode"===e.type){const n=e.chars.trim();if(!n)return null;t.chars=n}};function hg(e){return e.toUpperCase()===e}function pg(e){return fg(e,["ElementNode"])&&"string"===typeof e.tag&&(hg(e.tag[0])||e.tag.includes("."))}function dg(e){return fg(e,["TextNode"])&&!/\S/.test(e.chars)}function fg(e,t){return e&&t.some(t=>e.type===t)}function mg(e,t){const n=e.getParentNode(0);return fg(n,t)}function gg(e,t){const n=bg(e);return fg(n,t)}function vg(e,t){const n=Dg(e);return fg(n,t)}function yg(e,t){const n=e.getValue(),r=e.getParentNode(0)||{},i=r.children||r.body||[],o=i.indexOf(n);return-1!==o&&i[o+t]}function bg(e,t=1){return yg(e,-t)}function Dg(e){return yg(e,1)}function xg(e){return fg(e,["MustacheCommentStatement"])&&"string"===typeof e.value&&"prettier-ignore"===e.value.trim()}function wg(e){const t=e.getValue(),n=bg(e,2);return xg(t)||xg(n)}var Cg={getNextNode:Dg,getPreviousNode:bg,hasPrettierIgnore:wg,isGlimmerComponent:pg,isNextNodeOfSomeType:vg,isNodeOfSomeType:fg,isParentOfSomeType:mg,isPreviousNodeOfSomeType:gg,isWhitespaceNode:dg};const{concat:_g,join:kg,softline:Eg,hardline:Sg,line:Ag,group:Fg,indent:Tg,ifBreak:Og}=Qu.builders,{getNextNode:Ng,getPreviousNode:Lg,hasPrettierIgnore:Bg,isGlimmerComponent:Pg,isNextNodeOfSomeType:Mg,isParentOfSomeType:jg,isPreviousNodeOfSomeType:Ig,isWhitespaceNode:$g}=Cg,Rg=["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"];function qg(e,t,n){const r=e.getValue();if(!r)return"";if(Bg(e)){const e=ev(t.originalText,r.loc.start.line-1,r.loc.start.column),n=ev(t.originalText,r.loc.end.line-1,r.loc.end.column),i=t.originalText.slice(e,n);return i}switch(r.type){case"Block":case"Program":case"Template":return Fg(_g(e.map(n,"body")));case"ElementNode":{const i=r.children.length>0,o=r.children.some(e=>!$g(e)),a=Pg(r)&&(!i||!o)||Rg.includes(r.tag),s=a?_g([" />",Eg]):">",l=a?"/>":">",u=(e,t)=>Tg(_g([r.attributes.length?Ag:"",kg(Ag,e.map(t,"attributes")),r.modifiers.length?Ag:"",kg(Ag,e.map(t,"modifiers")),r.comments.length?Ag:"",kg(Ag,e.map(t,"comments"))])),c=Ng(e);return _g([Fg(_g(["<",r.tag,u(e,n),r.blockParams.length?" as |".concat(r.blockParams.join(" "),"|"):"",Og(Eg,""),Og(l,s)])),a?"":Fg(_g([o?Tg(zg(e,t,n)):"",Og(i?Sg:"",""),_g([""])])),c&&"ElementNode"===c.type?Sg:""])}case"BlockStatement":{const t=e.getParentNode(1),i=t&&t.inverse&&1===t.inverse.body.length&&t.inverse.body[0]===r&&"if"===t.inverse.body[0].path.parts[0],o=r.inverse&&1===r.inverse.body.length&&"BlockStatement"===r.inverse.body[0].type&&"if"===r.inverse.body[0].path.parts[0],a=o?e=>e:Tg,s=(r.inverseStrip.open?"{{~":"{{")+"else"+(r.inverseStrip.close?"~}}":"}}");if(r.inverse)return _g([i?_g([r.openStrip.open?"{{~else ":"{{else ",Ug(e,n),r.openStrip.close?"~}}":"}}"]):Yg(e,n,r.openStrip),Tg(_g([Sg,e.call(n,"program")])),r.inverse&&!o?_g([Sg,s]):"",r.inverse?a(_g([Sg,e.call(n,"inverse")])):"",i?"":_g([Sg,Kg(e,n,r.closeStrip)])]);if(i)return _g([_g([r.openStrip.open?"{{~else":"{{else ",Ug(e,n),r.openStrip.close?"~}}":"}}"]),Tg(_g([Sg,e.call(n,"program")]))]);const l=r.program.body.some(e=>!$g(e));return _g([Yg(e,n,r.openStrip),Fg(_g([Tg(_g([Eg,e.call(n,"program")])),l?Sg:Eg,Kg(e,n,r.closeStrip)]))])}case"ElementModifierStatement":return Fg(_g(["{{",Ug(e,n),Eg,"}}"]));case"MustacheStatement":{const t=!1===r.escaped,{open:i,close:o}=r.strip,a=(t?"{{{":"{{")+(i?"~":""),s=(o?"~":"")+(t?"}}}":"}}"),l=jg(e,["AttrNode","ConcatStatement","ElementNode"])?[a,Tg(Eg)]:[a];return Fg(_g([...l,Ug(e,n),Eg,s]))}case"SubExpression":{const t=Wg(e,n),r=t.length>0?Tg(_g([Ag,Fg(kg(Ag,t))])):"";return Fg(_g(["(",Hg(e,n),r,Eg,")"]))}case"AttrNode":{const i="TextNode"===r.value.type,o=i&&""===r.value.chars,a=o&&r.value.loc.start.column===r.value.loc.end.column;if(a)return _g([r.name]);const s=e.call(n,"value"),l=i?Vg(s.parts.join(),t):s;return _g([r.name,"=",l])}case"ConcatStatement":return _g(['"',_g(e.map(e=>n(e),"parts").filter(e=>""!==e)),'"']);case"Hash":return _g([kg(Ag,e.map(n,"pairs"))]);case"HashPair":return _g([r.key,"=",e.call(n,"value")]);case"TextNode":{const t=2,n=!Lg(e),i=!Ng(e),o=!/\S/.test(r.chars),a=Xg(r.chars),s="Block"===e.getParentNode(0).type,l="ElementNode"===e.getParentNode(0).type,u="Template"===e.getParentNode(0).type;let c=Jg(r.chars),h=Zg(r.chars);if((n||i)&&o&&(s||l||u))return"";o&&a?(c=Math.min(a,t),h=0):(Mg(e,["BlockStatement","ElementNode"])&&(h=Math.max(h,1)),(Ig(e,["ElementNode"])||Ig(e,["BlockStatement"]))&&(c=Math.max(c,1)));let p="",d="";const f=e.stack.includes("attributes");if(f){const t=e.getParentNode(0),n="ConcatStatement"===t.type;if(n){const{parts:e}=t,n=e.indexOf(r);if(n>0){const t=e[n-1].type,r="MustacheStatement"===t;r&&(p=" ")}if(n{const o=e.getValue(),a=0===i,s=i===e.getParentNode(0).children.length-1,l=s&&!a,u=$g(o);return u&&l?n(r,t,n):a?_g([Eg,n(r,t,n)]):n(r,t,n)},"children"))}function Vg(e,t){const n={quote:'"',regex:/"/g},r={quote:"'",regex:/'/g},i=t.singleQuote?r:n,o=i===r?n:r;let a=!1;if(e.includes(i.quote)||e.includes(o.quote)){const t=(e.match(i.regex)||[]).length,n=(e.match(o.regex)||[]).length;a=t>n}const s=a?o:i,l=e.replace(s.regex,"\\".concat(s.quote));return _g([s.quote,l,s.quote])}function Hg(e,t){return e.call(t,"path")}function Wg(e,t){const n=e.getValue();let r=[];return n.params.length>0&&(r=r.concat(e.map(t,"params"))),n.hash&&n.hash.pairs.length>0&&r.push(e.call(t,"hash")),r}function Ug(e,t){const n=Hg(e,t),r=Wg(e,t),i=[n,...r];return Tg(Fg(kg(Ag,i)))}function Gg(e){const t=e.getValue();return t.program&&t.program.blockParams.length?_g([" as |",t.program.blockParams.join(" "),"|"]):""}function Yg(e,t,{open:n=!1,close:r=!1}={}){return Fg(_g([n?"{{~#":"{{#",Ug(e,t),Gg(e),Eg,r?"~}}":"}}"]))}function Kg(e,t,{open:n=!1,close:r=!1}={}){return _g([n?"{{~/":"{{/",e.call(t,"path"),r?"~}}":"}}"])}function Xg(e){return e="string"===typeof e?e:"",e.split("\n").length-1}function Jg(e){e="string"===typeof e?e:"";const t=(e.match(/^([^\S\r\n]*[\r\n])+/g)||[])[0]||"";return Xg(t)}function Zg(e){e="string"===typeof e?e:"";const t=(e.match(/([\r\n][^\S\r\n]*)+$/g)||[])[0]||"";return Xg(t)}function Qg(e=0,t=0){return new Array(Math.min(e,t)).fill(Sg)}function ev(e,t,n){let r=0,i=0;while(1){if(i===e.length)return null;let o=e.indexOf("\n",i);if(-1===o&&(o=e.length),r===t)return i+n>o?null:i+n;if(-1===o)return null;r+=1,i=o+1}}var tv={print:qg,massageAstNode:cg},nv="Handlebars",rv="markup",iv="HTML",ov=["hbs","htmlbars"],av=[".handlebars",".hbs"],sv="text.html.handlebars",lv="handlebars",uv=155,cv={name:nv,type:rv,group:iv,aliases:ov,extensions:av,tmScope:sv,aceMode:lv,languageId:uv},hv=Object.freeze({__proto__:null,name:nv,type:rv,group:iv,aliases:ov,extensions:av,tmScope:sv,aceMode:lv,languageId:uv,default:cv}),pv=Wt(hv);const dv=[Nf(pv,()=>({since:null,parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}))],fv={glimmer:tv};var mv={languages:dv,printers:fv},gv=function(e,t){return delete t.sourceSpan,delete t.startSourceSpan,delete t.endSourceSpan,delete t.nameSpan,delete t.valueSpan,"text"===e.type||"comment"===e.type||"yaml"===e.type||"toml"===e.type?null:("attribute"===e.type&&delete t.value,void("docType"===e.type&&delete t.value))},vv={CSS_DISPLAY_TAGS:{area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"none",rp:"none",script:"block",source:"block",style:"none",template:"inline",track:"block",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",fieldset:"block",button:"inline-block",video:"inline-block",audio:"inline-block"},CSS_DISPLAY_DEFAULT:"inline",CSS_WHITE_SPACE_TAGS:{listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"},CSS_WHITE_SPACE_DEFAULT:"normal"},yv=["a","abbr","acronym","address","applet","area","article","aside","audio","b","base","basefont","bdi","bdo","bgsound","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","command","content","data","datalist","dd","del","details","dfn","dialog","dir","div","dl","dt","element","em","embed","fieldset","figcaption","figure","font","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","image","img","input","ins","isindex","kbd","keygen","label","legend","li","link","listing","main","map","mark","marquee","math","menu","menuitem","meta","meter","multicol","nav","nextid","nobr","noembed","noframes","noscript","object","ol","optgroup","option","output","p","param","picture","plaintext","pre","progress","q","rb","rbc","rp","rt","rtc","ruby","s","samp","script","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","tt","u","ul","var","video","wbr","xmp"],bv=Object.freeze({__proto__:null,default:yv}),Dv=["accesskey","charset","coords","download","href","hreflang","name","ping","referrerpolicy","rel","rev","shape","tabindex","target","type"],xv=["title"],wv=["align","alt","archive","code","codebase","height","hspace","name","object","vspace","width"],Cv=["accesskey","alt","coords","download","href","hreflang","nohref","ping","referrerpolicy","rel","shape","tabindex","target","type"],_v=["autoplay","controls","crossorigin","loop","muted","preload","src"],kv=["href","target"],Ev=["color","face","size"],Sv=["dir"],Av=["cite"],Fv=["alink","background","bgcolor","link","text","vlink"],Tv=["clear"],Ov=["accesskey","autofocus","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","tabindex","type","value"],Nv=["height","width"],Lv=["align"],Bv=["align","char","charoff","span","valign","width"],Pv=["align","char","charoff","span","valign","width"],Mv=["value"],jv=["cite","datetime"],Iv=["open"],$v=["title"],Rv=["open"],qv=["compact"],zv=["align"],Vv=["compact"],Hv=["height","src","type","width"],Wv=["disabled","form","name"],Uv=["color","face","size"],Gv=["accept","accept-charset","action","autocomplete","enctype","method","name","novalidate","target"],Yv=["frameborder","longdesc","marginheight","marginwidth","name","noresize","scrolling","src"],Kv=["cols","rows"],Xv=["align"],Jv=["align"],Zv=["align"],Qv=["align"],ey=["align"],ty=["align"],ny=["profile"],ry=["align","noshade","size","width"],iy=["manifest","version"],oy=["align","allow","allowfullscreen","allowpaymentrequest","allowusermedia","frameborder","height","longdesc","marginheight","marginwidth","name","referrerpolicy","sandbox","scrolling","src","srcdoc","width"],ay=["align","alt","border","crossorigin","decoding","height","hspace","ismap","longdesc","name","referrerpolicy","sizes","src","srcset","usemap","vspace","width"],sy=["accept","accesskey","align","alt","autocomplete","autofocus","checked","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","ismap","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","readonly","required","size","src","step","tabindex","title","type","usemap","value","width"],ly=["cite","datetime"],uy=["prompt"],cy=["accesskey","for","form"],hy=["accesskey","align"],py=["type","value"],dy=["as","charset","color","crossorigin","href","hreflang","imagesizes","imagesrcset","integrity","media","nonce","referrerpolicy","rel","rev","sizes","target","title","type"],fy=["name"],my=["compact"],gy=["charset","content","http-equiv","name","scheme"],vy=["high","low","max","min","optimum","value"],yy=["align","archive","border","classid","codebase","codetype","data","declare","form","height","hspace","name","standby","tabindex","type","typemustmatch","usemap","vspace","width"],by=["compact","reversed","start","type"],Dy=["disabled","label"],xy=["disabled","label","selected","value"],wy=["for","form","name"],Cy=["align"],_y=["name","type","value","valuetype"],ky=["width"],Ey=["max","value"],Sy=["cite"],Ay=["async","charset","crossorigin","defer","integrity","language","nomodule","nonce","referrerpolicy","src","type"],Fy=["autocomplete","autofocus","disabled","form","multiple","name","required","size","tabindex"],Ty=["name"],Oy=["media","sizes","src","srcset","type"],Ny=["media","nonce","title","type"],Ly=["align","bgcolor","border","cellpadding","cellspacing","frame","rules","summary","width"],By=["align","char","charoff","valign"],Py=["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],My=["accesskey","autocomplete","autofocus","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","tabindex","wrap"],jy=["align","char","charoff","valign"],Iy=["abbr","align","axis","bgcolor","char","charoff","colspan","headers","height","nowrap","rowspan","scope","valign","width"],$y=["align","char","charoff","valign"],Ry=["datetime"],qy=["align","bgcolor","char","charoff","valign"],zy=["default","kind","label","src","srclang"],Vy=["compact","type"],Hy=["autoplay","controls","crossorigin","height","loop","muted","playsinline","poster","preload","src","width"],Wy={"*":["accesskey","autocapitalize","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","slot","spellcheck","style","tabindex","title","translate"],a:Dv,abbr:xv,applet:wv,area:Cv,audio:_v,base:kv,basefont:Ev,bdo:Sv,blockquote:Av,body:Fv,br:Tv,button:Ov,canvas:Nv,caption:Lv,col:Bv,colgroup:Pv,data:Mv,del:jv,details:Iv,dfn:$v,dialog:Rv,dir:qv,div:zv,dl:Vv,embed:Hv,fieldset:Wv,font:Uv,form:Gv,frame:Yv,frameset:Kv,h1:Xv,h2:Jv,h3:Zv,h4:Qv,h5:ey,h6:ty,head:ny,hr:ry,html:iy,iframe:oy,img:ay,input:sy,ins:ly,isindex:uy,label:cy,legend:hy,li:py,link:dy,map:fy,menu:my,meta:gy,meter:vy,object:yy,ol:by,optgroup:Dy,option:xy,output:wy,p:Cy,param:_y,pre:ky,progress:Ey,q:Sy,script:Ay,select:Fy,slot:Ty,source:Oy,style:Ny,table:Ly,tbody:By,td:Py,textarea:My,tfoot:jy,th:Iy,thead:$y,time:Ry,tr:qy,track:zy,ul:Vy,video:Hy},Uy=Object.freeze({__proto__:null,a:Dv,abbr:xv,applet:wv,area:Cv,audio:_v,base:kv,basefont:Ev,bdo:Sv,blockquote:Av,body:Fv,br:Tv,button:Ov,canvas:Nv,caption:Lv,col:Bv,colgroup:Pv,data:Mv,del:jv,details:Iv,dfn:$v,dialog:Rv,dir:qv,div:zv,dl:Vv,embed:Hv,fieldset:Wv,font:Uv,form:Gv,frame:Yv,frameset:Kv,h1:Xv,h2:Jv,h3:Zv,h4:Qv,h5:ey,h6:ty,head:ny,hr:ry,html:iy,iframe:oy,img:ay,input:sy,ins:ly,isindex:uy,label:cy,legend:hy,li:py,link:dy,map:fy,menu:my,meta:gy,meter:vy,object:yy,ol:by,optgroup:Dy,option:xy,output:wy,p:Cy,param:_y,pre:ky,progress:Ey,q:Sy,script:Ay,select:Fy,slot:Ty,source:Oy,style:Ny,table:Ly,tbody:By,td:Py,textarea:My,tfoot:jy,th:Iy,thead:$y,time:Ry,tr:qy,track:zy,ul:Vy,video:Hy,default:Wy}),Gy=Wt(bv),Yy=Wt(Uy);const{CSS_DISPLAY_TAGS:Ky,CSS_DISPLAY_DEFAULT:Xy,CSS_WHITE_SPACE_TAGS:Jy,CSS_WHITE_SPACE_DEFAULT:Zy}=vv,Qy=tb(Gy),eb=nb(Yy,tb);function tb(e){const t=Object.create(null);for(const n of e)t[n]=!0;return t}function nb(e,t){const n=Object.create(null);for(const r of Object.keys(e))n[r]=t(e[r],r);return n}function rb(e,t){return!!e.endSourceSpan&&(!("element"!==e.type||"template"!==e.fullName||!e.attrMap.lang||"html"===e.attrMap.lang)||(!("ieConditionalComment"!==e.type||!e.lastChild||e.lastChild.isSelfClosing||e.lastChild.endSourceSpan)||("ieConditionalComment"===e.type&&!e.complete||("vue"===t.parser&&"element"===e.type&&"root"===e.parent.type&&!["template","style","script","html"].includes(e.fullName)||!(!Bb(e)||!e.children.some(e=>"text"!==e.type&&"interpolation"!==e.type))))))}function ib(e){if("attribute"===e.type)return!1;if(!e.parent)return!1;if("number"!==typeof e.index||0===e.index)return!1;const t=e.parent.children[e.index-1];return ob(t)}function ob(e){return"comment"===e.type&&"prettier-ignore"===e.value.trim()}function ab(e){const t=e.trim().match(/^prettier-ignore-attribute(?:\s+([^]+))?$/);return!!t&&(!t[1]||t[1].split(/\s+/))}function sb(e){return"text"===e.type||"comment"===e.type}function lb(e){return"element"===e.type&&("script"===e.fullName||"style"===e.fullName||"svg:style"===e.fullName||Ib(e)&&("script"===e.name||"style"===e.name))}function ub(e){return"yaml"===e.type||"toml"===e.type}function cb(e){return e.children&&!lb(e)}function hb(e){return lb(e)||"interpolation"===e.type||pb(e)}function pb(e){return $b(e).startsWith("pre")}function db(e){const t=n();return t&&!e.prev&&e.parent&&e.parent.tagDefinition&&e.parent.tagDefinition.ignoreFirstLf?"interpolation"===e.type:t;function n(){return!ub(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.prev||"text"!==e.prev.type&&"interpolation"!==e.prev.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!Bb(e.parent)||!(!e.prev&&("root"===e.parent.type||Bb(e)&&e.parent||lb(e.parent)||!Fb(e.parent.cssDisplay)))&&!(e.prev&&!Nb(e.prev.cssDisplay))))}}function fb(e){return!ub(e)&&(!("text"!==e.type&&"interpolation"!==e.type||!e.next||"text"!==e.next.type&&"interpolation"!==e.next.type)||!(!e.parent||"none"===e.parent.cssDisplay)&&(!!Bb(e.parent)||!(!e.next&&("root"===e.parent.type||Bb(e)&&e.parent||lb(e.parent)||!Tb(e.parent.cssDisplay)))&&!(e.next&&!Ob(e.next.cssDisplay))))}function mb(e){return Lb(e.cssDisplay)&&!lb(e)}function gb(e){return ub(e)||e.next&&e.sourceSpan.end.line+1Eb(e)))||e.firstChild&&e.firstChild===e.lastChild&&wb(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||Cb(e.lastChild))}function yb(e){return"element"===e.type&&0!==e.children.length&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&"table-cell"!==e.cssDisplay)}function bb(e){return _b(e)||e.prev&&Db(e.prev)||xb(e)}function Db(e){return _b(e)||"element"===e.type&&"br"===e.fullName||xb(e)}function xb(e){return wb(e)&&Cb(e)}function wb(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:"root"===e.parent.type||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function _b(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function kb(e){return e.lastChild?kb(e.lastChild):e}function Eb(e){return e.children&&e.children.some(e=>"text"!==e.type)}function Sb(e){if("script"===e.name&&!e.attrMap.src){if(!e.attrMap.lang&&!e.attrMap.type||"module"===e.attrMap.type||"text/javascript"===e.attrMap.type||"text/babel"===e.attrMap.type||"application/javascript"===e.attrMap.type||"jsx"===e.attrMap.lang)return"babel";if("application/x-typescript"===e.attrMap.type||"ts"===e.attrMap.lang||"tsx"===e.attrMap.lang)return"typescript";if("text/markdown"===e.attrMap.type)return"markdown";if(e.attrMap.type.endsWith("json")||e.attrMap.type.endsWith("importmap"))return"json";if("text/x-handlebars-template"===e.attrMap.type)return"glimmer"}if("style"===e.name){if(!e.attrMap.lang||"postcss"===e.attrMap.lang||"css"===e.attrMap.lang)return"css";if("scss"===e.attrMap.lang)return"scss";if("less"===e.attrMap.lang)return"less"}return null}function Ab(e){return"block"===e||"list-item"===e||e.startsWith("table")}function Fb(e){return!Ab(e)&&"inline-block"!==e}function Tb(e){return!Ab(e)&&"inline-block"!==e}function Ob(e){return!Ab(e)}function Nb(e){return!Ab(e)}function Lb(e){return!Ab(e)&&"inline-block"!==e}function Bb(e){return $b(e).startsWith("pre")}function Pb(e,t=(()=>!0)){let n=0;for(let r=e.stack.length-1;r>=0;r--){const i=e.stack[r];i&&"object"===typeof i&&!Array.isArray(i)&&t(i)&&n++}return n}function Mb(e,t){let n=e;while(n){if(t(n))return!0;n=n.parent}return!1}function jb(e,t){if(e.prev&&"comment"===e.prev.type){const t=e.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);if(t)return t[1]}let n=!1;if("element"===e.type&&"svg"===e.namespace){if(!Mb(e,e=>"svg:foreignObject"===e.fullName))return"svg"===e.name?"inline-block":"block";n=!0}switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return"element"===e.type&&(!e.namespace||n||Ib(e))&&Ky[e.name]||Xy}}function Ib(e){return"element"===e.type&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function $b(e){return"element"===e.type&&(!e.namespace||Ib(e))&&Jy[e.name]||Zy}function Rb(e){let t=1/0;for(const n of e.split("\n")){if(0===n.length)continue;if(/\S/.test(n[0]))return 0;const e=n.match(/^\s*/)[0].length;n.length!==e&&(ee.slice(t)).join("\n")}function zb(e){const t=[],n=e.slice();while(0!==n.length){const e=n.shift();e&&("concat"!==e.type?0===t.length||"string"!==typeof t[t.length-1]||"string"!==typeof e?t.push(e):t.push(t.pop()+e):n.unshift(...e.parts))}return t}function Vb(e){return e}function Hb(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(ib(e)||rb(e.parent,t))}function Wb(e,t){let n=0;for(let r=0;r{if("element"===e.type&&e.tagDefinition.ignoreFirstLf&&0!==e.children.length&&"text"===e.children[0].type&&"\n"===e.children[0].value[0]){const[t,...n]=e.children;return e.clone({children:1===t.value.length?n:[t.clone({value:t.value.slice(1)}),...n]})}return e})}function iD(e){const t=e=>"element"===e.type&&e.prev&&"ieConditionalStartComment"===e.prev.type&&e.prev.sourceSpan.end.offset===e.startSourceSpan.start.offset&&e.firstChild&&"ieConditionalEndComment"===e.firstChild.type&&e.firstChild.sourceSpan.start.offset===e.startSourceSpan.end.offset;return e.map(e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r{if(e.children){const r=e.children.map(t);if(r.some(Boolean)){const t=[];for(let i=0;i"cdata"===e.type,e=>""))}function sD(e){const t=e=>"element"===e.type&&0===e.attrs.length&&1===e.children.length&&"text"===e.firstChild.type&&!/[^\S\xA0]/.test(e.children[0].value)&&!e.firstChild.hasLeadingSpaces&&!e.firstChild.hasTrailingSpaces&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces&&e.prev&&"text"===e.prev.type&&e.next&&"text"===e.next.type;return e.map(e=>{if(e.children){const n=e.children.map(t);if(n.some(Boolean)){const t=[];for(let r=0;r")+i.firstChild.value+"")+o.value,sourceSpan:new a(n.sourceSpan.start,o.sourceSpan.end),isTrailingSpaceSensitive:s,hasTrailingSpaces:l}))}else t.push(i)}return e.clone({children:t})}}return e})}function lD(e,t){if("html"===t.parser)return e;const n=/\{\{([\s\S]+?)\}\}/g;return e.map(e=>{if(!Yb(e))return e;const t=[];for(const r of e.children){if("text"!==r.type){t.push(r);continue}const e=r.sourceSpan.constructor;let i=r.sourceSpan.start,o=null;const a=r.value.split(n);for(let n=0;n{if(!e.children)return e;if(0===e.children.length||1===e.children.length&&"text"===e.children[0].type&&0===e.children[0].value.trim().length)return e.clone({children:[],hasDanglingSpaces:0!==e.children.length});const n=eD(e),r=Jb(e);return e.clone({isWhitespaceSensitive:n,isIndentationSensitive:r,children:e.children.reduce((e,r)=>{if("text"!==r.type||n)return e.concat(r);const i=[],[,o,a,s]=r.value.match(/^(\s*)([\s\S]*?)(\s*)$/);o&&i.push({type:t});const l=r.sourceSpan.constructor;return a&&i.push({type:"text",value:a,sourceSpan:new l(r.sourceSpan.start.moveBy(o.length),r.sourceSpan.end.moveBy(-s.length))}),s&&i.push({type:t}),e.concat(i)},[]).reduce((e,n,r,i)=>{if(n.type===t)return e;const o=0!==r&&i[r-1].type===t,a=r!==i.length-1&&i[r+1].type===t;return e.concat(Object.assign({},n,{hasLeadingSpaces:o,hasTrailingSpaces:a}))},[])})})}function cD(e){return e.map(e=>Object.assign(e,{isSelfClosing:!e.children||"element"===e.type&&(e.tagDefinition.isVoid||e.startSourceSpan===e.endSourceSpan)}))}function hD(e,t){return e.map(e=>"element"!==e.type?e:Object.assign(e,{hasHtmComponentClosingTag:e.endSourceSpan&&/^<\s*\/\s*\/\s*>$/.test(t.originalText.slice(e.endSourceSpan.start.offset,e.endSourceSpan.end.offset))}))}function pD(e,t){return e.map(e=>Object.assign(e,{cssDisplay:Kb(e,t)}))}function dD(e){return e.map(e=>e.children?0===e.children.length?e.clone({isDanglingSpaceSensitive:Xb(e)}):e.clone({children:e.children.map(e=>Object.assign({},e,{isLeadingSpaceSensitive:Zb(e),isTrailingSpaceSensitive:Qb(e)})).map((e,t,n)=>Object.assign({},e,{isLeadingSpaceSensitive:(0===t||n[t-1].isTrailingSpaceSensitive)&&e.isLeadingSpaceSensitive,isTrailingSpaceSensitive:(t===n.length-1||n[t+1].isLeadingSpaceSensitive)&&e.isTrailingSpaceSensitive}))}):e)}var fD=nD;function mD(e){return/^\s*/.test(e)}function gD(e){return"\x3c!-- @format --\x3e\n\n"+e.replace(/^\s*\n/,"")}var vD={hasPragma:mD,insertPragma:gD};const{builders:{concat:yD,group:bD}}=Qu;function DD(e,t){const{left:n,operator:r,right:i}=xD(e);return yD([bD(t("function _(".concat(n,") {}"),{parser:"babel",__isVueForBindingLeft:!0}))," ",r," ",t(i,{parser:"__js_expression"})])}function xD(e){const t=/([^]*?)\s+(in|of)\s+([^]*)/,n=/,([^,}\]]*)(?:,([^,}\]]*))?$/,r=/^\(|\)$/g,i=e.match(t);if(!i)return;const o={};o.for=i[3].trim();const a=i[1].trim().replace(r,""),s=a.match(n);return s?(o.alias=a.replace(n,""),o.iterator1=s[1].trim(),s[2]&&(o.iterator2=s[2].trim())):o.alias=a,{left:"".concat([o.alias,o.iterator1,o.iterator2].filter(Boolean).join(",")),operator:i[2],right:o.for}}function wD(e,t){return t("function _(".concat(e,") {}"),{parser:"babel",__isVueSlotScope:!0})}function CD(e){const t=/^([\w$_]+|\([^)]*?\))\s*=>|^function\s*\(/,n=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,r=e.trim();return t.test(r)||n.test(r)}var _D={isVueEventBindingExpression:CD,printVueFor:DD,printVueSlotScope:wD};const kD=/^\d+$/;function ED(e){return e.sort().filter((t,n)=>JSON.stringify(t)!==JSON.stringify(e[n-1]))}var SD=e=>ED(e.split(",").map(e=>{const t={};return e.trim().split(/\s+/).forEach((e,n)=>{if(0===n)return void(t.url=e);const r=e.slice(0,e.length-1),i=e[e.length-1],o=parseInt(r,10),a=parseFloat(r);if("w"===i&&kD.test(r))t.width=o;else if("h"===i&&kD.test(r))t.height=o;else{if("x"!==i||Number.isNaN(a))throw new Error("Invalid srcset descriptor: ".concat(e));t.density=a}}),t})),AD=e=>[...new Set(e.map(e=>{if(!e.url)throw new Error("URL is required");const t=[e.url];return e.width&&t.push("".concat(e.width,"w")),e.height&&t.push("".concat(e.height,"h")),e.density&&t.push("".concat(e.density,"x")),t.join(" ")}))].join(", "),FD={parse:SD,stringify:AD};const{builders:{concat:TD,ifBreak:OD,join:ND,line:LD}}=Qu,BD=FD.parse;function PD(e){const t=BD(e),n=t.some(e=>e.width),r=t.some(e=>e.height),i=t.some(e=>e.density);if(n+r+i>1)throw new Error("Mixed descriptor in srcset is not supported");const o=n?"width":r?"height":"density",a=n?"w":r?"h":"x",s=e=>Math.max(...e),l=t.map(e=>e.url),u=s(l.map(e=>e.length)),c=t.map(e=>e[o]).map(e=>e?e.toString():""),h=c.map(e=>{const t=e.indexOf(".");return-1===t?e.length:t}),p=s(h);return ND(TD([",",LD]),l.map((e,t)=>{const n=[e],r=c[t];if(r){const i=u-e.length+1,o=p-h[t],s=" ".repeat(i+o);n.push(OD(s," "),r+a)}return TD(n)}))}function MD(e){return e.trim().split(/\s+/).join(" ")}var jD={printImgSrcset:PD,printClassNames:MD};const{builders:ID,utils:{stripTrailingHardline:$D,mapDoc:RD}}=Qu,{breakParent:qD,dedentToRoot:zD,fill:VD,group:HD,hardline:WD,ifBreak:UD,indent:GD,join:YD,line:KD,literalline:XD,markAsRoot:JD,softline:ZD}=ID,{countChars:QD,countParents:ex,dedentString:tx,forceBreakChildren:nx,forceBreakContent:rx,forceNextEmptyLine:ix,getLastDescendant:ox,getPrettierIgnoreAttributeCommentData:ax,hasPrettierIgnore:sx,inferScriptParser:lx,isScriptLikeTag:ux,isTextLikeNode:cx,normalizeParts:hx,preferHardlineAsLeadingSpaces:px,shouldNotPrintClosingTag:dx,shouldPreserveContent:fx,unescapeQuoteEntities:mx}=Gb,{replaceEndOfLineWith:gx}=mu,{insertPragma:vx}=vD,{printVueFor:yx,printVueSlotScope:bx,isVueEventBindingExpression:Dx}=_D,{printImgSrcset:xx,printClassNames:wx}=jD;function Cx(e){const t=hx(e);return 0===t.length?"":1===t.length?t[0]:ID.concat(t)}function _x(e,t,n,r){const i=e.getValue();switch(i.type){case"text":if(ux(i.parent)){const e=lx(i.parent);if(e){const t="markdown"===e?tx(i.value.replace(/^[^\S\n]*?\n/,"")):i.value;return ID.concat([Cx([qD,Ix(i,r),$D(n(t,{parser:e})),Rx(i,r)])])}}else if("interpolation"===i.parent.type)return Cx([GD(Cx([KD,n(i.value,Object.assign({__isInHtmlInterpolation:!0},"angular"===r.parser?{parser:"__ng_interpolation",trailingComma:"none"}:"vue"===r.parser?{parser:"__vue_expression"}:{parser:"__js_expression"}))])),i.parent.next&&Px(i.parent.next)?" ":KD]);break;case"attribute":{if(!i.value)break;if(/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(r.originalText.slice(i.valueSpan.start.offset,i.valueSpan.end.offset)))return Cx([i.rawName,"=",i.value]);if("lwc"===r.parser){const e=/^\{[\s\S]*\}$/;if(e.test(r.originalText.slice(i.valueSpan.start.offset,i.valueSpan.end.offset)))return Cx([i.rawName,"=",i.value])}const e=Ux(i,(e,t)=>n(e,Object.assign({__isInHtmlAttribute:!0},t)),r);if(e)return Cx([i.rawName,'="',HD(RD(e,e=>"string"===typeof e?e.replace(/"/g,"""):e)),'"']);break}case"yaml":return JD(Cx(["---",WD,0===i.value.trim().length?"":n(i.value,{parser:"yaml"}),"---"]))}}function kx(e,t,n){const r=e.getValue();switch(r.type){case"root":return t.__onHtmlRoot&&t.__onHtmlRoot(r),ID.concat([HD(Ex(e,t,n)),WD]);case"element":case"ieConditionalComment":{const i=1===r.children.length&&"interpolation"===r.firstChild.type&&r.firstChild.isLeadingSpaceSensitive&&!r.firstChild.hasLeadingSpaces&&r.lastChild.isTrailingSpaceSensitive&&!r.lastChild.hasTrailingSpaces,o=Symbol("element-attr-group-id");return Cx([HD(Cx([HD(Sx(e,t,n),{id:o}),0===r.children.length?r.hasDanglingSpaces&&r.isDanglingSpaceSensitive?KD:"":Cx([rx(r)?qD:"",(e=>i?UD(GD(e),e,{groupId:o}):ux(r)&&"root"===r.parent.type&&"vue"===t.parser&&!t.vueIndentScriptAndStyle?e:GD(e))(Cx([i?UD(ZD,"",{groupId:o}):r.firstChild.hasLeadingSpaces&&r.firstChild.isLeadingSpaceSensitive?KD:"text"===r.firstChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive?zD(ZD):ZD,Ex(e,t,n)])),(r.next?Px(r.next):Mx(r.parent))?r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?" ":"":i?UD(ZD,"",{groupId:o}):r.lastChild.hasTrailingSpaces&&r.lastChild.isTrailingSpaceSensitive?KD:("comment"===r.lastChild.type||"text"===r.lastChild.type&&r.isWhitespaceSensitive&&r.isIndentationSensitive)&&new RegExp("\\n\\s{".concat(t.tabWidth*ex(e,e=>e.parent&&"root"!==e.parent.type),"}$")).test(r.lastChild.value)?"":ZD])])),Tx(r,t)])}case"ieConditionalStartComment":case"ieConditionalEndComment":return Cx([Ax(r),Nx(r)]);case"interpolation":return Cx([Ax(r,t),Cx(e.map(n,"children")),Nx(r,t)]);case"text":if("interpolation"===r.parent.type){const e=/\n[^\S\n]*?$/,t=e.test(r.value),n=t?r.value.replace(e,""):r.value;return Cx([Cx(gx(n,XD)),t?WD:""])}return VD(hx([].concat(Ix(r,t),Wx(r),Rx(r,t))));case"docType":return Cx([HD(Cx([Ax(r,t)," ",r.value.replace(/^html\b/i,"html").replace(/\s+/g," ")])),Nx(r,t)]);case"comment":return Cx([Ix(r,t),Cx(gx(t.originalText.slice(t.locStart(r),t.locEnd(r)),XD)),Rx(r,t)]);case"attribute":{if(null===r.value)return r.rawName;const e=mx(r.value),t=QD(e,"'"),n=QD(e,'"'),i=t{const t=e.getValue(),n=t.prev?a(t.prev,t):"";return Cx([n?Cx([n,ix(t.prev)?WD:""]):"",o(e)])},"children"))]);const i=r.children.map(()=>Symbol(""));return Cx(e.map((e,t)=>{const n=e.getValue();if(cx(n)){if(n.prev&&cx(n.prev)){const t=a(n.prev,n);if(t)return ix(n.prev)?Cx([WD,WD,o(e)]):Cx([t,o(e)])}return o(e)}const r=[],s=[],l=[],u=[],c=n.prev?a(n.prev,n):"",h=n.next?a(n,n.next):"";return c&&(ix(n.prev)?r.push(WD,WD):c===WD?r.push(WD):cx(n.prev)?s.push(c):s.push(UD("",ZD,{groupId:i[t-1]}))),h&&(ix(n)?cx(n.next)&&u.push(WD,WD):h===WD?cx(n.next)&&u.push(WD):l.push(h)),Cx([].concat(r,HD(Cx([Cx(s),HD(Cx([o(e),Cx(l)]),{id:i[t]})])),u))},"children"));function o(e){const r=e.getValue();return sx(r)?Cx([].concat(Ix(r,t),gx(t.originalText.slice(t.locStart(r)+(r.prev&&Lx(r.prev)?qx(r).length:0),t.locEnd(r)-(r.next&&Px(r.next)?Hx(r,t).length:0)),XD),Rx(r,t))):fx(r,t)?Cx([].concat(Ix(r,t),HD(Sx(e,t,n)),gx(t.originalText.slice(r.startSourceSpan.end.offset+(r.firstChild&&Bx(r.firstChild)?-zx(r).length:0),r.endSourceSpan.start.offset+(r.lastChild&&jx(r.lastChild)?Vx(r,t).length:Mx(r)?-Hx(r.lastChild,t).length:0)),XD),Tx(r,t),Rx(r,t))):n(e)}function a(e,t){return cx(e)&&cx(t)?e.isTrailingSpaceSensitive?e.hasTrailingSpaces?px(t)?WD:KD:"":px(t)?WD:ZD:Lx(e)&&(sx(t)||t.firstChild||t.isSelfClosing||"element"===t.type&&0!==t.attrs.length)||"element"===e.type&&e.isSelfClosing&&Px(t)?"":!t.isLeadingSpaceSensitive||px(t)||Px(t)&&e.lastChild&&jx(e.lastChild)&&e.lastChild.lastChild&&jx(e.lastChild.lastChild)?WD:t.hasLeadingSpaces?KD:ZD}}function Sx(e,t,n){const r=e.getValue(),i="element"===r.type&&"script"===r.fullName&&1===r.attrs.length&&"src"===r.attrs[0].fullName&&0===r.children.length;return Cx([Ax(r,t),r.attrs&&0!==r.attrs.length?Cx([GD(Cx([i?" ":KD,YD(KD,(r=>{const i="boolean"===typeof r?()=>r:Array.isArray(r)?e=>r.includes(e.rawName):()=>!1;return e.map(e=>{const r=e.getValue();return i(r)?Cx(gx(t.originalText.slice(t.locStart(r),t.locEnd(r)),XD)):n(e)},"attrs")})(r.prev&&"comment"===r.prev.type&&ax(r.prev.value)))])),r.firstChild&&Bx(r.firstChild)||r.isSelfClosing&&Mx(r.parent)?r.isSelfClosing?" ":"":r.isSelfClosing?i?" ":KD:i?"":ZD]):r.isSelfClosing?" ":"",r.isSelfClosing?"":Fx(r)])}function Ax(e,t){return e.prev&&Lx(e.prev)?"":Cx([Ix(e,t),qx(e)])}function Fx(e){return e.firstChild&&Bx(e.firstChild)?"":zx(e)}function Tx(e,t){return Cx([e.isSelfClosing?"":Ox(e,t),Nx(e,t)])}function Ox(e,t){return e.lastChild&&jx(e.lastChild)?"":Cx([$x(e,t),Vx(e,t)])}function Nx(e,t){return(e.next?Px(e.next):Mx(e.parent))?"":Cx([Hx(e,t),Rx(e,t)])}function Lx(e){return e.next&&!cx(e.next)&&cx(e)&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces}function Bx(e){return!e.prev&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function Px(e){return e.prev&&!cx(e.prev)&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function Mx(e){return e.lastChild&&e.lastChild.isTrailingSpaceSensitive&&!e.lastChild.hasTrailingSpaces&&!cx(ox(e.lastChild))}function jx(e){return!e.next&&!e.hasTrailingSpaces&&e.isTrailingSpaceSensitive&&cx(ox(e))}function Ix(e,t){return Bx(e)?zx(e.parent):Px(e)?Hx(e.prev,t):""}function $x(e,t){return Mx(e)?Hx(e.lastChild,t):""}function Rx(e,t){return jx(e)?Vx(e.parent,t):Lx(e)?qx(e.next):""}function qx(e){switch(e.type){case"ieConditionalComment":case"ieConditionalStartComment":return"\x3c!--[if ".concat(e.condition);case"ieConditionalEndComment":return"\x3c!--\x3c!--\x3e<").concat(e.rawName);default:return"<".concat(e.rawName)}}function zx(e){switch(qs(!e.isSelfClosing),e.type){case"ieConditionalComment":return"]>";case"element":if(e.condition)return">\x3c!--"}}function Vx(e,t){if(qs(!e.isSelfClosing),dx(e,t))return"";switch(e.type){case"ieConditionalComment":return"\x3c!--\x3e";case"interpolation":return"}}";case"element":if(e.isSelfClosing)return"/>";default:return">"}}function Wx(e,t=e.value){return e.parent.isWhitespaceSensitive?e.parent.isIndentationSensitive?gx(t,XD):gx(tx(t.replace(/^\s*?\n|\n\s*?$/g,"")),WD):YD(KD,t.split(/[\t\n\f\r ]+/)).parts}function Ux(e,t,n){const r=t=>new RegExp(t.join("|")).test(e.fullName),i=()=>mx(e.value);let o=!1;const a=(e,t)=>{const n="NGRoot"===e.type?"NGMicrosyntax"===e.node.type&&1===e.node.body.length&&"NGMicrosyntaxExpression"===e.node.body[0].type?e.node.body[0].expression:e.node:"JsExpressionRoot"===e.type?e.node:e;!n||"ObjectExpression"!==n.type&&"ArrayExpression"!==n.type&&("__vue_expression"!==t.parser||"TemplateLiteral"!==n.type&&"StringLiteral"!==n.type)||(o=!0)},s=e=>HD(e),l=(e,t=!0)=>HD(Cx([GD(Cx([ZD,e])),t?ZD:""])),u=e=>o?s(e):l(e),c=(e,n)=>t(e,Object.assign({__onHtmlBindingRoot:a},n));if("srcset"===e.fullName&&("img"===e.parent.fullName||"source"===e.parent.fullName))return l(xx(i()));if("class"===e.fullName&&!n.parentParser){const e=i();if(!e.includes("{{"))return wx(e)}if("style"===e.fullName&&!n.parentParser){const e=i();if(!e.includes("{{"))return l(c(e,{parser:"css",__isHTMLStyleAttribute:!0}))}if("vue"===n.parser){if("v-for"===e.fullName)return yx(i(),c);if("slot-scope"===e.fullName)return bx(i(),c);const t=["^@","^v-on:"],n=["^:","^v-bind:"],o=["^v-"];if(r(t)){const e=i();return u(Dx(e)?c(e,{parser:"__js_expression"}):$D(c(e,{parser:"__vue_event_binding"})))}if(r(n))return u(c(i(),{parser:"__vue_expression"}));if(r(o))return u(c(i(),{parser:"__js_expression"}))}if("angular"===n.parser){const t=(e,t)=>c(e,Object.assign({},t,{trailingComma:"none"})),n=["^\\*"],o=["^\\(.+\\)$","^on-"],a=["^\\[.+\\]$","^bind(on)?-","^ng-(if|show|hide|class|style)$"],s=["^i18n(-.+)?$"];if(r(o))return u(t(i(),{parser:"__ng_action"}));if(r(a))return u(t(i(),{parser:"__ng_binding"}));if(r(s)){const t=i().trim();return l(VD(Wx(e,t)),!t.includes("@@"))}if(r(n))return u(t(i(),{parser:"__ng_directive"}));const h=/\{\{([\s\S]+?)\}\}/g,p=i();if(h.test(p)){const e=[];return p.split(h).forEach((n,r)=>{if(r%2===0)e.push(Cx(gx(n,XD)));else try{e.push(HD(Cx(["{{",GD(Cx([KD,t(n,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})])),KD,"}}"])))}catch(i){e.push("{{",Cx(gx(n,XD)),"}}")}}),HD(Cx(e))}}return null}var Gx={preprocess:fD,print:kx,insertPragma:vx,massageAstNode:gv,embed:_x};const Yx="HTML";var Kx={htmlWhitespaceSensitivity:{since:"1.15.0",category:Yx,type:"choice",default:"css",description:"How to handle whitespaces in HTML.",choices:[{value:"css",description:"Respect the default value of CSS display property."},{value:"strict",description:"Whitespaces are considered sensitive."},{value:"ignore",description:"Whitespaces are considered insensitive."}]},vueIndentScriptAndStyle:{since:"1.19.0",category:Yx,type:"boolean",default:!1,description:"Indent script and style tags in Vue files."}},Xx="HTML",Jx="markup",Zx="text.html.basic",Qx="html",ew="htmlmixed",tw="text/html",nw="#e34c26",rw=["xhtml"],iw=[".html",".htm",".html.hl",".inc",".st",".xht",".xhtml"],ow=146,aw={name:Xx,type:Jx,tmScope:Zx,aceMode:Qx,codemirrorMode:ew,codemirrorMimeType:tw,color:nw,aliases:rw,extensions:iw,languageId:ow},sw=Object.freeze({__proto__:null,name:Xx,type:Jx,tmScope:Zx,aceMode:Qx,codemirrorMode:ew,codemirrorMimeType:tw,color:nw,aliases:rw,extensions:iw,languageId:ow,default:aw}),lw="Vue",uw="markup",cw="#2c3e50",hw=[".vue"],pw="text.html.vue",dw="html",fw=391,mw={name:lw,type:uw,color:cw,extensions:hw,tmScope:pw,aceMode:dw,languageId:fw},gw=Object.freeze({__proto__:null,name:lw,type:uw,color:cw,extensions:hw,tmScope:pw,aceMode:dw,languageId:fw,default:mw}),vw=Wt(sw),yw=Wt(gw);const bw=[Nf(vw,()=>({name:"Angular",since:"1.15.0",parsers:["angular"],vscodeLanguageIds:["html"],extensions:[".component.html"],filenames:[]})),Nf(vw,e=>({since:"1.15.0",parsers:["html"],vscodeLanguageIds:["html"],extensions:e.extensions.concat([".mjml"])})),Nf(vw,()=>({name:"Lightning Web Components",since:"1.17.0",parsers:["lwc"],vscodeLanguageIds:["html"],extensions:[],filenames:[]})),Nf(yw,()=>({since:"1.10.0",parsers:["vue"],vscodeLanguageIds:["vue"]}))],Dw={html:Gx};var xw={languages:bw,printers:Dw,options:Kx};const{addLeadingComment:ww,addTrailingComment:Cw,addDanglingComment:_w,getNextNonSpaceNonCommentCharacterIndex:kw}=Cc;function Ew(e,t,n,r,i){const{precedingNode:o,enclosingNode:a,followingNode:s}=e;return Vw(t,o,a,s,e,n)||Pw(a,s,e)||Nw(t,o,a,s,e,n)||Lw(t,o,a,s,e,n)||Bw(a,o,s,e)||Iw(a,o,s,e)||Hw(a,e)||Jw(a,o,e)||Yw(o,a,s,e)||Xw(a,r,e,i)||Zw(t,a,o,e,n)||Qw(a,e)||$w(t,a,o,e,n)||Ww(a,e)}function Sw(e,t,n,r,i){const{precedingNode:o,enclosingNode:a,followingNode:s}=e;return Ow(s,e)||Vw(t,o,a,s,e,n)||Mw(a,o,s,e,t,n)||Hw(a,e)||Nw(t,o,a,s,e,n)||Lw(t,o,a,s,e,n)||Bw(a,o,s,e)||Iw(a,o,s,e)||Ww(a,e)||Gw(o,a,e)||Kw(a,e)||Xw(a,r,e,i)||eC(a,s,e)||tC(a,s,e)}function Aw(e,t,n,r,i){const{precedingNode:o,enclosingNode:a,followingNode:s}=e;return!!(Nw(t,o,a,s,e,n)||Lw(t,o,a,s,e,n)||jw(a,o,e)||zw(t,a,e,n)||$w(t,a,o,e,n)||Xw(a,r,e,i)||qw(t,a,e,n)||Rw(t,a,o,e,n)||rC(t,a,o,s,e)||Uw(a,e)||nC(t,a,s,e,n))}function Fw(e,t){const n=e.body.filter(e=>"EmptyStatement"!==e.type);0===n.length?_w(e,t):ww(n[0],t)}function Tw(e,t){"BlockStatement"===e.type?Fw(e,t):ww(e,t)}function Ow(e,t){return!(!e||!uC(t))&&(ww(e,t),!0)}function Nw(e,t,n,r,i,o){if(!n||"IfStatement"!==n.type||!r)return!1;const a=mu.getNextNonSpaceNonCommentCharacter(e,i,o.locEnd);return")"===a?(Cw(t,i),!0):t===n.consequent&&r===n.alternate?("BlockStatement"===t.type?Cw(t,i):_w(n,i),!0):"BlockStatement"===r.type?(Fw(r,i),!0):"IfStatement"===r.type?(Tw(r.consequent,i),!0):n.consequent===r&&(ww(r,i),!0)}function Lw(e,t,n,r,i,o){if(!n||"WhileStatement"!==n.type||!r)return!1;const a=mu.getNextNonSpaceNonCommentCharacter(e,i,o.locEnd);return")"===a?(Cw(t,i),!0):"BlockStatement"===r.type&&(Fw(r,i),!0)}function Bw(e,t,n,r){return!(!e||"TryStatement"!==e.type&&"CatchClause"!==e.type||!n)&&("CatchClause"===e.type&&t?(Cw(t,r),!0):"BlockStatement"===n.type?(Fw(n,r),!0):"TryStatement"===n.type?(Tw(n.finalizer,r),!0):"CatchClause"===n.type&&(Tw(n.body,r),!0))}function Pw(e,t,n){return!(!e||"MemberExpression"!==e.type&&"OptionalMemberExpression"!==e.type||!t||"Identifier"!==t.type)&&(ww(e,n),!0)}function Mw(e,t,n,r,i,o){const a=t&&!mu.hasNewlineInRange(i,o.locEnd(t),o.locStart(r));return!(t&&a||!e||"ConditionalExpression"!==e.type||!n)&&(ww(n,r),!0)}function jw(e,t,n){return!(!e||"ObjectProperty"!==e.type&&"Property"!==e.type||!e.shorthand||e.key!==t||"AssignmentPattern"!==e.value.type)&&(Cw(e.value.left,n),!0)}function Iw(e,t,n,r){return!(!(e&&("ClassDeclaration"===e.type||"ClassExpression"===e.type)&&e.decorators&&e.decorators.length>0)||n&&"Decorator"===n.type)&&(e.decorators&&0!==e.decorators.length?Cw(e.decorators[e.decorators.length-1],r):ww(e,r),!0)}function $w(e,t,n,r,i){return(t&&n&&("Property"===t.type||"TSDeclareMethod"===t.type||"TSAbstractMethodDefinition"===t.type)&&"Identifier"===n.type&&t.key===n&&":"!==mu.getNextNonSpaceNonCommentCharacter(e,n,i.locEnd)||!(!n||!t||"Decorator"!==n.type||"ClassMethod"!==t.type&&"ClassProperty"!==t.type&&"TSAbstractClassProperty"!==t.type&&"TSAbstractMethodDefinition"!==t.type&&"TSDeclareMethod"!==t.type&&"MethodDefinition"!==t.type))&&(Cw(n,r),!0)}function Rw(e,t,n,r,i){return"("===mu.getNextNonSpaceNonCommentCharacter(e,r,i.locEnd)&&(!(!n||!t||"FunctionDeclaration"!==t.type&&"FunctionExpression"!==t.type&&"ClassMethod"!==t.type&&"MethodDefinition"!==t.type&&"ObjectMethod"!==t.type)&&(Cw(n,r),!0))}function qw(e,t,n,r){if(!t||"ArrowFunctionExpression"!==t.type)return!1;const i=kw(e,n,r.locEnd);return"=>"===e.slice(i,i+2)&&(_w(t,n),!0)}function zw(e,t,n,r){return")"===mu.getNextNonSpaceNonCommentCharacter(e,n,r.locEnd)&&(t&&(aC(t)&&0===(t.params||t.parameters).length||("CallExpression"===t.type||"OptionalCallExpression"===t.type||"NewExpression"===t.type)&&0===t.arguments.length)?(_w(t,n),!0):!(!t||"MethodDefinition"!==t.type||0!==t.value.params.length)&&(_w(t.value,n),!0))}function Vw(e,t,n,r,i,o){if(t&&"FunctionTypeParam"===t.type&&n&&"FunctionTypeAnnotation"===n.type&&r&&"FunctionTypeParam"!==r.type)return Cw(t,i),!0;if(t&&("Identifier"===t.type||"AssignmentPattern"===t.type)&&n&&aC(n)&&")"===mu.getNextNonSpaceNonCommentCharacter(e,i,o.locEnd))return Cw(t,i),!0;if(n&&"FunctionDeclaration"===n.type&&r&&"BlockStatement"===r.type){const t=(()=>{if(0!==(n.params||n.parameters).length)return mu.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(e,o.locEnd(mu.getLast(n.params||n.parameters)));const t=mu.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(e,o.locEnd(n.id));return mu.getNextNonSpaceNonCommentCharacterIndexWithStartIndex(e,t+1)})();if(o.locStart(i)>t)return Fw(r,i),!0}return!1}function Hw(e,t){return!(!e||"ImportSpecifier"!==e.type)&&(ww(e,t),!0)}function Ww(e,t){return!(!e||"LabeledStatement"!==e.type)&&(ww(e,t),!0)}function Uw(e,t){return!(!e||"ContinueStatement"!==e.type&&"BreakStatement"!==e.type||e.label)&&(Cw(e,t),!0)}function Gw(e,t,n){return!!(t&&("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&e&&t.callee===e&&t.arguments.length>0)&&(ww(t.arguments[0],n),!0)}function Yw(e,t,n,r){return!t||"UnionTypeAnnotation"!==t.type&&"TSUnionType"!==t.type?(n&&("UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)&&mu.isNodeIgnoreComment(r)&&(n.types[0].prettierIgnore=!0,r.unignore=!0),!1):(mu.isNodeIgnoreComment(r)&&(n.prettierIgnore=!0,r.unignore=!0),!!e&&(Cw(e,r),!0))}function Kw(e,t){return!(!e||"Property"!==e.type&&"ObjectProperty"!==e.type)&&(ww(e,t),!0)}function Xw(e,t,n,r){return t&&t.body&&0===t.body.length?(r?_w(t,n):ww(t,n),!0):!(!e||"Program"!==e.type||0!==e.body.length||!e.directives||0!==e.directives.length)&&(r?_w(e,n):ww(e,n),!0)}function Jw(e,t,n){return!(!e||"ForInStatement"!==e.type&&"ForOfStatement"!==e.type)&&(ww(e,n),!0)}function Zw(e,t,n,r,i){return!!(n&&"ImportSpecifier"===n.type&&t&&"ImportDeclaration"===t.type&&mu.hasNewline(e,i.locEnd(r)))&&(Cw(n,r),!0)}function Qw(e,t){return!(!e||"AssignmentPattern"!==e.type)&&(ww(e,t),!0)}function eC(e,t,n){return!(!e||"TypeAlias"!==e.type)&&(ww(e,n),!0)}function tC(e,t,n){return!(!e||"VariableDeclarator"!==e.type&&"AssignmentExpression"!==e.type||!t||"ObjectExpression"!==t.type&&"ArrayExpression"!==t.type&&"TemplateLiteral"!==t.type&&"TaggedTemplateExpression"!==t.type&&!iC(n))&&(ww(t,n),!0)}function nC(e,t,n,r,i){return!(n||!t||"TSMethodSignature"!==t.type&&"TSDeclareFunction"!==t.type&&"TSAbstractMethodDefinition"!==t.type||";"!==mu.getNextNonSpaceNonCommentCharacter(e,r,i.locEnd))&&(Cw(t,r),!0)}function rC(e,t,n,r,i){return!(!t||"TSMappedType"!==t.type)&&(r&&"TSTypeParameter"===r.type&&r.name?(ww(r.name,i),!0):!(!n||"TSTypeParameter"!==n.type||!n.constraint)&&(Cw(n.constraint,i),!0))}function iC(e){return"Block"===e.type||"CommentBlock"===e.type}function oC(e,t=(()=>!0)){return e.leadingComments?e.leadingComments.some(t):!!e.comments&&e.comments.some(e=>e.leading&&t(e))}function aC(e){return"ArrowFunctionExpression"===e.type||"FunctionExpression"===e.type||"FunctionDeclaration"===e.type||"ObjectMethod"===e.type||"ClassMethod"===e.type||"TSDeclareFunction"===e.type||"TSCallSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSConstructSignatureDeclaration"===e.type||"TSMethodSignature"===e.type||"TSConstructorType"===e.type||"TSFunctionType"===e.type||"TSDeclareMethod"===e.type}function sC(e){if(e&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type)return/^[\s(&|]*$/}function lC(e,t){if(("typescript"===t.parser||"flow"===t.parser)&&"MethodDefinition"===e.type&&e.value&&"FunctionExpression"===e.value.type&&0===e.value.params.length&&!e.value.returnType&&(!e.value.typeParameters||0===e.value.typeParameters.length)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]}function uC(e){return iC(e)&&"*"===e.value[0]&&/@type\b/.test(e.value)}var cC={handleOwnLineComment:Ew,handleEndOfLineComment:Sw,handleRemainingComment:Aw,hasLeadingComment:oC,isBlockComment:iC,isTypeCastComment:uC,getGapRegex:sC,getCommentChildNodes:lC};const{isBlockComment:hC,hasLeadingComment:pC}=cC,{builders:{indent:dC,join:fC,line:mC,hardline:gC,softline:vC,literalline:yC,concat:bC,group:DC,dedentToRoot:xC},utils:{mapDoc:wC,stripTrailingHardline:CC}}=Qu;function _C(e,t,n,r){const i=e.getValue(),o=e.getParentNode(),a=e.getParentNode(1);switch(i.type){case"TemplateLiteral":{const o=[OC,PC,MC,NC].some(t=>t(e));if(o){const r=i.quasis.map(e=>e.value.raw);let o=0;const a=r.reduce((e,t,n)=>0===n?t:e+"@prettier-placeholder-"+o+++"-id"+t,""),s=n(a,{parser:"scss"});return AC(s,e,t)}if($C(e)){const r=i.expressions?e.map(t,"expressions"):[],o=i.quasis.length;if(1===o&&""===i.quasis[0].value.raw.trim())return"``";const a=[];for(let e=0;e2&&""===c[0].trim()&&""===c[1].trim(),f=h>2&&""===c[h-1].trim()&&""===c[h-2].trim(),m=c.every(e=>/^\s*(?:#[^\r\n]*)?$/.test(e));if(!l&&/#[^\r\n]*$/.test(c[h-1]))return null;let g=null;g=m?TC(c):CC(n(u,{parser:"graphql"})),g?(g=SC(g,!1),!s&&d&&a.push(""),a.push(g),!l&&f&&a.push("")):s||l||!d||a.push(""),p&&a.push(bC(["${",p,"}"]))}return bC(["`",dC(bC([gC,fC(gC,a)])),gC,"`"])}const a=qC(e)?"html":LC(e)?"angular":void 0;if(a)return VC(e,t,n,a,r);break}case"TemplateElement":if(a&&"TaggedTemplateExpression"===a.type&&1===o.quasis.length&&"Identifier"===a.tag.type&&("md"===a.tag.name||"markdown"===a.tag.name)){const e=o.quasis[0].value.raw.replace(/((?:\\\\)*)\\`/g,(e,t)=>"\\".repeat(t.length/2)+"`"),t=kC(e),n=""!==t;return bC([n?dC(bC([vC,s(e.replace(new RegExp("^".concat(t),"gm"),""))])):bC([yC,xC(s(e))]),vC])}break}function s(e){const t=n(e,{parser:"markdown",__inJsTemplate:!0});return CC(SC(t,!0))}}function kC(e){const t=e.match(/^([^\S\n]*)\S/m);return null===t?"":t[1]}function EC(e){return e.replace(/([\\`]|\$\{)/g,"\\$1")}function SC(e,t){return wC(e,e=>{if(!e.parts)return e;const n=[];return e.parts.forEach(e=>{"string"===typeof e?n.push(t?e.replace(/(\\*)`/g,"$1$1\\`"):EC(e)):n.push(e)}),Object.assign({},e,{parts:n})})}function AC(e,t,n){const r=t.getValue(),i=1===r.quasis.length&&!r.quasis[0].value.raw.trim();if(i)return"``";const o=r.expressions?t.map(n,"expressions"):[],a=FC(e,o);if(!a)throw new Error("Couldn't insert all the expressions");return bC(["`",dC(bC([gC,CC(a)])),vC,"`"])}function FC(e,t){if(!t||!t.length)return e;const n=t.slice();let r=0;const i=wC(e,e=>{if(!e||!e.parts||!e.parts.length)return e;let{parts:t}=e;const i=t.indexOf("@"),o=i+1;if(i>-1&&"string"===typeof t[o]&&t[o].startsWith("prettier-placeholder")){const e=t[i],n=t[o],r=t.slice(o+1);t=t.slice(0,i).concat([e+n]).concat(r)}const a=t.findIndex(e=>"string"===typeof e&&e.startsWith("@prettier-placeholder"));if(a>-1){const e=t[a],i=t.slice(a+1),o=e.match(/@prettier-placeholder-(.+)-id([\s\S]*)/),s=o[1],l=o[2],u=n[s];r++,t=t.slice(0,a).concat(["${",u,"}"+l]).concat(i)}return Object.assign({},e,{parts:t})});return n.length===r?i:null}function TC(e){const t=[];let n=!1;return e.map(e=>e.trim()).forEach((e,r,i)=>{""!==e&&(""===i[r-1]&&n?t.push(bC([gC,e])):t.push(e),n=!0)}),0===t.length?null:fC(gC,t)}function OC(e){const t=e.getValue(),n=e.getParentNode(),r=e.getParentNode(1);return r&&t.quasis&&"JSXExpressionContainer"===n.type&&"JSXElement"===r.type&&"style"===r.openingElement.name.name&&r.openingElement.attributes.some(e=>"jsx"===e.name.name)||n&&"TaggedTemplateExpression"===n.type&&"Identifier"===n.tag.type&&"css"===n.tag.name||n&&"TaggedTemplateExpression"===n.type&&"MemberExpression"===n.tag.type&&"css"===n.tag.object.name&&("global"===n.tag.property.name||"resolve"===n.tag.property.name)}function NC(e){return e.match(e=>"TemplateLiteral"===e.type,(e,t)=>"ArrayExpression"===e.type&&"elements"===t,(e,t)=>("Property"===e.type||"ObjectProperty"===e.type)&&"Identifier"===e.key.type&&"styles"===e.key.name&&"value"===t,...BC)}function LC(e){return e.match(e=>"TemplateLiteral"===e.type,(e,t)=>("Property"===e.type||"ObjectProperty"===e.type)&&"Identifier"===e.key.type&&"template"===e.key.name&&"value"===t,...BC)}const BC=[(e,t)=>"ObjectExpression"===e.type&&"properties"===t,(e,t)=>"CallExpression"===e.type&&"Identifier"===e.callee.type&&"Component"===e.callee.name&&"arguments"===t,(e,t)=>"Decorator"===e.type&&"expression"===t];function PC(e){const t=e.getParentNode();if(!t||"TaggedTemplateExpression"!==t.type)return!1;const{tag:n}=t;switch(n.type){case"MemberExpression":return jC(n.object)||IC(n);case"CallExpression":return jC(n.callee)||"MemberExpression"===n.callee.type&&("MemberExpression"===n.callee.object.type&&(jC(n.callee.object.object)||IC(n.callee.object))||"CallExpression"===n.callee.object.type&&jC(n.callee.object.callee));case"Identifier":return"css"===n.name;default:return!1}}function MC(e){const t=e.getParentNode(),n=e.getParentNode(1);return n&&"JSXExpressionContainer"===t.type&&"JSXAttribute"===n.type&&"JSXIdentifier"===n.name.type&&"css"===n.name.name}function jC(e){return"Identifier"===e.type&&"styled"===e.name}function IC(e){return/^[A-Z]/.test(e.object.name)&&"extend"===e.property.name}function $C(e){const t=e.getValue(),n=e.getParentNode();return RC(t,"GraphQL")||n&&("TaggedTemplateExpression"===n.type&&("MemberExpression"===n.tag.type&&"graphql"===n.tag.object.name&&"experimental"===n.tag.property.name||"Identifier"===n.tag.type&&("gql"===n.tag.name||"graphql"===n.tag.name))||"CallExpression"===n.type&&"Identifier"===n.callee.type&&"graphql"===n.callee.name)}function RC(e,t){return pC(e,e=>hC(e)&&e.value===" ".concat(t," "))}function qC(e){return RC(e.getValue(),"HTML")||e.match(e=>"TemplateLiteral"===e.type,(e,t)=>"TaggedTemplateExpression"===e.type&&"Identifier"===e.tag.type&&"html"===e.tag.name&&"quasi"===t)}let zC=0;function VC(e,t,n,r,i){const o=e.getValue(),a=zC;zC=zC+1>>>0;const s=e=>"PRETTIER_HTML_PLACEHOLDER_".concat(e,"_").concat(a,"_IN_JS"),l=o.quasis.map((e,t,n)=>t===n.length-1?e.value.cooked:e.value.cooked+s(t)).join(""),u=e.map(t,"expressions");if(0===u.length&&0===l.trim().length)return"``";const c=new RegExp(s("(\\d+)"),"g");let h=0;const p=wC(CC(n(l,{parser:r,__onHtmlRoot(e){h=e.children.length}})),e=>{if("string"!==typeof e)return e;const t=[],n=e.split(c);for(let r=0;r1?dC(DC(p)):DC(p),f,"`"]))}var HC=_C;function WC(e,t,n){if(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","flags","errors"].forEach(e=>{delete t[e]}),e.loc&&null===e.loc.source&&delete t.loc.source,"BigIntLiteral"===e.type&&(t.value=t.value.toLowerCase()),"EmptyStatement"===e.type)return null;if("JSXText"===e.type)return null;if("JSXExpressionContainer"===e.type&&"Literal"===e.expression.type&&" "===e.expression.value)return null;if("TSParameterProperty"===e.type&&null===e.accessibility&&!e.readonly)return{type:"Identifier",name:e.parameter.name,typeAnnotation:t.parameter.typeAnnotation,decorators:t.decorators};if("TSNamespaceExportDeclaration"===e.type&&e.specifiers&&0===e.specifiers.length&&delete t.specifiers,"JSXOpeningElement"===e.type&&delete t.selfClosing,"JSXElement"===e.type&&delete t.closingElement,"Property"!==e.type&&"ObjectProperty"!==e.type&&"MethodDefinition"!==e.type&&"ClassProperty"!==e.type&&"TSPropertySignature"!==e.type&&"ObjectTypeProperty"!==e.type||"object"!==typeof e.key||!e.key||"Literal"!==e.key.type&&"StringLiteral"!==e.key.type&&"Identifier"!==e.key.type||delete t.key,"OptionalMemberExpression"===e.type&&!1===e.optional&&(t.type="MemberExpression",delete t.optional),"JSXElement"===e.type&&"style"===e.openingElement.name.name&&e.openingElement.attributes.some(e=>"jsx"===e.name.name)){const e=t.children.filter(e=>"JSXExpressionContainer"===e.type&&"TemplateLiteral"===e.expression.type).map(e=>e.expression),n=e.reduce((e,t)=>e.concat(t.quasis),[]);n.forEach(e=>delete e.value)}"JSXAttribute"===e.type&&"css"===e.name.name&&"JSXExpressionContainer"===e.value.type&&"TemplateLiteral"===e.value.expression.type&&t.value.expression.quasis.forEach(e=>delete e.value);const r=e.expression||e.callee;if("Decorator"===e.type&&"CallExpression"===r.type&&"Component"===r.callee.name&&1===r.arguments.length){const n=e.expression.arguments[0].properties;t.expression.arguments[0].properties.forEach((e,t)=>{let r=null;switch(n[t].key.name){case"styles":"ArrayExpression"===e.value.type&&(r=e.value.elements[0]);break;case"template":"TemplateLiteral"===e.value.type&&(r=e.value);break}r&&r.quasis.forEach(e=>delete e.value)})}if("TaggedTemplateExpression"!==e.type||"MemberExpression"!==e.tag.type&&("Identifier"!==e.tag.type||"gql"!==e.tag.name&&"graphql"!==e.tag.name&&"css"!==e.tag.name&&"md"!==e.tag.name&&"markdown"!==e.tag.name&&"html"!==e.tag.name)&&"CallExpression"!==e.tag.type||t.quasi.quasis.forEach(e=>delete e.value),"TemplateLiteral"===e.type){const r=e.leadingComments&&e.leadingComments.some(e=>"CommentBlock"===e.type&&["GraphQL","HTML"].some(t=>e.value===" ".concat(t," ")));(r||"CallExpression"===n.type&&"graphql"===n.callee.name)&&t.quasis.forEach(e=>delete e.value)}}var UC=WC;const{getLast:GC,hasNewline:YC,hasNewlineInRange:KC,hasIgnoreComment:XC,hasNodeIgnoreComment:JC,skipWhitespace:ZC}=mu,QC=Ra.keyword.isIdentifierNameES5,e_="(?:(?=.)\\s)",t_=new RegExp("^".concat(e_,"*:")),n_=new RegExp("^".concat(e_,"*::"));function r_(e){return e.extra&&e.extra.parenthesized&&e.trailingComments&&e.trailingComments[0].value.match(t_)}function i_(e){return e&&e[0].value.match(n_)}function o_(e,t){if(!e||"object"!==typeof e)return!1;if(Array.isArray(e))return e.some(e=>o_(e,t));const n=t(e);return"boolean"===typeof n?n:Object.keys(e).some(n=>o_(e[n],t))}function a_(e){return"AssignmentExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"NGPipeExpression"===e.type||"ConditionalExpression"===e.type||"CallExpression"===e.type||"OptionalCallExpression"===e.type||"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"SequenceExpression"===e.type||"TaggedTemplateExpression"===e.type||"BindExpression"===e.type||"UpdateExpression"===e.type&&!e.prefix||"TSAsExpression"===e.type||"TSNonNullExpression"===e.type}function s_(e){return e.expressions?e.expressions[0]:e.left||e.test||e.callee||e.object||e.tag||e.argument||e.expression}function l_(e,t){if(t.expressions)return["expressions",0];if(t.left)return["left"];if(t.test)return["test"];if(t.object)return["object"];if(t.callee)return["callee"];if(t.tag)return["tag"];if(t.argument)return["argument"];if(t.expression)return["expression"];throw new Error("Unexpected node has no left side",t)}const u_=new Set(["ExportDefaultDeclaration","ExportDefaultSpecifier","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"]);function c_(e){return e&&u_.has(e.type)}function h_(e){const t=e.getParentNode();return"declaration"===e.getName()&&c_(t)?t:null}function p_(e){return"BooleanLiteral"===e.type||"DirectiveLiteral"===e.type||"Literal"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"RegExpLiteral"===e.type||"StringLiteral"===e.type||"TemplateLiteral"===e.type||"TSTypeLiteral"===e.type||"JSXText"===e.type}function d_(e){return"NumericLiteral"===e.type||"Literal"===e.type&&"number"===typeof e.value}function f_(e){return"StringLiteral"===e.type||"Literal"===e.type&&"string"===typeof e.value}function m_(e){return"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type}function g_(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type}function v_(e){return"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&"BlockStatement"===e.body.type}function y_(e){return"TemplateLiteral"===e.type}function b_(e){return("CallExpression"===e.type||"OptionalCallExpression"===e.type)&&"Identifier"===e.callee.type&&("async"===e.callee.name||"inject"===e.callee.name||"fakeAsync"===e.callee.name)}function D_(e){return"JSXElement"===e.type||"JSXFragment"===e.type}function x_(e,t){if("markdown"!==e.parentParser&&"mdx"!==e.parentParser)return!1;const n=t.getNode();if(!n.expression||!D_(n.expression))return!1;const r=t.getParentNode();return"Program"===r.type&&1===r.body.length}function w_(e){return"JSXExpressionContainer"===e.type&&p_(e.expression)&&" "===e.expression.value&&!e.expression.comments}function C_(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&("Identifier"===e.object.type||C_(e.object))}function __(e){return"get"===e.kind||"set"===e.kind}function k_(e,t,n){return n.locStart(e)===n.locStart(t)}function E_(e,t){return __(e)||k_(e,e.value,t)}function S_(e,t){return("ObjectTypeProperty"===e.type||"ObjectTypeInternalSlot"===e.type)&&"FunctionTypeAnnotation"===e.value.type&&!e.static&&!E_(e,t)}function A_(e,t){return("TypeAnnotation"===e.type||"TSTypeAnnotation"===e.type)&&"FunctionTypeAnnotation"===e.typeAnnotation.type&&!e.static&&!k_(e,e.typeAnnotation,t)}const F_=new Set(["BinaryExpression","LogicalExpression","NGPipeExpression"]);function T_(e){return F_.has(e.type)}function O_(e){return"MemberExpression"===e.type||"OptionalMemberExpression"===e.type||"BindExpression"===e.type&&e.object}function N_(e){const t=["AnyTypeAnnotation","NullLiteralTypeAnnotation","GenericTypeAnnotation","ThisTypeAnnotation","NumberTypeAnnotation","VoidTypeAnnotation","EmptyTypeAnnotation","MixedTypeAnnotation","BooleanTypeAnnotation","BooleanLiteralTypeAnnotation","StringTypeAnnotation"];return e&&t.includes(e.type)&&!("GenericTypeAnnotation"===e.type&&e.typeParameters)}const L_=/^(skip|[fx]?(it|describe|test))$/;function B_(e){return("MemberExpression"===e.callee.type||"OptionalMemberExpression"===e.callee.type)&&"Identifier"===e.callee.object.type&&"Identifier"===e.callee.property.type&&L_.test(e.callee.object.name)&&("only"===e.callee.property.name||"skip"===e.callee.property.name)}function P_(e){const t=/^(before|after)(Each|All)$/;return"Identifier"===e.callee.type&&t.test(e.callee.name)&&1===e.arguments.length}function M_(e,t){if("CallExpression"!==e.type)return!1;if(1===e.arguments.length){if(b_(e)&&t&&M_(t))return g_(e.arguments[0]);if(P_(e))return b_(e.arguments[0])}else if((2===e.arguments.length||3===e.arguments.length)&&("Identifier"===e.callee.type&&L_.test(e.callee.name)||B_(e))&&(y_(e.arguments[0])||f_(e.arguments[0])))return!(e.arguments[2]&&!d_(e.arguments[2]))&&((2===e.arguments.length?g_(e.arguments[1]):v_(e.arguments[1])&&e.arguments[1].params.length<=1)||b_(e.arguments[1]));return!1}function j_(e){return e.comments&&e.comments.some(e=>e.leading)}function I_(e){return e.comments&&e.comments.some(e=>e.trailing)}function $_(e){return"CallExpression"===e.type||"OptionalCallExpression"===e.type}function R_(e){return e.comments&&e.comments.some(e=>!e.leading&&!e.trailing)}function q_(e){return o_(e.getValue(),e=>{switch(e.type){case void 0:return!1;case"CallExpression":case"OptionalCallExpression":case"AssignmentExpression":return!0}})}function z_(e,t,n){return"NGMicrosyntaxKeyedExpression"===e.type&&"of"===e.key.name&&1===t&&"NGMicrosyntaxLet"===n.body[0].type&&null===n.body[0].value}function V_(e){return 0!==e.expressions.length&&e.expressions.every(e=>{if(e.comments)return!1;if("Identifier"===e.type||"ThisExpression"===e.type)return!0;if("MemberExpression"===e.type||"OptionalMemberExpression"===e.type){let t=e;while("MemberExpression"===t.type||"OptionalMemberExpression"===t.type){if("Identifier"!==t.property.type&&"Literal"!==t.property.type&&"StringLiteral"!==t.property.type&&"NumericLiteral"!==t.property.type)return!1;if(t=t.object,t.comments)return!1}return"Identifier"===t.type||"ThisExpression"===t.type}return!1})}function H_(e){if(!e.variance)return null;const t=e.variance.kind||e.variance;switch(t){case"plus":return"+";case"minus":return"-";default:return t}}function W_(e){const t=e.getNode();if("ClassProperty"!==t.type)return!1;const n=t.key&&t.key.name;return!("static"!==n&&"get"!==n&&"set"!==n||t.value||t.typeAnnotation)||void 0}function U_(e){if(e){if(e.static||e.accessibility)return!1;if(!e.computed){const t=e.key&&e.key.name;if("in"===t||"instanceof"===t)return!0}switch(e.type){case"ClassProperty":case"TSAbstractClassProperty":return e.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{const t=e.value?e.value.async:e.async,n=e.value?e.value.generator:e.generator;return!t&&"get"!==e.kind&&"set"!==e.kind&&!(!e.computed&&!n)}case"TSIndexSignature":return!0;default:return!1}}}function G_(e,t){return"+"===e?"+"+t:"-"===e?"-"+t:t}function Y_(e,t){return KC(t.originalText,t.locStart(e.decorators[0]),t.locEnd(GC(e.decorators)))||YC(t.originalText,t.locEnd(GC(e.decorators)))}const K_=" \n\r\t",X_=new RegExp("(["+K_+"]+)"),J_=new RegExp("[^"+K_+"]");function Z_(e){return p_(e)&&(J_.test(gk(e))||!/\n/.test(gk(e)))}function Q_(e){const t=e.getValue(),n=e.getParentNode();if(!n||!t||!D_(t)||!D_(n))return!1;const r=n.children.indexOf(t);let i=null;for(let o=r;o>0;o--){const e=n.children[o-1];if("JSXText"!==e.type||Z_(e)){i=e;break}}return i&&"JSXExpressionContainer"===i.type&&"JSXEmptyExpression"===i.expression.type&&i.expression.comments&&i.expression.comments.find(e=>"prettier-ignore"===e.value.trim())}function ek(e){if(0===e.children.length)return!0;if(e.children.length>1)return!1;const t=e.children[0];return p_(t)&&!Z_(t)}function tk(e){return XC(e)||Q_(e)}function nk(e){const t=e.getParentNode();if(!t)return!0;const n=e.getValue(),r=(t.body||t.consequent).filter(e=>"EmptyStatement"!==e.type);return r&&r[r.length-1]===n}function rk(e,t,n){const r=n.locStart(t),i=ZC(e,n.locEnd(t));return"/*"===e.slice(r,r+2)&&"*/"===e.slice(i,i+2)}function ik(e,t,n){if(D_(t))return JC(t);const r=t.comments&&t.comments.some(t=>t.leading&&YC(e,n.locEnd(t)));return r}function ok(e,t){if(ik(e.originalText,t,e))return!0;if(a_(t)){let n,r=t;while(n=s_(r))if(r=n,ik(e.originalText,r,e))return!0}return!1}function ak(e,t){return f_(e.key)&&QC(e.key.value)&&"json"!==t.parser&&!(("typescript"===t.parser||"babel-ts"===t.parser)&&"ClassProperty"===e.type)}function sk(e,t){const n=/^[xf]?(describe|it|test)$/;return"TaggedTemplateExpression"===t.type&&t.quasi===e&&"MemberExpression"===t.tag.type&&"Identifier"===t.tag.property.type&&"each"===t.tag.property.name&&("Identifier"===t.tag.object.type&&n.test(t.tag.object.name)||"MemberExpression"===t.tag.object.type&&"Identifier"===t.tag.object.property.type&&("only"===t.tag.object.property.name||"skip"===t.tag.object.property.name)&&"Identifier"===t.tag.object.object.type&&n.test(t.tag.object.object.name))}function lk(e){return e.quasis.some(e=>e.value.raw.includes("\n"))}function uk(e,t,n){return("TemplateLiteral"===e.type&&lk(e)||"TaggedTemplateExpression"===e.type&&lk(e.quasi))&&!YC(t,n.locStart(e),{backwards:!0})}function ck(e){if(!e.comments)return!1;const t=GC(e.comments.filter(e=>!e.leading&&!e.trailing));return t&&!cC.isBlockComment(t)}function hk(e){const t=[];function n(e){"ConditionalExpression"===e.type?(n(e.test),n(e.consequent),n(e.alternate)):t.push(e)}return n(e),t}function pk(e){return Boolean(hk(e).find(D_))}function dk(e){if(e.length<=1)return!1;let t=0;for(const n of e)if(g_(n)){if(t+=1,t>1)return!0}else if($_(n))for(const e of n.arguments)if(g_(e))return!0;return!1}function fk(e){const t=e.getValue(),n=e.getParentNode();return $_(t)&&$_(n)&&n.callee===t&&t.arguments.length>n.arguments.length&&n.arguments.length>0}function mk(e,t){if(t>=2)return!1;const n=e=>mk(e,t+1),r="Literal"===e.type&&e.regex&&e.regex.pattern||"RegExpLiteral"===e.type&&e.pattern;return!(r&&r.length>5)&&("Literal"===e.type||"BooleanLiteral"===e.type||"NullLiteral"===e.type||"NumericLiteral"===e.type||"StringLiteral"===e.type||"Identifier"===e.type||"ThisExpression"===e.type||"Super"===e.type||"BigIntLiteral"===e.type||"PrivateName"===e.type||"ArgumentPlaceholder"===e.type||"RegExpLiteral"===e.type||"Import"===e.type||("TemplateLiteral"===e.type?e.expressions.every(n):"ObjectExpression"===e.type?e.properties.every(e=>!e.computed&&(e.shorthand||e.value&&n(e.value))):"ArrayExpression"===e.type?e.elements.every(e=>null==e||n(e)):"CallExpression"===e.type||"OptionalCallExpression"===e.type||"NewExpression"===e.type?mk(e.callee,t)&&e.arguments.every(n):"MemberExpression"===e.type||"OptionalMemberExpression"===e.type?mk(e.object,t)&&mk(e.property,t):"UnaryExpression"!==e.type||"!"!==e.operator&&"-"!==e.operator?"TSNonNullExpression"===e.type&&mk(e.expression,t):mk(e.argument,t)))}function gk(e){return e.extra?e.extra.raw:e.raw}function vk(e){return e}function yk(e){return e.filepath&&/\.tsx$/i.test(e.filepath)}var bk={classChildNeedsASIProtection:U_,classPropMayCauseASIProblems:W_,conditionalExpressionChainContainsJSX:pk,getFlowVariance:H_,getLeftSidePathName:l_,getParentExportDeclaration:h_,getTypeScriptMappedTypeModifier:G_,hasDanglingComments:R_,hasFlowAnnotationComment:i_,hasFlowShorthandAnnotationComment:r_,hasLeadingComment:j_,hasLeadingOwnLineComment:ik,hasNakedLeftSide:a_,hasNewlineBetweenOrAfterDecorators:Y_,hasNgSideEffect:q_,hasNode:o_,hasPrettierIgnore:tk,hasTrailingComment:I_,identity:vk,isBinaryish:T_,isCallOrOptionalCallExpression:$_,isEmptyJSXElement:ek,isExportDeclaration:c_,isFlowAnnotationComment:rk,isFunctionCompositionArgs:dk,isFunctionNotation:E_,isFunctionOrArrowExpression:g_,isGetterOrSetter:__,isJestEachTemplateLiteral:sk,isJSXNode:D_,isJSXWhitespaceExpression:w_,isLastStatement:nk,isLiteral:p_,isLongCurriedCallExpression:fk,isSimpleCallArgument:mk,isMeaningfulJSXText:Z_,isMemberExpressionChain:C_,isMemberish:O_,isNgForOf:z_,isNumericLiteral:d_,isObjectType:m_,isObjectTypePropertyAFunction:S_,isSimpleFlowType:N_,isSimpleTemplateLiteral:V_,isStringLiteral:f_,isStringPropSafeToCoerceToIdentifier:ak,isTemplateOnItsOwnLine:uk,isTestCall:M_,isTheOnlyJSXElementInMarkdown:x_,isTSXFile:yk,isTypeAnnotationAFunction:A_,matchJsxWhitespaceRegex:X_,needsHardlineAfterDanglingComment:ck,rawText:gk,returnArgumentHasLeadingComment:ok};const{getLeftSidePathName:Dk,hasFlowShorthandAnnotationComment:xk,hasNakedLeftSide:wk,hasNode:Ck}=bk;function _k(e,t){const n=e.getParentNode();if(!n)return!1;const r=e.getName(),i=e.getNode();if(e.getValue()!==i)return!1;if(t.__isInHtmlInterpolation&&!t.bracketSpacing&&Sk(i)&&Ak(e))return!0;if(kk(i))return!1;if("flow"!==t.parser&&xk(e.getValue()))return!0;if("Identifier"===i.type)return!!(i.extra&&i.extra.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(i.name));if("ParenthesizedExpression"===n.type)return!1;if(("ClassDeclaration"===n.type||"ClassExpression"===n.type)&&n.superClass===i&&("ArrowFunctionExpression"===i.type||"AssignmentExpression"===i.type||"AwaitExpression"===i.type||"BinaryExpression"===i.type||"ConditionalExpression"===i.type||"LogicalExpression"===i.type||"NewExpression"===i.type||"ObjectExpression"===i.type||"ParenthesizedExpression"===i.type||"SequenceExpression"===i.type||"TaggedTemplateExpression"===i.type||"UnaryExpression"===i.type||"UpdateExpression"===i.type||"YieldExpression"===i.type))return!0;if("ExportDefaultDeclaration"===n.type)return Fk(e,t)||"SequenceExpression"===i.type;if("Decorator"===n.type&&n.expression===i){let e=!1,t=!1,n=i;while(n)switch(n.type){case"MemberExpression":t=!0,n=n.object;break;case"CallExpression":if(t||e)return!0;e=!0,n=n.callee;break;case"Identifier":return!1;default:return!0}return!0}if("ArrowFunctionExpression"===n.type&&n.body===i&&"SequenceExpression"!==i.type&&mu.startsWithNoLookaheadToken(i,!1)||"ExpressionStatement"===n.type&&mu.startsWithNoLookaheadToken(i,!0))return!0;switch(i.type){case"SpreadElement":case"SpreadProperty":return"MemberExpression"===n.type&&"object"===r&&n.object===i;case"UpdateExpression":if("UnaryExpression"===n.type)return i.prefix&&("++"===i.operator&&"+"===n.operator||"--"===i.operator&&"-"===n.operator);case"UnaryExpression":switch(n.type){case"UnaryExpression":return i.operator===n.operator&&("+"===i.operator||"-"===i.operator);case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return"callee"===r;case"BinaryExpression":return"**"===n.operator&&"left"===r;case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":{if("UpdateExpression"===n.type)return!0;const t=t=>{let n=0;while(t){const r=e.getParentNode(n++);if(!r)return!1;if("ForStatement"===r.type&&r.init===t)return!0;t=r}return!1};if("in"===i.operator&&t(i))return!0}case"TSTypeAssertion":case"TSAsExpression":case"LogicalExpression":switch(n.type){case"ConditionalExpression":return"TSAsExpression"===i.type;case"CallExpression":case"NewExpression":case"OptionalCallExpression":return"callee"===r;case"ClassExpression":case"ClassDeclaration":return"superClass"===r&&n.superClass===i;case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"SpreadProperty":case"BindExpression":case"AwaitExpression":case"TSAsExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return"object"===r;case"AssignmentExpression":return n.left===i&&("TSTypeAssertion"===i.type||"TSAsExpression"===i.type);case"LogicalExpression":if("LogicalExpression"===i.type)return n.operator!==i.operator;case"BinaryExpression":{if(!i.operator&&"TSTypeAssertion"!==i.type)return!0;const e=n.operator,t=mu.getPrecedence(e),o=i.operator,a=mu.getPrecedence(o);return t>a||(t===a&&"right"===r?(qs.strictEqual(n.right,i),!0):t===a&&!mu.shouldFlatten(e,o)||(t"ObjectTypeAnnotation"===e.type&&Ck(e,e=>"FunctionTypeAnnotation"===e.type||void 0)||void 0)}function Sk(e){switch(e.type){case"ObjectExpression":return!0;default:return!1}}function Ak(e){const t=e.getValue(),n=e.getParentNode(),r=e.getName();switch(n.type){case"NGPipeExpression":if("number"===typeof r&&n.arguments[r]===t&&n.arguments.length-1===r)return e.callParent(Ak);break;case"ObjectProperty":if("value"===r){const t=e.getParentNode(1);return t.properties[t.properties.length-1]===n}break;case"BinaryExpression":case"LogicalExpression":if("right"===r)return e.callParent(Ak);break;case"ConditionalExpression":if("alternate"===r)return e.callParent(Ak);break;case"UnaryExpression":if(n.prefix)return e.callParent(Ak);break}return!1}function Fk(e,t){const n=e.getValue(),r=e.getParentNode();return"FunctionExpression"===n.type||"ClassExpression"===n.type?"ExportDefaultDeclaration"===r.type||!_k(e,t):!(!wk(n)||"ExportDefaultDeclaration"!==r.type&&_k(e,t))&&e.call(e=>Fk(e,t),...Dk(e,n))}var Tk=_k;const{builders:{concat:Ok,join:Nk,line:Lk}}=Qu;function Bk(e,t,n){const r=e.getValue();if(t.__onHtmlBindingRoot&&null===e.getName()&&t.__onHtmlBindingRoot(r,t),"File"===r.type)return t.__isVueForBindingLeft?e.call(e=>{const{params:t}=e.getValue();return Ok([t.length>1?"(":"",Nk(Ok([",",Lk]),e.map(n,"params")),t.length>1?")":""])},"program","body",0):t.__isVueSlotScope?e.call(e=>Nk(Ok([",",Lk]),e.map(n,"params")),"program","body",0):void 0}function Pk(e){switch(e.type){case"MemberExpression":switch(e.property.type){case"Identifier":case"NumericLiteral":case"StringLiteral":return Pk(e.object)}return!1;case"Identifier":return!0;default:return!1}}var Mk={isVueEventBindingExpression:Pk,printHtmlBinding:Bk};function jk(e,t){switch(t.parser){case"json":case"json5":case"json-stringify":case"__js_expression":case"__vue_expression":return Object.assign({},e,{type:t.parser.startsWith("__")?"JsExpressionRoot":"JsonRoot",node:e,comments:[],rootMarker:t.rootMarker});default:return e}}var Ik=jk;const{shouldFlatten:$k,getNextNonSpaceNonCommentCharacter:Rk,hasNewline:qk,hasNewlineInRange:zk,getLast:Vk,getStringWidth:Hk,printString:Wk,printNumber:Uk,hasIgnoreComment:Gk,hasNodeIgnoreComment:Yk,getPenultimate:Kk,startsWithNoLookaheadToken:Xk,getIndentSize:Jk,getPreferredQuote:Zk}=mu,{isNextLineEmpty:Qk,isNextLineEmptyAfterIndex:eE,getNextNonSpaceNonCommentCharacterIndex:tE}=Cc,{insertPragma:nE}=Jh,{printHtmlBinding:rE,isVueEventBindingExpression:iE}=Mk,{classChildNeedsASIProtection:oE,classPropMayCauseASIProblems:aE,conditionalExpressionChainContainsJSX:sE,getFlowVariance:lE,getLeftSidePathName:uE,getParentExportDeclaration:cE,getTypeScriptMappedTypeModifier:hE,hasDanglingComments:pE,hasFlowAnnotationComment:dE,hasFlowShorthandAnnotationComment:fE,hasLeadingComment:mE,hasLeadingOwnLineComment:gE,hasNakedLeftSide:vE,hasNewlineBetweenOrAfterDecorators:yE,hasNgSideEffect:bE,hasPrettierIgnore:DE,hasTrailingComment:xE,identity:wE,isBinaryish:CE,isCallOrOptionalCallExpression:_E,isEmptyJSXElement:kE,isExportDeclaration:EE,isFlowAnnotationComment:SE,isFunctionCompositionArgs:AE,isFunctionNotation:FE,isFunctionOrArrowExpression:TE,isGetterOrSetter:OE,isJestEachTemplateLiteral:NE,isJSXNode:LE,isJSXWhitespaceExpression:BE,isLastStatement:PE,isLiteral:ME,isLongCurriedCallExpression:jE,isMeaningfulJSXText:IE,isMemberExpressionChain:$E,isMemberish:RE,isNgForOf:qE,isNumericLiteral:zE,isObjectType:VE,isObjectTypePropertyAFunction:HE,isSimpleCallArgument:WE,isSimpleFlowType:UE,isSimpleTemplateLiteral:GE,isStringLiteral:YE,isStringPropSafeToCoerceToIdentifier:KE,isTemplateOnItsOwnLine:XE,isTestCall:JE,isTheOnlyJSXElementInMarkdown:ZE,isTSXFile:QE,isTypeAnnotationAFunction:eS,matchJsxWhitespaceRegex:tS,needsHardlineAfterDanglingComment:nS,rawText:rS,returnArgumentHasLeadingComment:iS}=bk,oS=new WeakMap,{builders:{concat:aS,join:sS,line:lS,hardline:uS,softline:cS,literalline:hS,group:pS,indent:dS,align:fS,conditionalGroup:mS,fill:gS,ifBreak:vS,breakParent:yS,lineSuffixBoundary:bS,addAlignmentToDoc:DS,dedent:xS},utils:{willBreak:wS,isLineNext:CS,isEmpty:_S,removeLines:kS},printer:{printDocToString:ES}}=Qu;let SS=0;function AS(e,t){switch(t=t||"es5",e.trailingComma){case"all":if("all"===t)return!0;case"es5":if("es5"===t)return!0;case"none":default:return!1}}function FS(e,t,n,r){const i=e.getValue();let o=!1;const a=NS(e,t,n,r);if(!i||_S(a))return a;const s=cE(e),l=[];if("ClassMethod"===i.type||"ClassPrivateMethod"===i.type||"ClassProperty"===i.type||"TSAbstractClassProperty"===i.type||"ClassPrivateProperty"===i.type||"MethodDefinition"===i.type||"TSAbstractMethodDefinition"===i.type||"TSDeclareMethod"===i.type);else if(i.decorators&&i.decorators.length>0&&!(s&&t.locStart(s,{ignoreDecorators:!0})>t.locStart(i.decorators[0]))){const r="ClassExpression"===i.type||"ClassDeclaration"===i.type||yE(i,t),o=r?uS:lS;e.each(e=>{let t=e.getValue();t=t.expression?t.expression:t.callee,l.push(n(e),o)},"decorators"),s&&l.unshift(uS)}else EE(i)&&i.declaration&&i.declaration.decorators&&i.declaration.decorators.length>0&&t.locStart(i,{ignoreDecorators:!0})>t.locStart(i.declaration.decorators[0])?e.each(e=>{const t=e.getValue(),r="Decorator"===t.type?"":"@";l.push(r,n(e),uS)},"declaration","decorators"):o=Tk(e,t);const u=[];if(o&&u.unshift("("),u.push(a),o){const t=e.getValue();fE(t)&&(u.push(" /*"),u.push(t.trailingComments[0].value.trimStart()),u.push("*/"),t.trailingComments[0].printed=!0),u.push(")")}return l.length>0?pS(aS(l.concat(u))):aS(u)}function TS(e,t,n){const r=e.getValue();return pS(aS([sS(lS,e.map(n,"decorators")),yE(r,t)?uS:lS]))}function OS(e,t,n,r){const i=e.getValue(),o=i[r.consequentNodePropertyName],a=i[r.alternateNodePropertyName],s=[];let l=!1;const u=e.getParentNode(),c=u.type===r.conditionalNodeType&&r.testNodePropertyNames.some(e=>u[e]===i);let h,p,d=u.type===r.conditionalNodeType&&!c,f=0;do{p=h||i,h=e.getParentNode(f),f++}while(h&&h.type===r.conditionalNodeType&&r.testNodePropertyNames.every(e=>h[e]!==p));const m=h||u,g=p;if(r.shouldCheckJsx&&(LE(i[r.testNodePropertyNames[0]])||LE(o)||LE(a)||sE(g))){l=!0,d=!0;const t=e=>aS([vS("(",""),dS(aS([cS,e])),cS,vS(")","")]),i=e=>"NullLiteral"===e.type||"Literal"===e.type&&null===e.value||"Identifier"===e.type&&"undefined"===e.name;s.push(" ? ",i(o)?e.call(n,r.consequentNodePropertyName):t(e.call(n,r.consequentNodePropertyName))," : ",a.type===r.conditionalNodeType||i(a)?e.call(n,r.alternateNodePropertyName):t(e.call(n,r.alternateNodePropertyName)))}else{const l=aS([lS,"? ",o.type===r.conditionalNodeType?vS("","("):"",fS(2,e.call(n,r.consequentNodePropertyName)),o.type===r.conditionalNodeType?vS("",")"):"",lS,": ",a.type===r.conditionalNodeType?e.call(n,r.alternateNodePropertyName):fS(2,e.call(n,r.alternateNodePropertyName))]);s.push(u.type!==r.conditionalNodeType||u[r.alternateNodePropertyName]===i||c?l:t.useTabs?xS(dS(l)):fS(Math.max(0,t.tabWidth-2),l))}const v=e=>u===m?pS(e):e,y=!l&&("MemberExpression"===u.type||"OptionalMemberExpression"===u.type||"NGPipeExpression"===u.type&&u.left===i)&&!u.computed,b=v(aS([].concat((e=>u.type===r.conditionalNodeType&&u[r.alternateNodePropertyName]===i?fS(2,e):e)(aS(r.beforeParts())),d?aS(s):dS(aS(s)),r.afterParts(y))));return c?pS(aS([dS(aS([cS,b])),cS])):b}function NS(e,t,n,r){const i=e.getValue(),o=t.semi?";":"";if(!i)return"";if("string"===typeof i)return i;const a=rE(e,t,n);if(a)return a;let s=[];switch(i.type){case"JsExpressionRoot":return e.call(n,"node");case"JsonRoot":return aS([e.call(n,"node"),uS]);case"File":return i.program&&i.program.interpreter&&s.push(e.call(e=>e.call(n,"interpreter"),"program")),s.push(e.call(n,"program")),aS(s);case"Program":return i.directives&&e.each(e=>{s.push(n(e),o,uS),Qk(t.originalText,e.getValue(),t.locEnd)&&s.push(uS)},"directives"),s.push(e.call(e=>LS(e,t,n),"body")),s.push(Jc.printDanglingComments(e,t,!0)),i.body.every(({type:e})=>"EmptyStatement"===e)&&!i.comments||s.push(uS),aS(s);case"EmptyStatement":return"";case"ExpressionStatement":if(i.directive)return aS([fA(i.expression,t,!0),o]);if("__vue_event_binding"===t.parser){const t=e.getParentNode();if("Program"===t.type&&1===t.body.length&&t.body[0]===i)return aS([e.call(n,"expression"),iE(i.expression)?";":""])}return aS([e.call(n,"expression"),ZE(t,e)?"":o]);case"ParenthesizedExpression":{const t=!i.expression.comments;return t?aS(["(",e.call(n,"expression"),")"]):pS(aS(["(",dS(aS([cS,e.call(n,"expression")])),cS,")"]))}case"AssignmentExpression":return pA(i.left,e.call(n,"left"),aS([" ",i.operator]),i.right,e.call(n,"right"),t);case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":{const r=e.getParentNode(),o=e.getParentNode(1),a=i!==r.body&&("IfStatement"===r.type||"WhileStatement"===r.type||"SwitchStatement"===r.type||"DoWhileStatement"===r.type),s=cA(e,n,t,!1,a);if(a)return aS(s);if(("CallExpression"===r.type||"OptionalCallExpression"===r.type)&&r.callee===i||"UnaryExpression"===r.type||("MemberExpression"===r.type||"OptionalMemberExpression"===r.type)&&!r.computed)return pS(aS([dS(aS([cS,aS(s)])),cS]));const l="ReturnStatement"===r.type||"ThrowStatement"===r.type||"JSXExpressionContainer"===r.type&&"JSXAttribute"===o.type||"|"!==i.operator&&"JsExpressionRoot"===r.type||"NGPipeExpression"!==i.type&&("NGRoot"===r.type&&"__ng_binding"===t.parser||"NGMicrosyntaxExpression"===r.type&&"NGMicrosyntax"===o.type&&1===o.body.length)||i===r.body&&"ArrowFunctionExpression"===r.type||i!==r.body&&"ForStatement"===r.type||"ConditionalExpression"===r.type&&"ReturnStatement"!==o.type&&"ThrowStatement"!==o.type&&"CallExpression"!==o.type&&"OptionalCallExpression"!==o.type||"TemplateLiteral"===r.type,u="AssignmentExpression"===r.type||"VariableDeclarator"===r.type||"ClassProperty"===r.type||"TSAbstractClassProperty"===r.type||"ClassPrivateProperty"===r.type||"ObjectProperty"===r.type||"Property"===r.type,c=CE(i.left)&&$k(i.operator,i.left.operator);if(l||uA(i)&&!c||!uA(i)&&u)return pS(aS(s));if(0===s.length)return"";const h=LE(i.right),p=aS(h?s.slice(1,-1):s.slice(1)),d=Symbol("logicalChain-"+ ++SS),f=pS(aS([s.length>0?s[0]:"",dS(p)]),{id:d});if(!h)return f;const m=Vk(s);return pS(aS([f,vS(dS(m),m,{groupId:d})]))}case"AssignmentPattern":return aS([e.call(n,"left")," = ",e.call(n,"right")]);case"TSTypeAssertion":{const t=!("ArrayExpression"===i.expression.type||"ObjectExpression"===i.expression.type),r=pS(aS(["<",dS(aS([cS,e.call(n,"typeAnnotation")])),cS,">"])),o=aS([vS("("),dS(aS([cS,e.call(n,"expression")])),cS,vS(")")]);return t?mS([aS([r,e.call(n,"expression")]),aS([r,pS(o,{shouldBreak:!0})]),aS([r,e.call(n,"expression")])]):pS(aS([r,e.call(n,"expression")]))}case"OptionalMemberExpression":case"MemberExpression":{const r=e.getParentNode();let o,a=0;do{o=e.getParentNode(a),a++}while(o&&("MemberExpression"===o.type||"OptionalMemberExpression"===o.type||"TSNonNullExpression"===o.type));const s=o&&("NewExpression"===o.type||"BindExpression"===o.type||"VariableDeclarator"===o.type&&"Identifier"!==o.id.type||"AssignmentExpression"===o.type&&"Identifier"!==o.left.type)||i.computed||"Identifier"===i.object.type&&"Identifier"===i.property.type&&"MemberExpression"!==r.type&&"OptionalMemberExpression"!==r.type;return aS([e.call(n,"object"),s?tA(e,t,n):pS(dS(aS([cS,tA(e,t,n)])))])}case"MetaProperty":return aS([e.call(n,"meta"),".",e.call(n,"property")]);case"BindExpression":return i.object&&s.push(e.call(n,"object")),s.push(pS(dS(aS([cS,nA(e,t,n)])))),aS(s);case"Identifier":return aS([i.name,eA(e),zS(e,t,n)]);case"V8IntrinsicIdentifier":return aS(["%",i.name]);case"SpreadElement":case"SpreadElementPattern":case"SpreadProperty":case"SpreadPropertyPattern":case"RestElement":case"ObjectTypeSpreadProperty":return aS(["...",e.call(n,"argument"),zS(e,t,n)]);case"FunctionDeclaration":case"FunctionExpression":return s.push(GS(e,n,t)),i.body||s.push(o),aS(s);case"ArrowFunctionExpression":{i.async&&s.push("async "),WS(e,t)?s.push(e.call(n,"params",0)):s.push(pS(aS([HS(e,n,t,r&&(r.expandLastArg||r.expandFirstArg),!0),YS(e,n,t)])));const o=Jc.printDanglingComments(e,t,!0,e=>{const n=tE(t.originalText,e,t.locEnd);return"=>"===t.originalText.slice(n,n+2)});o&&s.push(" ",o),s.push(" =>");const a=e.call(e=>n(e,r),"body");if(!gE(t.originalText,i.body,t)&&("ArrayExpression"===i.body.type||"ObjectExpression"===i.body.type||"BlockStatement"===i.body.type||LE(i.body)||XE(i.body,t.originalText,t)||"ArrowFunctionExpression"===i.body.type||"DoExpression"===i.body.type))return pS(aS([aS(s)," ",a]));if("SequenceExpression"===i.body.type)return pS(aS([aS(s),pS(aS([" (",dS(aS([cS,a])),cS,")"]))]));const l=(r&&r.expandLastArg||"JSXExpressionContainer"===e.getParentNode().type)&&!(i.comments&&i.comments.length),u=r&&r.expandLastArg&&AS(t,"all"),c="ConditionalExpression"===i.body.type&&!Xk(i.body,!1);return pS(aS([aS(s),pS(aS([dS(aS([lS,c?vS("","("):"",a,c?vS("",")"):""])),l?aS([vS(u?",":""),cS]):""]))]))}case"YieldExpression":return s.push("yield"),i.delegate&&s.push("*"),i.argument&&s.push(" ",e.call(n,"argument")),aS(s);case"AwaitExpression":{s.push("await ",e.call(n,"argument"));const t=e.getParentNode();return("CallExpression"===t.type||"OptionalCallExpression"===t.type)&&t.callee===i||("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&t.object===i?pS(aS([dS(aS([cS,aS(s)])),cS])):aS(s)}case"ImportSpecifier":return i.importKind&&s.push(e.call(n,"importKind")," "),s.push(e.call(n,"imported")),i.local&&i.local.name!==i.imported.name&&s.push(" as ",e.call(n,"local")),aS(s);case"ExportSpecifier":return s.push(e.call(n,"local")),i.exported&&i.exported.name!==i.local.name&&s.push(" as ",e.call(n,"exported")),aS(s);case"ImportNamespaceSpecifier":return s.push("* as "),s.push(e.call(n,"local")),aS(s);case"ImportDefaultSpecifier":return e.call(n,"local");case"TSExportAssignment":return aS(["export = ",e.call(n,"expression"),o]);case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return KS(e,t,n);case"ExportAllDeclaration":return s.push("export "),"type"===i.exportKind&&s.push("type "),s.push("* "),i.exported&&s.push("as ",e.call(n,"exported")," "),s.push("from ",e.call(n,"source"),o),aS(s);case"ExportNamespaceSpecifier":case"ExportDefaultSpecifier":return e.call(n,"exported");case"ImportDeclaration":{s.push("import "),i.importKind&&"value"!==i.importKind&&s.push(i.importKind+" ");const r=[],a=[];return i.specifiers&&i.specifiers.length>0?(e.each(e=>{const t=e.getValue();"ImportDefaultSpecifier"===t.type||"ImportNamespaceSpecifier"===t.type?r.push(n(e)):a.push(n(e))},"specifiers"),r.length>0&&s.push(sS(", ",r)),r.length>0&&a.length>0&&s.push(", "),1===a.length&&0===r.length&&i.specifiers&&!i.specifiers.some(e=>e.comments)?s.push(aS(["{",t.bracketSpacing?" ":"",aS(a),t.bracketSpacing?" ":"","}"])):a.length>=1&&s.push(pS(aS(["{",dS(aS([t.bracketSpacing?lS:cS,sS(aS([",",lS]),a)])),vS(AS(t)?",":""),t.bracketSpacing?lS:cS,"}"]))),s.push(" from ")):(i.importKind&&"type"===i.importKind||/{\s*}/.test(t.originalText.slice(t.locStart(i),t.locStart(i.source))))&&s.push("{} from "),s.push(e.call(n,"source"),o),aS(s)}case"Import":return"import";case"TSModuleBlock":case"BlockStatement":{const r=e.call(e=>LS(e,t,n),"body"),a=i.body.find(e=>"EmptyStatement"!==e.type),l=i.directives&&i.directives.length>0,u=e.getParentNode(),c=e.getParentNode(1);return a||l||pE(i)||"ArrowFunctionExpression"!==u.type&&"FunctionExpression"!==u.type&&"FunctionDeclaration"!==u.type&&"ObjectMethod"!==u.type&&"ClassMethod"!==u.type&&"ClassPrivateMethod"!==u.type&&"ForStatement"!==u.type&&"WhileStatement"!==u.type&&"DoWhileStatement"!==u.type&&"DoExpression"!==u.type&&("CatchClause"!==u.type||c.finalizer)&&"TSModuleDeclaration"!==u.type?(s.push("{"),l&&e.each(e=>{s.push(dS(aS([uS,n(e),o]))),Qk(t.originalText,e.getValue(),t.locEnd)&&s.push(uS)},"directives"),a&&s.push(dS(aS([uS,r]))),s.push(Jc.printDanglingComments(e,t)),s.push(uS,"}"),aS(s)):"{}"}case"ReturnStatement":return aS(["return",xA(e,t,n)]);case"NewExpression":case"OptionalCallExpression":case"CallExpression":{const r="NewExpression"===i.type,o=eA(e);if(!r&&"Identifier"===i.callee.type&&("require"===i.callee.name||"define"===i.callee.name)||1===i.arguments.length&&XE(i.arguments[0],t.originalText,t)||!r&&JE(i,e.getParentNode()))return aS([r?"new ":"",e.call(n,"callee"),o,VS(e,t,n),aS(["(",sS(", ",e.map(n,"arguments")),")"])]);const a="Identifier"===i.callee.type&&dE(i.callee.trailingComments);if(a&&(i.callee.trailingComments[0].printed=!0),!r&&RE(i.callee)&&!e.call(e=>Tk(e,t),"callee"))return rA(e,t,n);const s=aS([r?"new ":"",e.call(n,"callee"),o,a?"/*:: ".concat(i.callee.trailingComments[0].value.slice(2).trim()," */"):"",VS(e,t,n),qS(e,t,n)]);return _E(i.callee)?pS(s):s}case"TSInterfaceDeclaration":return i.declare&&s.push("declare "),s.push(i.abstract?"abstract ":"",JS(e,t,n),"interface ",e.call(n,"id"),i.typeParameters?e.call(n,"typeParameters"):""," "),i.extends&&i.extends.length&&s.push(pS(dS(aS([cS,"extends ",(1===i.extends.length?wE:dS)(sS(aS([",",lS]),e.map(n,"extends")))," "])))),s.push(e.call(n,"body")),aS(s);case"ObjectTypeInternalSlot":return aS([i.static?"static ":"","[[",e.call(n,"id"),"]]",eA(e),i.method?"":": ",e.call(n,"value")]);case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":case"TSInterfaceBody":case"TSTypeLiteral":{let r;r="TSTypeLiteral"===i.type?"members":"TSInterfaceBody"===i.type?"body":"properties";const a="ObjectTypeAnnotation"===i.type,s=[];a&&s.push("indexers","callProperties","internalSlots"),s.push(r);const l=s.map(e=>i[e][0]).sort((e,n)=>t.locStart(e)-t.locStart(n))[0],u=e.getParentNode(0),c=a&&u&&("InterfaceDeclaration"===u.type||"DeclareInterface"===u.type||"DeclareClass"===u.type)&&"body"===e.getName(),h="TSInterfaceBody"===i.type||c||"ObjectPattern"===i.type&&"FunctionDeclaration"!==u.type&&"FunctionExpression"!==u.type&&"ArrowFunctionExpression"!==u.type&&"ObjectMethod"!==u.type&&"ClassMethod"!==u.type&&"ClassPrivateMethod"!==u.type&&"AssignmentPattern"!==u.type&&"CatchClause"!==u.type&&i.properties.some(e=>e.value&&("ObjectPattern"===e.value.type||"ArrayPattern"===e.value.type))||"ObjectPattern"!==i.type&&l&&zk(t.originalText,t.locStart(i),t.locStart(l)),p=c?";":"TSInterfaceBody"===i.type||"TSTypeLiteral"===i.type?vS(o,";"):",",d=i.exact?"{|":"{",f=i.exact?"|}":"}",m=[];s.forEach(r=>{e.each(e=>{const r=e.getValue();m.push({node:r,printed:n(e),loc:t.locStart(r)})},r)});let g=[];const v=m.sort((e,t)=>e.loc-t.loc).map(e=>{const n=aS(g.concat(pS(e.printed)));return g=[p,lS],"TSPropertySignature"!==e.node.type&&"TSMethodSignature"!==e.node.type&&"TSConstructSignatureDeclaration"!==e.node.type||!Yk(e.node)||g.shift(),Qk(t.originalText,e.node,t.locEnd)&&g.push(uS),n});if(i.inexact){let n;if(pE(i)){const r=!i.comments.every(cC.isBlockComment),o=Jc.printDanglingComments(e,t,!0);n=aS([o,r||qk(t.originalText,t.locEnd(i.comments[i.comments.length-1]))?uS:lS,"..."])}else n="...";v.push(aS(g.concat(n)))}const y=Vk(i[r]),b=!(i.inexact||y&&("RestElement"===y.type||Yk(y)));let D;if(0===v.length){if(!pE(i))return aS([d,f,zS(e,t,n)]);D=pS(aS([d,Jc.printDanglingComments(e,t),cS,f,eA(e),zS(e,t,n)]))}else D=aS([d,dS(aS([t.bracketSpacing?lS:cS,aS(v)])),vS(b&&(","!==p||AS(t))?p:""),aS([t.bracketSpacing?lS:cS,f]),eA(e),zS(e,t,n)]);return e.match(e=>"ObjectPattern"===e.type&&!e.decorators,(e,t,n)=>bA(e)&&("params"===t||"parameters"===t)&&0===n)||e.match(yA,(e,t)=>"typeAnnotation"===t,(e,t)=>"typeAnnotation"===t,(e,t,n)=>bA(e)&&("params"===t||"parameters"===t)&&0===n)?D:pS(D,{shouldBreak:h})}case"ObjectProperty":case"Property":return i.method||"get"===i.kind||"set"===i.kind?PS(e,t,n):(i.shorthand?s.push(e.call(n,"value")):s.push(pA(i.key,BS(e,t,n),":",i.value,e.call(n,"value"),t)),aS(s));case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":case"TSAbstractMethodDefinition":case"TSDeclareMethod":return i.decorators&&0!==i.decorators.length&&s.push(TS(e,t,n)),i.accessibility&&s.push(i.accessibility+" "),i.static&&s.push("static "),("TSAbstractMethodDefinition"===i.type||i.abstract)&&s.push("abstract "),s.push(PS(e,t,n)),aS(s);case"ObjectMethod":return PS(e,t,n);case"Decorator":return aS(["@",e.call(n,"expression"),e.call(n,"callee")]);case"ArrayExpression":case"ArrayPattern":if(0===i.elements.length)pE(i)?s.push(pS(aS(["[",Jc.printDanglingComments(e,t),cS,"]"]))):s.push("[]");else{const r=Vk(i.elements),o=!(r&&"RestElement"===r.type),a=o&&null===r,l=i.elements.length>1&&i.elements.every((e,t,n)=>{const r=e&&e.type;if("ArrayExpression"!==r&&"ObjectExpression"!==r)return!1;const i=n[t+1];if(i&&r!==i.type)return!1;const o="ArrayExpression"===r?"elements":"properties";return e[o]&&e[o].length>1});s.push(pS(aS(["[",dS(aS([cS,DA(e,t,"elements",n)])),a?",":"",vS(o&&!a&&AS(t)?",":""),Jc.printDanglingComments(e,t,!0),cS,"]"]),{shouldBreak:l}))}return s.push(eA(e),zS(e,t,n)),aS(s);case"SequenceExpression":{const t=e.getParentNode(0);if("ExpressionStatement"===t.type||"ForStatement"===t.type){const t=[];return e.each(e=>{0===e.getName()?t.push(n(e)):t.push(",",dS(aS([lS,n(e)])))},"expressions"),pS(aS(t))}return pS(aS([sS(aS([",",lS]),e.map(n,"expressions"))]))}case"ThisExpression":return"this";case"Super":return"super";case"NullLiteral":return"null";case"RegExpLiteral":return mA(i);case"NumericLiteral":return Uk(i.extra.raw);case"BigIntLiteral":return(i.bigint||(i.extra?i.extra.raw:i.raw)).toLowerCase();case"BooleanLiteral":case"StringLiteral":case"Literal":{if(i.regex)return mA(i.regex);if("number"===typeof i.value)return Uk(i.raw);if("string"!==typeof i.value)return""+i.value;const n=e.getParentNode(1),r="typescript"===t.parser&&"string"===typeof i.value&&n&&("Program"===n.type||"BlockStatement"===n.type);return fA(i,t,r)}case"Directive":return e.call(n,"value");case"DirectiveLiteral":return fA(i,t);case"UnaryExpression":return s.push(i.operator),/[a-z]$/.test(i.operator)&&s.push(" "),i.argument.comments&&i.argument.comments.length>0?s.push(pS(aS(["(",dS(aS([cS,e.call(n,"argument")])),cS,")"]))):s.push(e.call(n,"argument")),aS(s);case"UpdateExpression":return s.push(e.call(n,"argument"),i.operator),i.prefix&&s.reverse(),aS(s);case"ConditionalExpression":return OS(e,t,n,{beforeParts:()=>[e.call(n,"test")],afterParts:e=>[e?cS:""],shouldCheckJsx:!0,conditionalNodeType:"ConditionalExpression",consequentNodePropertyName:"consequent",alternateNodePropertyName:"alternate",testNodePropertyNames:["test"]});case"VariableDeclaration":{const t=e.map(e=>n(e),"declarations"),r=e.getParentNode(),a="ForStatement"===r.type||"ForInStatement"===r.type||"ForOfStatement"===r.type,l=i.declarations.some(e=>e.init);let u;return 1!==t.length||i.declarations[0].comments?t.length>0&&(u=dS(t[0])):u=t[0],s=[i.declare?"declare ":"",i.kind,u?aS([" ",u]):"",dS(aS(t.slice(1).map(e=>aS([",",l&&!a?uS:lS,e]))))],a&&r.body!==i||s.push(o),pS(aS(s))}case"TSTypeAliasDeclaration":{i.declare&&s.push("declare ");const r=hA(i.id,i.typeAnnotation,i.typeAnnotation&&e.call(n,"typeAnnotation"),t);return s.push("type ",e.call(n,"id"),e.call(n,"typeParameters")," =",r,o),pS(aS(s))}case"VariableDeclarator":return pA(i.id,e.call(n,"id")," =",i.init,i.init&&e.call(n,"init"),t);case"WithStatement":return pS(aS(["with (",e.call(n,"object"),")",dA(i.body,e.call(n,"body"))]));case"IfStatement":{const r=dA(i.consequent,e.call(n,"consequent")),o=pS(aS(["if (",pS(aS([dS(aS([cS,e.call(n,"test")])),cS])),")",r]));if(s.push(o),i.alternate){const r=xE(i.consequent)&&i.consequent.comments.some(e=>e.trailing&&!cC.isBlockComment(e))||nS(i),o="BlockStatement"===i.consequent.type&&!r;s.push(o?" ":uS),pE(i)&&s.push(Jc.printDanglingComments(e,t,!0),r?uS:" "),s.push("else",pS(dA(i.alternate,e.call(n,"alternate"),"IfStatement"===i.alternate.type)))}return aS(s)}case"ForStatement":{const r=dA(i.body,e.call(n,"body")),o=Jc.printDanglingComments(e,t,!0),a=o?aS([o,cS]):"";return i.init||i.test||i.update?aS([a,pS(aS(["for (",pS(aS([dS(aS([cS,e.call(n,"init"),";",lS,e.call(n,"test"),";",lS,e.call(n,"update")])),cS])),")",r]))]):aS([a,pS(aS(["for (;;)",r]))])}case"WhileStatement":return pS(aS(["while (",pS(aS([dS(aS([cS,e.call(n,"test")])),cS])),")",dA(i.body,e.call(n,"body"))]));case"ForInStatement":return pS(aS([i.each?"for each (":"for (",e.call(n,"left")," in ",e.call(n,"right"),")",dA(i.body,e.call(n,"body"))]));case"ForOfStatement":return pS(aS(["for",i.await?" await":""," (",e.call(n,"left")," of ",e.call(n,"right"),")",dA(i.body,e.call(n,"body"))]));case"DoWhileStatement":{const t=dA(i.body,e.call(n,"body")),r=pS(aS(["do",t]));return s=[r],"BlockStatement"===i.body.type?s.push(" "):s.push(uS),s.push("while ("),s.push(pS(aS([dS(aS([cS,e.call(n,"test")])),cS])),")",o),aS(s)}case"DoExpression":return aS(["do ",e.call(n,"body")]);case"BreakStatement":return s.push("break"),i.label&&s.push(" ",e.call(n,"label")),s.push(o),aS(s);case"ContinueStatement":return s.push("continue"),i.label&&s.push(" ",e.call(n,"label")),s.push(o),aS(s);case"LabeledStatement":return"EmptyStatement"===i.body.type?aS([e.call(n,"label"),":;"]):aS([e.call(n,"label"),": ",e.call(n,"body")]);case"TryStatement":return aS(["try ",e.call(n,"block"),i.handler?aS([" ",e.call(n,"handler")]):"",i.finalizer?aS([" finally ",e.call(n,"finalizer")]):""]);case"CatchClause":if(i.param){const r=i.param.comments&&i.param.comments.some(e=>!cC.isBlockComment(e)||e.leading&&qk(t.originalText,t.locEnd(e))||e.trailing&&qk(t.originalText,t.locStart(e),{backwards:!0})),o=e.call(n,"param");return aS(["catch ",aS(r?["(",dS(aS([cS,o])),cS,") "]:["(",o,") "]),e.call(n,"body")])}return aS(["catch ",e.call(n,"body")]);case"ThrowStatement":return aS(["throw",xA(e,t,n)]);case"SwitchStatement":return aS([pS(aS(["switch (",dS(aS([cS,e.call(n,"discriminant")])),cS,")"]))," {",i.cases.length>0?dS(aS([uS,sS(uS,e.map(e=>{const r=e.getValue();return aS([e.call(n),i.cases.indexOf(r)!==i.cases.length-1&&Qk(t.originalText,r,t.locEnd)?uS:""])},"cases"))])):"",uS,"}"]);case"SwitchCase":{i.test?s.push("case ",e.call(n,"test"),":"):s.push("default:");const r=i.consequent.filter(e=>"EmptyStatement"!==e.type);if(r.length>0){const i=e.call(e=>LS(e,t,n),"consequent");s.push(1===r.length&&"BlockStatement"===r[0].type?aS([" ",i]):dS(aS([uS,i])))}return aS(s)}case"DebuggerStatement":return aS(["debugger",o]);case"JSXAttribute":if(s.push(e.call(n,"name")),i.value){let r;if(YE(i.value)){const e=rS(i.value);let n=e.replace(/'/g,"'").replace(/"/g,'"');const o=Zk(n,t.jsxSingleQuote?"'":'"'),a="'"===o?"'":""";n=n.slice(1,-1).replace(new RegExp(o,"g"),a),r=aS([o,n,o])}else r=e.call(n,"value");s.push("=",r)}return aS(s);case"JSXIdentifier":return""+i.name;case"JSXNamespacedName":return sS(":",[e.call(n,"namespace"),e.call(n,"name")]);case"JSXMemberExpression":return sS(".",[e.call(n,"object"),e.call(n,"property")]);case"TSQualifiedName":return sS(".",[e.call(n,"left"),e.call(n,"right")]);case"JSXSpreadAttribute":case"JSXSpreadChild":return aS(["{",e.call(e=>{const r=aS(["...",n(e)]),i=e.getValue();return i.comments&&i.comments.length?aS([dS(aS([cS,Jc.printComments(e,()=>r,t)])),cS]):r},"JSXSpreadAttribute"===i.type?"argument":"expression"),"}"]);case"JSXExpressionContainer":{const t=e.getParentNode(0),r=i.expression.comments&&i.expression.comments.length>0,o="JSXEmptyExpression"===i.expression.type||!r&&("ArrayExpression"===i.expression.type||"ObjectExpression"===i.expression.type||"ArrowFunctionExpression"===i.expression.type||"CallExpression"===i.expression.type||"OptionalCallExpression"===i.expression.type||"FunctionExpression"===i.expression.type||"TemplateLiteral"===i.expression.type||"TaggedTemplateExpression"===i.expression.type||"DoExpression"===i.expression.type||LE(t)&&("ConditionalExpression"===i.expression.type||CE(i.expression)));return pS(o?aS(["{",e.call(n,"expression"),bS,"}"]):aS(["{",dS(aS([cS,e.call(n,"expression")])),cS,bS,"}"]))}case"JSXFragment":case"JSXElement":{const r=Jc.printComments(e,()=>sA(e,t,n),t);return lA(e,r,t)}case"JSXOpeningElement":{const r=e.getValue(),i=r.name&&r.name.comments&&r.name.comments.length>0||r.typeParameters&&r.typeParameters.comments&&r.typeParameters.comments.length>0;if(r.selfClosing&&!r.attributes.length&&!i)return aS(["<",e.call(n,"name"),e.call(n,"typeParameters")," />"]);if(r.attributes&&1===r.attributes.length&&r.attributes[0].value&&YE(r.attributes[0].value)&&!r.attributes[0].value.value.includes("\n")&&!i&&(!r.attributes[0].comments||!r.attributes[0].comments.length))return pS(aS(["<",e.call(n,"name"),e.call(n,"typeParameters")," ",aS(e.map(n,"attributes")),r.selfClosing?" />":">"]));const o=r.attributes.length&&xE(Vk(r.attributes)),a=!r.attributes.length&&!i||t.jsxBracketSameLine&&(!i||r.attributes.length)&&!o,s=r.attributes&&r.attributes.some(e=>e.value&&YE(e.value)&&e.value.value.includes("\n"));return pS(aS(["<",e.call(n,"name"),e.call(n,"typeParameters"),aS([dS(aS(e.map(e=>aS([lS,n(e)]),"attributes"))),r.selfClosing?lS:a?">":cS]),r.selfClosing?"/>":a?"":">"]),{shouldBreak:s})}case"JSXClosingElement":return aS([""]);case"JSXOpeningFragment":case"JSXClosingFragment":{const n=i.comments&&i.comments.length,r=n&&!i.comments.every(cC.isBlockComment),o="JSXOpeningFragment"===i.type;return aS([o?"<":""])}case"JSXText":throw new Error("JSXTest should be handled by JSXElement");case"JSXEmptyExpression":{const n=i.comments&&!i.comments.every(cC.isBlockComment);return aS([Jc.printDanglingComments(e,t,!n),n?uS:""])}case"ClassBody":return i.comments||0!==i.body.length?aS(["{",i.body.length>0?dS(aS([uS,e.call(e=>LS(e,t,n),"body")])):Jc.printDanglingComments(e,t),uS,"}"]):"{}";case"ClassProperty":case"TSAbstractClassProperty":case"ClassPrivateProperty":{i.decorators&&0!==i.decorators.length&&s.push(TS(e,t,n)),i.accessibility&&s.push(i.accessibility+" "),i.declare&&s.push("declare "),i.static&&s.push("static "),("TSAbstractClassProperty"===i.type||i.abstract)&&s.push("abstract "),i.readonly&&s.push("readonly ");const r=lE(i);return r&&s.push(r),s.push(BS(e,t,n),eA(e),zS(e,t,n)),i.value&&s.push(" =",hA(i.key,i.value,e.call(n,"value"),t)),s.push(o),pS(aS(s))}case"ClassDeclaration":case"ClassExpression":return i.declare&&s.push("declare "),s.push(aS(QS(e,t,n))),aS(s);case"TSInterfaceHeritage":case"TSExpressionWithTypeArguments":return s.push(e.call(n,"expression")),i.typeParameters&&s.push(e.call(n,"typeParameters")),aS(s);case"TemplateElement":return sS(hS,i.value.raw.split(/\r?\n/g));case"TemplateLiteral":{let r=e.map(n,"expressions");const o=e.getParentNode();if(NE(i,o)){const e=RS(i,r,t);if(e)return e}const a=GE(i);return a&&(r=r.map(e=>ES(e,Object.assign({},t,{printWidth:1/0})).formatted)),s.push(bS,"`"),e.each(e=>{const o=e.getName();if(s.push(n(e)),o0&&"TSRestType"===Vk(i[r]).type;return pS(aS(["[",dS(aS([cS,DA(e,t,r,n)])),vS(AS(t,"all")&&!o?",":""),Jc.printDanglingComments(e,t,!0),cS,"]"]))}case"ExistsTypeAnnotation":return"*";case"EmptyTypeAnnotation":return"empty";case"AnyTypeAnnotation":return"any";case"MixedTypeAnnotation":return"mixed";case"ArrayTypeAnnotation":return aS([e.call(n,"elementType"),"[]"]);case"BooleanTypeAnnotation":return"boolean";case"BooleanLiteralTypeAnnotation":return""+i.value;case"DeclareClass":return XS(e,QS(e,t,n));case"TSDeclareFunction":return aS([i.declare?"declare ":"",GS(e,n,t),o]);case"DeclareFunction":return XS(e,["function ",e.call(n,"id"),i.predicate?" ":"",e.call(n,"predicate"),o]);case"DeclareModule":return XS(e,["module ",e.call(n,"id")," ",e.call(n,"body")]);case"DeclareModuleExports":return XS(e,["module.exports",": ",e.call(n,"typeAnnotation"),o]);case"DeclareVariable":return XS(e,["var ",e.call(n,"id"),o]);case"DeclareExportAllDeclaration":return aS(["declare export * from ",e.call(n,"source")]);case"DeclareExportDeclaration":return aS(["declare ",KS(e,t,n)]);case"DeclareOpaqueType":case"OpaqueType":return s.push("opaque type ",e.call(n,"id"),e.call(n,"typeParameters")),i.supertype&&s.push(": ",e.call(n,"supertype")),i.impltype&&s.push(" = ",e.call(n,"impltype")),s.push(o),"DeclareOpaqueType"===i.type?XS(e,s):aS(s);case"EnumDeclaration":return aS(["enum ",e.call(n,"id")," ",e.call(n,"body")]);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":if("EnumSymbolBody"===i.type||i.explicitType){let e=null;switch(i.type){case"EnumBooleanBody":e="boolean";break;case"EnumNumberBody":e="number";break;case"EnumStringBody":e="string";break;case"EnumSymbolBody":e="symbol";break}s.push("of ",e," ")}return 0===i.members.length?s.push(pS(aS(["{",Jc.printDanglingComments(e,t),cS,"}"]))):s.push(pS(aS(["{",dS(aS([uS,DA(e,t,"members",n),AS(t)?",":""])),Jc.printDanglingComments(e,t,!0),uS,"}"]))),aS(s);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return aS([e.call(n,"id")," = ","object"===typeof i.init?e.call(n,"init"):String(i.init)]);case"EnumDefaultedMember":return e.call(n,"id");case"FunctionTypeAnnotation":case"TSFunctionType":{const r=e.getParentNode(0),o=e.getParentNode(1),a=e.getParentNode(2);let l="TSFunctionType"===i.type||!(("ObjectTypeProperty"===r.type||"ObjectTypeInternalSlot"===r.type)&&!lE(r)&&!r.optional&&t.locStart(r)===t.locStart(i)||"ObjectTypeCallProperty"===r.type||a&&"DeclareFunction"===a.type),u=l&&("TypeAnnotation"===r.type||"TSTypeAnnotation"===r.type);const c=u&&l&&("TypeAnnotation"===r.type||"TSTypeAnnotation"===r.type)&&"ArrowFunctionExpression"===o.type;return HE(r,t)&&(l=!0,u=!0),c&&s.push("("),s.push(HS(e,n,t,!1,!0)),(i.returnType||i.predicate||i.typeAnnotation)&&s.push(l?" => ":": ",e.call(n,"returnType"),e.call(n,"predicate"),e.call(n,"typeAnnotation")),c&&s.push(")"),pS(aS(s))}case"TSRestType":return aS(["...",e.call(n,"typeAnnotation")]);case"TSOptionalType":return aS([e.call(n,"typeAnnotation"),"?"]);case"FunctionTypeParam":return aS([e.call(n,"name"),eA(e),i.name?": ":"",e.call(n,"typeAnnotation")]);case"GenericTypeAnnotation":return aS([e.call(n,"id"),e.call(n,"typeParameters")]);case"DeclareInterface":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return("DeclareInterface"===i.type||i.declare)&&s.push("declare "),s.push("interface"),"DeclareInterface"!==i.type&&"InterfaceDeclaration"!==i.type||s.push(" ",e.call(n,"id"),e.call(n,"typeParameters")),i.extends.length>0&&s.push(pS(dS(aS([lS,"extends ",(1===i.extends.length?wE:dS)(sS(aS([",",lS]),e.map(n,"extends")))])))),s.push(" ",e.call(n,"body")),pS(aS(s));case"ClassImplements":case"InterfaceExtends":return aS([e.call(n,"id"),e.call(n,"typeParameters")]);case"TSClassImplements":return aS([e.call(n,"expression"),e.call(n,"typeParameters")]);case"TSIntersectionType":case"IntersectionTypeAnnotation":{const t=e.map(n,"types"),r=[];let o=!1;for(let e=0;e1&&(o=!0),r.push(" & ",e>1?dS(t[e]):t[e])):r.push(dS(aS([" &",lS,t[e]])));return pS(aS(r))}case"TSUnionType":case"UnionTypeAnnotation":{const r=e.getParentNode(),o="TypeParameterInstantiation"!==r.type&&"TSTypeParameterInstantiation"!==r.type&&"GenericTypeAnnotation"!==r.type&&"TSTypeReference"!==r.type&&"TSTypeAssertion"!==r.type&&"TupleTypeAnnotation"!==r.type&&"TSTupleType"!==r.type&&!("FunctionTypeParam"===r.type&&!r.name)&&!(("TypeAlias"===r.type||"VariableDeclarator"===r.type||"TSTypeAliasDeclaration"===r.type)&&gE(t.originalText,i,t)),a=yA(i),s=e.map(e=>{let r=e.call(n);return a||(r=fS(2,r)),Jc.printComments(e,()=>r,t)},"types");if(a)return sS(" | ",s);const l=o&&!gE(t.originalText,i,t),u=aS([vS(aS([l?lS:"","| "])),sS(aS([lS,"| "]),s)]);return Tk(e,t)?pS(aS([dS(u),cS])):"TupleTypeAnnotation"===r.type&&r.types.length>1||"TSTupleType"===r.type&&r.elementTypes.length>1?pS(aS([dS(aS([vS(aS(["(",cS])),u])),cS,vS(")")])):pS(o?dS(u):u)}case"NullableTypeAnnotation":return aS(["?",e.call(n,"typeAnnotation")]);case"TSNullKeyword":case"NullLiteralTypeAnnotation":return"null";case"ThisTypeAnnotation":return"this";case"NumberTypeAnnotation":return"number";case"SymbolTypeAnnotation":return"symbol";case"ObjectTypeCallProperty":return i.static&&s.push("static "),s.push(e.call(n,"value")),aS(s);case"ObjectTypeIndexer":{const t=lE(i);return aS([t||"","[",e.call(n,"id"),i.id?": ":"",e.call(n,"key"),"]: ",e.call(n,"value")])}case"ObjectTypeProperty":{const r=lE(i);let o="";return i.proto?o="proto ":i.static&&(o="static "),aS([o,OE(i)?i.kind+" ":"",r||"",BS(e,t,n),eA(e),FE(i,t)?"":": ",e.call(n,"value")])}case"QualifiedTypeIdentifier":return aS([e.call(n,"qualification"),".",e.call(n,"id")]);case"StringLiteralTypeAnnotation":return fA(i,t);case"NumberLiteralTypeAnnotation":return qs.strictEqual(typeof i.value,"number"),null!=i.extra?Uk(i.extra.raw):Uk(i.raw);case"StringTypeAnnotation":return"string";case"DeclareTypeAlias":case"TypeAlias":{("DeclareTypeAlias"===i.type||i.declare)&&s.push("declare ");const r=hA(i.id,i.right,e.call(n,"right"),t);return s.push("type ",e.call(n,"id"),e.call(n,"typeParameters")," =",r,o),pS(aS(s))}case"TypeCastExpression":return aS(["(",e.call(n,"expression"),zS(e,t,n),")"]);case"TypeParameterDeclaration":case"TypeParameterInstantiation":{const r=e.getValue(),i=r.range?t.originalText.slice(0,r.range[0]).lastIndexOf("/*"):-1,o=i>=0&&t.originalText.slice(i).match(/^\/\*\s*::/);return o?aS(["/*:: ",ZS(e,t,n,"params")," */"]):ZS(e,t,n,"params")}case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return ZS(e,t,n,"params");case"TSTypeParameter":case"TypeParameter":{const r=e.getParentNode();if("TSMappedType"===r.type)return s.push("[",e.call(n,"name")),i.constraint&&s.push(" in ",e.call(n,"constraint")),s.push("]"),aS(s);const o=lE(i);o&&s.push(o),s.push(e.call(n,"name")),i.bound&&(s.push(": "),s.push(e.call(n,"bound"))),i.constraint&&s.push(" extends ",e.call(n,"constraint")),i.default&&s.push(" = ",e.call(n,"default"));const a=e.getNode(2);return r.params&&1===r.params.length&&QE(t)&&!i.constraint&&"ArrowFunctionExpression"===a.type&&s.push(","),aS(s)}case"TypeofTypeAnnotation":return aS(["typeof ",e.call(n,"argument")]);case"VoidTypeAnnotation":return"void";case"InferredPredicate":return"%checks";case"DeclaredPredicate":return aS(["%checks(",e.call(n,"value"),")"]);case"TSAbstractKeyword":return"abstract";case"TSAnyKeyword":return"any";case"TSAsyncKeyword":return"async";case"TSBooleanKeyword":return"boolean";case"TSBigIntKeyword":return"bigint";case"TSConstKeyword":return"const";case"TSDeclareKeyword":return"declare";case"TSExportKeyword":return"export";case"TSNeverKeyword":return"never";case"TSNumberKeyword":return"number";case"TSObjectKeyword":return"object";case"TSProtectedKeyword":return"protected";case"TSPrivateKeyword":return"private";case"TSPublicKeyword":return"public";case"TSReadonlyKeyword":return"readonly";case"TSSymbolKeyword":return"symbol";case"TSStaticKeyword":return"static";case"TSStringKeyword":return"string";case"TSUndefinedKeyword":return"undefined";case"TSUnknownKeyword":return"unknown";case"TSVoidKeyword":return"void";case"TSAsExpression":return aS([e.call(n,"expression")," as ",e.call(n,"typeAnnotation")]);case"TSArrayType":return aS([e.call(n,"elementType"),"[]"]);case"TSPropertySignature":return i.export&&s.push("export "),i.accessibility&&s.push(i.accessibility+" "),i.static&&s.push("static "),i.readonly&&s.push("readonly "),s.push(BS(e,t,n),eA(e)),i.typeAnnotation&&(s.push(": "),s.push(e.call(n,"typeAnnotation"))),i.initializer&&s.push(" = ",e.call(n,"initializer")),aS(s);case"TSParameterProperty":return i.accessibility&&s.push(i.accessibility+" "),i.export&&s.push("export "),i.static&&s.push("static "),i.readonly&&s.push("readonly "),s.push(e.call(n,"parameter")),aS(s);case"TSTypeReference":return aS([e.call(n,"typeName"),ZS(e,t,n,"typeParameters")]);case"TSTypeQuery":return aS(["typeof ",e.call(n,"exprName")]);case"TSIndexSignature":{const r=e.getParentNode(),a=i.parameters.length>1?vS(AS(t)?",":""):"",s=pS(aS([dS(aS([cS,sS(aS([", ",cS]),e.map(n,"parameters"))])),a,cS]));return aS([i.export?"export ":"",i.accessibility?aS([i.accessibility," "]):"",i.static?"static ":"",i.readonly?"readonly ":"","[",i.parameters?s:"",i.typeAnnotation?"]: ":"]",i.typeAnnotation?e.call(n,"typeAnnotation"):"","ClassBody"===r.type?o:""])}case"TSTypePredicate":return aS([i.asserts?"asserts ":"",e.call(n,"parameterName"),i.typeAnnotation?aS([" is ",e.call(n,"typeAnnotation")]):""]);case"TSNonNullExpression":return aS([e.call(n,"expression"),"!"]);case"TSThisType":return"this";case"TSImportType":return aS([i.isTypeOf?"typeof ":"","import(",e.call(n,i.parameter?"parameter":"argument"),")",i.qualifier?aS([".",e.call(n,"qualifier")]):"",ZS(e,t,n,"typeParameters")]);case"TSLiteralType":return e.call(n,"literal");case"TSIndexedAccessType":return aS([e.call(n,"objectType"),"[",e.call(n,"indexType"),"]"]);case"TSConstructSignatureDeclaration":case"TSCallSignatureDeclaration":case"TSConstructorType":if("TSCallSignatureDeclaration"!==i.type&&s.push("new "),s.push(pS(HS(e,n,t,!1,!0))),i.returnType||i.typeAnnotation){const t="TSConstructorType"===i.type;s.push(t?" => ":": ",e.call(n,"returnType"),e.call(n,"typeAnnotation"))}return aS(s);case"TSTypeOperator":return aS([i.operator," ",e.call(n,"typeAnnotation")]);case"TSMappedType":{const r=zk(t.originalText,t.locStart(i),t.locEnd(i));return pS(aS(["{",dS(aS([t.bracketSpacing?lS:cS,i.readonly?aS([hE(i.readonly,"readonly")," "]):"",JS(e,t,n),e.call(n,"typeParameter"),i.optional?hE(i.optional,"?"):"",i.typeAnnotation?": ":"",e.call(n,"typeAnnotation"),vS(o,"")])),Jc.printDanglingComments(e,t,!0),t.bracketSpacing?lS:cS,"}"]),{shouldBreak:r})}case"TSMethodSignature":return s.push(i.accessibility?aS([i.accessibility," "]):"",i.export?"export ":"",i.static?"static ":"",i.readonly?"readonly ":"",i.computed?"[":"",e.call(n,"key"),i.computed?"]":"",eA(e),HS(e,n,t,!1,!0)),(i.returnType||i.typeAnnotation)&&s.push(": ",e.call(n,"returnType"),e.call(n,"typeAnnotation")),pS(aS(s));case"TSNamespaceExportDeclaration":return s.push("export as namespace ",e.call(n,"id")),t.semi&&s.push(";"),pS(aS(s));case"TSEnumDeclaration":return i.declare&&s.push("declare "),i.modifiers&&s.push(JS(e,t,n)),i.const&&s.push("const "),s.push("enum ",e.call(n,"id")," "),0===i.members.length?s.push(pS(aS(["{",Jc.printDanglingComments(e,t),cS,"}"]))):s.push(pS(aS(["{",dS(aS([uS,DA(e,t,"members",n),AS(t,"es5")?",":""])),Jc.printDanglingComments(e,t,!0),uS,"}"]))),aS(s);case"TSEnumMember":return s.push(e.call(n,"id")),i.initializer&&s.push(" = ",e.call(n,"initializer")),aS(s);case"TSImportEqualsDeclaration":return i.isExport&&s.push("export "),s.push("import ",e.call(n,"id")," = ",e.call(n,"moduleReference")),t.semi&&s.push(";"),pS(aS(s));case"TSExternalModuleReference":return aS(["require(",e.call(n,"expression"),")"]);case"TSModuleDeclaration":{const r=e.getParentNode(),a=ME(i.id),l="TSModuleDeclaration"===r.type,u=i.body&&"TSModuleDeclaration"===i.body.type;if(l)s.push(".");else{i.declare&&s.push("declare "),s.push(JS(e,t,n));const r=t.originalText.slice(t.locStart(i),t.locStart(i.id)),o="Identifier"===i.id.type&&"global"===i.id.name&&!/namespace|module/.test(r);o||s.push(a||/(^|\s)module(\s|$)/.test(r)?"module ":"namespace ")}return s.push(e.call(n,"id")),u?s.push(e.call(n,"body")):i.body?s.push(" ",pS(e.call(n,"body"))):s.push(o),aS(s)}case"PrivateName":return aS(["#",e.call(n,"id")]);case"TSPrivateIdentifier":return i.escapedText;case"TSConditionalType":return OS(e,t,n,{beforeParts:()=>[e.call(n,"checkType")," ","extends"," ",e.call(n,"extendsType")],afterParts:()=>[],shouldCheckJsx:!1,conditionalNodeType:"TSConditionalType",consequentNodePropertyName:"trueType",alternateNodePropertyName:"falseType",testNodePropertyNames:["checkType","extendsType"]});case"TSInferType":return aS(["infer"," ",e.call(n,"typeParameter")]);case"InterpreterDirective":return s.push("#!",i.value,uS),Qk(t.originalText,i,t.locEnd)&&s.push(uS),aS(s);case"NGRoot":return aS([].concat(e.call(n,"node"),i.node.comments&&0!==i.node.comments.length?aS([" //",i.node.comments[0].value.trimEnd()]):[]));case"NGChainedExpression":return pS(sS(aS([";",lS]),e.map(e=>bE(e)?n(e):aS(["(",n(e),")"]),"expressions")));case"NGEmptyExpression":return"";case"NGQuotedExpression":return aS([i.prefix,": ",i.value.trim()]);case"NGMicrosyntax":return aS(e.map((e,t)=>aS([0===t?"":qE(e.getValue(),t,i)?" ":aS([";",lS]),n(e)]),"body"));case"NGMicrosyntaxKey":return/^[a-z_$][a-z0-9_$]*(-[a-z_$][a-z0-9_$])*$/i.test(i.name)?i.name:JSON.stringify(i.name);case"NGMicrosyntaxExpression":return aS([e.call(n,"expression"),null===i.alias?"":aS([" as ",e.call(n,"alias")])]);case"NGMicrosyntaxKeyedExpression":{const t=e.getName(),r=e.getParentNode(),o=qE(i,t,r)||(1===t&&("then"===i.key.name||"else"===i.key.name)||2===t&&"else"===i.key.name&&"NGMicrosyntaxKeyedExpression"===r.body[t-1].type&&"then"===r.body[t-1].key.name)&&"NGMicrosyntaxExpression"===r.body[0].type;return aS([e.call(n,"key"),o?" ":": ",e.call(n,"expression")])}case"NGMicrosyntaxLet":return aS(["let ",e.call(n,"key"),null===i.value?"":aS([" = ",e.call(n,"value")])]);case"NGMicrosyntaxAs":return aS([e.call(n,"key")," as ",e.call(n,"alias")]);case"ArgumentPlaceholder":return"?";case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return aS(["?",e.call(n,"typeAnnotation")]);case"TSJSDocNonNullableType":return aS(["!",e.call(n,"typeAnnotation")]);case"TSJSDocFunctionType":return aS(["function(","): ",e.call(n,"typeAnnotation")]);default:throw new Error("unknown type: "+JSON.stringify(i.type))}}function LS(e,t,n){const r=[],i=e.getNode(),o="ClassBody"===i.type;return e.map((e,a)=>{const s=e.getValue();if(!s)return;if("EmptyStatement"===s.type)return;const l=n(e),u=t.originalText,c=[];if(t.semi||o||ZE(t,e)||!vA(e,t)?c.push(l):s.comments&&s.comments.some(e=>e.leading)?c.push(n(e,{needsSemi:!0})):c.push(";",l),!t.semi&&o)if(aE(e))c.push(";");else if("ClassProperty"===s.type){const e=i.body[a+1];oE(e)&&c.push(";")}Qk(u,s,t.locEnd)&&!PE(e)&&c.push(uS),r.push(aS(c))}),sS(uS,r)}function BS(e,t,n){const r=e.getNode();if(r.computed)return aS(["[",e.call(n,"key"),"]"]);const i=e.getParentNode(),{key:o}=r;if("ClassPrivateProperty"===r.type&&"Identifier"===o.type)return aS(["#",e.call(n,"key")]);if("consistent"===t.quoteProps&&!oS.has(i)){const e=(i.properties||i.body||i.members).some(e=>!e.computed&&e.key&&YE(e.key)&&!KE(e,t));oS.set(i,e)}if("Identifier"===o.type&&("json"===t.parser||"consistent"===t.quoteProps&&oS.get(i))){const n=Wk(JSON.stringify(o.name),t);return e.call(e=>Jc.printComments(e,()=>n,t),"key")}return KE(r,t)&&("as-needed"===t.quoteProps||"consistent"===t.quoteProps&&!oS.get(i))?e.call(e=>Jc.printComments(e,()=>o.value,t),"key"):e.call(n,"key")}function PS(e,t,n){const r=e.getNode(),{kind:i}=r,o=r.value||r,a=[];return i&&"init"!==i&&"method"!==i&&"constructor"!==i?(qs.ok("get"===i||"set"===i),a.push(i," ")):(o.async&&a.push("async "),o.generator&&a.push("*")),a.push(BS(e,t,n),r.optional||r.key.optional?"?":"",r===o?MS(e,t,n):e.call(e=>MS(e,t,n),"value")),aS(a)}function MS(e,t,n){const r=[VS(e,t,n),pS(aS([HS(e,n,t),YS(e,n,t)]))];return e.getNode().body?r.push(" ",e.call(n,"body")):r.push(t.semi?";":""),aS(r)}function jS(e){return"ObjectExpression"===e.type&&(e.properties.length>0||e.comments)||"ArrayExpression"===e.type&&(e.elements.length>0||e.comments)||"TSTypeAssertion"===e.type&&jS(e.expression)||"TSAsExpression"===e.type&&jS(e.expression)||"FunctionExpression"===e.type||"ArrowFunctionExpression"===e.type&&(!e.returnType||!e.returnType.typeAnnotation||"TSTypeReference"!==e.returnType.typeAnnotation.type)&&("BlockStatement"===e.body.type||"ArrowFunctionExpression"===e.body.type||"ObjectExpression"===e.body.type||"ArrayExpression"===e.body.type||"CallExpression"===e.body.type||"OptionalCallExpression"===e.body.type||"ConditionalExpression"===e.body.type||LE(e.body))}function IS(e){const t=Vk(e),n=Kk(e);return!mE(t)&&!xE(t)&&jS(t)&&(!n||n.type!==t.type)}function $S(e){if(2!==e.length)return!1;const[t,n]=e;return(!t.comments||!t.comments.length)&&("FunctionExpression"===t.type||"ArrowFunctionExpression"===t.type&&"BlockStatement"===t.body.type)&&"FunctionExpression"!==n.type&&"ArrowFunctionExpression"!==n.type&&"ConditionalExpression"!==n.type&&!jS(n)}function RS(e,t,n){const r=e.quasis[0].value.raw.trim().split(/\s*\|\s*/);if(r.length>1||r.some(e=>0!==e.length)){const i=[],o=t.map(e=>"${"+ES(e,Object.assign({},n,{printWidth:1/0,endOfLine:"lf"})).formatted+"}"),a=[{hasLineBreak:!1,cells:[]}];for(let t=1;te.cells.length)),l=Array.from({length:s}).fill(0),u=[{cells:r},...a.filter(e=>0!==e.cells.length)];for(const{cells:e}of u.filter(e=>!e.hasLineBreak))e.forEach((e,t)=>{l[t]=Math.max(l[t],Hk(e))});return i.push(bS,"`",dS(aS([uS,sS(uS,u.map(e=>sS(" | ",e.cells.map((t,n)=>e.hasLineBreak?t:t+" ".repeat(l[n]-Hk(t))))))])),uS,"`"),aS(i)}}function qS(e,t,n){const r=e.getValue(),i=r.arguments;if(0===i.length)return aS(["(",Jc.printDanglingComments(e,t,!0),")"]);if(2===i.length&&"ArrowFunctionExpression"===i[0].type&&0===i[0].params.length&&"BlockStatement"===i[0].body.type&&"ArrayExpression"===i[1].type&&!i.find(e=>e.comments))return aS(["(",e.call(n,"arguments",0),", ",e.call(n,"arguments",1),")"]);function o(e,t){if(!e||"ArrowFunctionExpression"!==e.type||!e.body||"BlockStatement"!==e.body.type||!e.params||e.params.length<1)return!1;let r=!1;return t.each(e=>{const t=aS([n(e)]);r=r||wS(t)},"params"),r}let a=!1,s=!1,l=!1;const u=i.length-1,c=e.map((e,r)=>{const i=e.getNode(),c=[n(e)];return r===u||(Qk(t.originalText,i,t.locEnd)?(0===r&&(l=!0),a=!0,c.push(",",uS,uS)):c.push(",",lS)),s=o(i,e),aS(c)},"arguments"),h=r.callee&&"Import"===r.callee.type||!AS(t,"all")?"":",";function p(){return pS(aS(["(",dS(aS([lS,aS(c)])),h,lS,")"]),{shouldBreak:!0})}if("Decorator"!==e.getParentNode().type&&AE(i))return p();const d=$S(i),f=IS(i);if(d||f){const t=(d?c.slice(1).some(wS):c.slice(0,-1).some(wS))||a||s;let o,u=0;e.each(e=>{d&&0===u&&(o=[aS([e.call(e=>n(e,{expandFirstArg:!0})),c.length>1?",":"",l?uS:lS,l?uS:""])].concat(c.slice(1))),f&&u===i.length-1&&(o=c.slice(0,-1).concat(e.call(e=>n(e,{expandLastArg:!0})))),u++},"arguments");const h=c.some(wS),m=aS(["(",aS(o),")"]);return aS([h?yS:"",mS([h||r.typeArguments||r.typeParameters?vS(p(),m):m,aS(d?["(",pS(o[0],{shouldBreak:!0}),aS(o.slice(1)),")"]:["(",aS(c.slice(0,-1)),pS(Vk(o),{shouldBreak:!0}),")"]),p()],{shouldBreak:t})])}const m=aS(["(",dS(aS([cS,aS(c)])),vS(h),cS,")"]);return jE(e)?m:pS(m,{shouldBreak:c.some(wS)||a})}function zS(e,t,n){const r=e.getValue();if(!r.typeAnnotation)return"";const i=e.getParentNode(),o=r.definite||i&&"VariableDeclarator"===i.type&&i.definite,a="DeclareFunction"===i.type&&i.id===r;return SE(t.originalText,r.typeAnnotation,t)?aS([" /*: ",e.call(n,"typeAnnotation")," */"]):aS([a?"":o?"!: ":": ",e.call(n,"typeAnnotation")])}function VS(e,t,n){const r=e.getValue();return r.typeArguments?e.call(n,"typeArguments"):r.typeParameters?e.call(n,"typeParameters"):""}function HS(e,t,n,r,i){const o=e.getValue(),a=e.getParentNode(),s=o.parameters?"parameters":"params",l=JE(a),u=bA(o),c=r&&!(o[s]&&o[s].some(e=>e.comments)),h=i?VS(e,n,t):"";let p=[];if(o[s]){const r=o[s].length-1;p=e.map((e,i)=>{const a=[],s=e.getValue();return a.push(t(e)),i===r?o.rest&&a.push(",",lS):l||u||c?a.push(", "):Qk(n.originalText,s,n.locEnd)?a.push(",",uS,uS):a.push(",",lS),aS(a)},s)}if(o.rest&&p.push(aS(["...",e.call(t,"rest")])),0===p.length)return aS([h,"(",Jc.printDanglingComments(e,n,!0,e=>")"===Rk(n.originalText,e,n.locEnd)),")"]);const d=Vk(o[s]);if(c)return pS(aS([kS(h),"(",aS(p.map(kS)),")"]));const f=o[s].every(e=>!e.decorators);if(u&&f)return aS([h,"(",aS(p),")"]);if(l)return aS([h,"(",aS(p),")"]);const m=(HE(a,n)||eS(a,n)||"TypeAlias"===a.type||"UnionTypeAnnotation"===a.type||"TSUnionType"===a.type||"IntersectionTypeAnnotation"===a.type||"FunctionTypeAnnotation"===a.type&&a.returnType===o)&&1===o[s].length&&null===o[s][0].name&&o[s][0].typeAnnotation&&null===o.typeParameters&&UE(o[s][0].typeAnnotation)&&!o.rest;if(m)return"always"===n.arrowParens?aS(["(",aS(p),")"]):aS(p);const g=!(d&&"RestElement"===d.type)&&!o.rest;return aS([h,"(",dS(aS([cS,aS(p)])),vS(g&&AS(n,"all")?",":""),cS,")"])}function WS(e,t){if("always"===t.arrowParens)return!1;if("avoid"===t.arrowParens){const t=e.getValue();return US(t)}return!1}function US(e){return 1===e.params.length&&!e.rest&&!e.typeParameters&&!pE(e)&&"Identifier"===e.params[0].type&&!e.params[0].typeAnnotation&&!e.params[0].comments&&!e.params[0].optional&&!e.predicate&&!e.returnType}function GS(e,t,n){const r=e.getValue(),i=[];return r.async&&i.push("async "),r.generator?i.push("function* "):i.push("function "),r.id&&i.push(e.call(t,"id")),i.push(VS(e,n,t),pS(aS([HS(e,t,n),YS(e,t,n)])),r.body?" ":"",e.call(t,"body")),aS(i)}function YS(e,t,n){const r=e.getValue(),i=e.call(t,"returnType");if(r.returnType&&SE(n.originalText,r.returnType,n))return aS([" /*: ",i," */"]);const o=[i];return r.returnType&&r.returnType.typeAnnotation&&o.unshift(": "),r.predicate&&o.push(r.returnType?" ":": ",e.call(t,"predicate")),aS(o)}function KS(e,t,n){const r=e.getValue(),i=t.semi?";":"",o=["export "],a=r.default||"ExportDefaultDeclaration"===r.type;if(a&&o.push("default "),o.push(Jc.printDanglingComments(e,t,!0)),nS(r)&&o.push(uS),r.declaration)o.push(e.call(n,"declaration")),a&&"ClassDeclaration"!==r.declaration.type&&"FunctionDeclaration"!==r.declaration.type&&"TSInterfaceDeclaration"!==r.declaration.type&&"DeclareClass"!==r.declaration.type&&"DeclareFunction"!==r.declaration.type&&"TSDeclareFunction"!==r.declaration.type&&o.push(i);else{if(r.specifiers&&r.specifiers.length>0){const i=[],a=[],s=[];e.each(t=>{const r=e.getValue().type;"ExportSpecifier"===r?i.push(n(t)):"ExportDefaultSpecifier"===r?a.push(n(t)):"ExportNamespaceSpecifier"===r&&s.push(aS(["* as ",n(t)]))},"specifiers");const l=0!==s.length&&0!==i.length,u=0!==a.length&&(0!==s.length||0!==i.length),c=i.length>1||a.length>0||r.specifiers&&r.specifiers.some(e=>e.comments);let h="";0!==i.length&&(h=c?pS(aS(["{",dS(aS([t.bracketSpacing?lS:cS,sS(aS([",",lS]),i)])),vS(AS(t)?",":""),t.bracketSpacing?lS:cS,"}"])):aS(["{",t.bracketSpacing?" ":"",aS(i),t.bracketSpacing?" ":"","}"])),o.push("type"===r.exportKind?"type ":"",aS(a),aS([u?", ":""]),aS(s),aS([l?", ":""]),h)}else o.push("{}");r.source&&o.push(" from ",e.call(n,"source")),o.push(i)}return aS(o)}function XS(e,t){const n=cE(e);return n?qs.strictEqual(n.type,"DeclareExportDeclaration"):t.unshift("declare "),aS(t)}function JS(e,t,n){const r=e.getValue();return r.modifiers&&r.modifiers.length?aS([sS(" ",e.map(n,"modifiers"))," "]):""}function ZS(e,t,n,r){const i=e.getValue();if(!i[r])return"";if(!Array.isArray(i[r]))return e.call(n,r);const o=e.getNode(2),a=e.getNode(3),s=e.getNode(4),l=null!=o&&JE(o),u=l||0===i[r].length||1===i[r].length&&(yA(i[r][0])||"GenericTypeAnnotation"===i[r][0].type&&yA(i[r][0].id)||"TSTypeReference"===i[r][0].type&&yA(i[r][0].typeName)||"NullableTypeAnnotation"===i[r][0].type||s&&"VariableDeclarator"===s.type&&"TSTypeAnnotation"===o.type&&"ArrowFunctionExpression"!==a.type&&"TSUnionType"!==i[r][0].type&&"UnionTypeAnnotation"!==i[r][0].type&&"TSIntersectionType"!==i[r][0].type&&"IntersectionTypeAnnotation"!==i[r][0].type&&"TSConditionalType"!==i[r][0].type&&"TSMappedType"!==i[r][0].type&&"TSTypeOperator"!==i[r][0].type&&"TSIndexedAccessType"!==i[r][0].type&&"TSArrayType"!==i[r][0].type);function c(n){if(!pE(n))return"";const r=n.comments.every(cC.isBlockComment),i=Jc.printDanglingComments(e,t,r);return r?i:aS([i,uS])}return u?aS(["<",sS(", ",e.map(n,r)),c(i),">"]):pS(aS(["<",dS(aS([cS,sS(aS([",",lS]),e.map(n,r))])),vS("typescript"!==t.parser&&"babel-ts"!==t.parser&&AS(t,"all")?",":""),cS,">"]))}function QS(e,t,n){const r=e.getValue(),i=[];r.abstract&&i.push("abstract "),i.push("class"),r.id&&i.push(" ",e.call(n,"id")),i.push(e.call(n,"typeParameters"));const o=[];if(r.superClass){const a=aS(["extends ",e.call(n,"superClass"),e.call(n,"superTypeParameters")]);r.implements&&0!==r.implements.length||r.superClass.comments&&0!==r.superClass.comments.length?o.push(pS(aS([lS,e.call(e=>Jc.printComments(e,()=>a,t),"superClass")]))):i.push(aS([" ",e.call(e=>Jc.printComments(e,()=>a,t),"superClass")]))}else r.extends&&r.extends.length>0&&i.push(" extends ",sS(", ",e.map(n,"extends")));return r.mixins&&r.mixins.length>0&&o.push(lS,"mixins ",pS(dS(sS(aS([",",lS]),e.map(n,"mixins"))))),r.implements&&r.implements.length>0&&o.push(lS,"implements",pS(dS(aS([lS,sS(aS([",",lS]),e.map(n,"implements"))])))),o.length>0&&i.push(pS(dS(aS(o)))),r.body&&r.body.comments&&gE(t.originalText,r.body,t)?i.push(uS):i.push(" "),i.push(e.call(n,"body")),i}function eA(e){const t=e.getValue();return!t.optional||"Identifier"===t.type&&t===e.getParentNode().key?"":"OptionalCallExpression"===t.type||"OptionalMemberExpression"===t.type&&t.computed?"?.":"?"}function tA(e,t,n){const r=e.call(n,"property"),i=e.getValue(),o=eA(e);return i.computed?!i.property||zE(i.property)?aS([o,"[",r,"]"]):pS(aS([o,"[",dS(aS([cS,r])),cS,"]"])):aS([o,".",r])}function nA(e,t,n){return aS(["::",e.call(n,"callee")])}function rA(e,t,n){const r=[];function i(e){const{originalText:n}=t,r=tE(n,e,t.locEnd),i=n.charAt(r);return")"===i?eE(n,r+1,t.locEnd):Qk(n,e,t.locEnd)}function o(e){const a=e.getValue();"CallExpression"!==a.type&&"OptionalCallExpression"!==a.type||!RE(a.callee)&&"CallExpression"!==a.callee.type&&"OptionalCallExpression"!==a.callee.type?RE(a)?(r.unshift({node:a,needsParens:Tk(e,t),printed:Jc.printComments(e,()=>"OptionalMemberExpression"===a.type||"MemberExpression"===a.type?tA(e,t,n):nA(e,t,n),t)}),e.call(e=>o(e),"object")):"TSNonNullExpression"===a.type?(r.unshift({node:a,printed:Jc.printComments(e,()=>"!",t)}),e.call(e=>o(e),"expression")):r.unshift({node:a,printed:e.call(n)}):(r.unshift({node:a,printed:aS([Jc.printComments(e,()=>aS([eA(e),VS(e,t,n),qS(e,t,n)]),t),i(a)?uS:""])}),e.call(e=>o(e),"callee"))}const a=e.getValue();r.unshift({node:a,printed:aS([eA(e),VS(e,t,n),qS(e,t,n)])}),e.call(e=>o(e),"callee");const s=[];let l=[r[0]],u=1;for(;ue.trailing)&&(s.push(l),l=[],c=!1)}function h(e){return/^[A-Z]|^[_$]+$/.test(e)}function p(e){return e.length<=t.tabWidth}function d(t){const n=e.getParentNode(),r=n&&"ExpressionStatement"===n.type,i=t[1].length&&t[1][0].node.computed;if(1===t[0].length){const e=t[0][0].node;return"ThisExpression"===e.type||"Identifier"===e.type&&(h(e.name)||r&&p(e.name)||i)}const o=Vk(t[0]).node;return("MemberExpression"===o.type||"OptionalMemberExpression"===o.type)&&"Identifier"===o.property.type&&(h(o.property.name)||i)}l.length>0&&s.push(l);const f=s.length>=2&&!s[1][0].node.comments&&d(s);function m(e){const t=e.map(e=>e.printed);return e.length>0&&e[e.length-1].needsParens?aS(["(",...t,")"]):aS(t)}function g(e){return 0===e.length?"":dS(pS(aS([uS,sS(uS,e.map(m))])))}const v=s.map(m),y=aS(v),b=f?3:2,D=s.reduce((e,t)=>e.concat(t),[]),x=D.slice(1,-1).some(e=>mE(e.node))||D.slice(0,-1).some(e=>xE(e.node))||s[b]&&mE(s[b][0].node);if(s.length<=b&&!x)return jE(e)?y:pS(y);const w=Vk(f?s.slice(1,2)[0]:s[0]).node,C="CallExpression"!==w.type&&"OptionalCallExpression"!==w.type&&i(w),_=aS([m(s[0]),f?aS(s.slice(1,2).map(m)):"",C?uS:"",g(s.slice(f?2:1))]),k=r.map(({node:e})=>e).filter(_E);return x||k.length>2&&k.some(e=>!e.arguments.every(e=>WE(e,0)))||v.slice(0,-1).some(wS)||((e,t)=>_E(t)&&wS(e))(Vk(v),Vk(Vk(s)).node)&&k.slice(0,-1).some(e=>e.arguments.some(TE))?pS(_):aS([wS(y)||C?yS:"",mS([y,_])])}function iA(e,t,n,r){return e?"":"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?1===t.length?cS:uS:cS}function oA(e,t,n,r){return e?uS:1===t.length?"JSXElement"===n.type&&!n.closingElement||r&&"JSXElement"===r.type&&!r.closingElement?uS:cS:uS}function aA(e,t,n,r,i){const o=e.getValue(),a=[];return e.map((e,t)=>{const s=e.getValue();if(ME(s)){const e=rS(s);if(IE(s)){const n=e.split(tS);if(""===n[0]){if(a.push(""),n.shift(),/\n/.test(n[0])){const e=o.children[t+1];a.push(oA(i,n[1],s,e))}else a.push(r);n.shift()}let l;if(""===Vk(n)&&(n.pop(),l=n.pop()),0===n.length)return;if(n.forEach((e,t)=>{t%2===1?a.push(lS):a.push(e)}),void 0!==l)if(/\n/.test(l)){const e=o.children[t+1];a.push(oA(i,Vk(a),s,e))}else a.push(r);else{const e=o.children[t+1];a.push(iA(i,Vk(a),s,e))}}else/\n/.test(e)?e.match(/\n/g).length>1&&(a.push(""),a.push(uS)):(a.push(""),a.push(r))}else{const r=n(e);a.push(r);const l=o.children[t+1],u=l&&IE(l);if(u){const e=rS(l).trim().split(tS)[0];a.push(iA(i,e,s,l))}else a.push(uS)}},"children"),a}function sA(e,t,n){const r=e.getValue();if("JSXElement"===r.type&&kE(r))return aS([e.call(n,"openingElement"),e.call(n,"closingElement")]);const i="JSXElement"===r.type?e.call(n,"openingElement"):e.call(n,"openingFragment"),o="JSXElement"===r.type?e.call(n,"closingElement"):e.call(n,"closingFragment");if(1===r.children.length&&"JSXExpressionContainer"===r.children[0].type&&("TemplateLiteral"===r.children[0].expression.type||"TaggedTemplateExpression"===r.children[0].expression.type))return aS([i,aS(e.map(n,"children")),o]);r.children=r.children.map(e=>BE(e)?{type:"JSXText",value:" ",raw:" "}:e);const a=r.children.filter(LE).length>0,s=r.children.filter(e=>"JSXExpressionContainer"===e.type).length>1,l="JSXElement"===r.type&&r.openingElement.attributes.length>1;let u=wS(i)||a||l||s;const c="mdx"===e.getParentNode().rootMarker,h=t.singleQuote?"{' '}":'{" "}',p=c?aS([" "]):vS(aS([h,cS])," "),d=r.openingElement&&r.openingElement.name&&"fbt"===r.openingElement.name.name,f=aA(e,t,n,p,d),m=r.children.some(e=>IE(e));for(let b=f.length-2;b>=0;b--){const e=""===f[b]&&""===f[b+1],t=f[b]===uS&&""===f[b+1]&&f[b+2]===uS,n=(f[b]===cS||f[b]===uS)&&""===f[b+1]&&f[b+2]===p,r=f[b]===p&&""===f[b+1]&&(f[b+2]===cS||f[b+2]===uS),i=f[b]===p&&""===f[b+1]&&f[b+2]===p,o=f[b]===cS&&""===f[b+1]&&f[b+2]===uS||f[b]===uS&&""===f[b+1]&&f[b+2]===cS;t&&m||e||n||i||o?f.splice(b,2):r&&f.splice(b+1,2)}while(f.length&&(CS(Vk(f))||_S(Vk(f))))f.pop();while(f.length&&(CS(f[0])||_S(f[0]))&&(CS(f[1])||_S(f[1])))f.shift(),f.shift();const g=[];f.forEach((e,t)=>{if(e===p){if(1===t&&""===f[t-1])return 2===f.length?void g.push(h):void g.push(aS([h,uS]));if(t===f.length-1)return void g.push(h);if(""===f[t-1]&&f[t-2]===uS)return void g.push(h)}g.push(e),wS(e)&&(u=!0)});const v=m?gS(g):pS(aS(g),{shouldBreak:!0});if(c)return v;const y=pS(aS([i,dS(aS([uS,v])),uS,o]));return u?y:mS([pS(aS([i,aS(f),o])),y])}function lA(e,t,n){const r=e.getParentNode();if(!r)return t;const i={ArrayExpression:!0,JSXAttribute:!0,JSXElement:!0,JSXExpressionContainer:!0,JSXFragment:!0,ExpressionStatement:!0,CallExpression:!0,OptionalCallExpression:!0,ConditionalExpression:!0,JsExpressionRoot:!0};if(i[r.type])return t;const o=e.match(void 0,e=>"ArrowFunctionExpression"===e.type,_E,e=>"JSXExpressionContainer"===e.type),a=Tk(e,n);return pS(aS([a?"":vS("("),dS(aS([cS,t])),cS,a?"":vS(")")]),{shouldBreak:o})}function uA(e){return"LogicalExpression"===e.type&&("ObjectExpression"===e.right.type&&0!==e.right.properties.length||("ArrayExpression"===e.right.type&&0!==e.right.elements.length||!!LE(e.right)))}function cA(e,t,n,r,i){let o=[];const a=e.getValue();if(CE(a)){$k(a.operator,a.left.operator)?o=o.concat(e.call(e=>cA(e,t,n,!0,i),"left")):o.push(e.call(t,"left"));const s=uA(a),l=("|>"===a.operator||"NGPipeExpression"===a.type||"|"===a.operator&&"__vue_expression"===n.parser)&&!gE(n.originalText,a.right,n),u="NGPipeExpression"===a.type?"|":a.operator,c="NGPipeExpression"===a.type&&0!==a.arguments.length?pS(dS(aS([cS,": ",sS(aS([cS,":",vS(" ")]),e.map(t,"arguments").map(e=>fS(2,pS(e))))]))):"",h=aS(s?[u," ",e.call(t,"right"),c]:[l?cS:"",u,l?" ":lS,e.call(t,"right"),c]),p=e.getParentNode(),d=!(i&&"LogicalExpression"===a.type)&&p.type!==a.type&&a.left.type!==a.type&&a.right.type!==a.type;o.push(" ",d?pS(h):h),r&&a.comments&&(o=Jc.printComments(e,()=>aS(o),n))}else o.push(e.call(t));return o}function hA(e,t,n,r){if(gE(r.originalText,t,r))return dS(aS([lS,n]));const i=CE(t)&&!uA(t)||"ConditionalExpression"===t.type&&CE(t.test)&&!uA(t.test)||"StringLiteralTypeAnnotation"===t.type||"ClassExpression"===t.type&&t.decorators&&t.decorators.length||("Identifier"===e.type||YE(e)||"MemberExpression"===e.type)&&(YE(t)||$E(t))&&"json"!==r.parser&&"json5"!==r.parser||"SequenceExpression"===t.type;return i?pS(dS(aS([lS,n]))):aS([" ",n])}function pA(e,t,n,r,i,o){if(!r)return t;const a=hA(e,r,i,o);return pS(aS([t,n,a]))}function dA(e,t,n){return"EmptyStatement"===e.type?";":"BlockStatement"===e.type||n?aS([" ",t]):dS(aS([lS,t]))}function fA(e,t,n){const r=rS(e),i=n||"DirectiveLiteral"===e.type;return Wk(r,t,i)}function mA(e){const t=e.flags.split("").sort().join("");return"/".concat(e.pattern,"/").concat(t)}function gA(e,t){const n=e.getValue(),r=Tk(e,t)||"ParenthesizedExpression"===n.type||"TypeCastExpression"===n.type||"ArrowFunctionExpression"===n.type&&!WS(e,t)||"ArrayExpression"===n.type||"ArrayPattern"===n.type||"UnaryExpression"===n.type&&n.prefix&&("+"===n.operator||"-"===n.operator)||"TemplateLiteral"===n.type||"TemplateElement"===n.type||LE(n)||"BindExpression"===n.type&&!n.object||"RegExpLiteral"===n.type||"Literal"===n.type&&n.pattern||"Literal"===n.type&&n.regex;return!!r||!!vE(n)&&e.call(e=>gA(e,t),...uE(e,n))}function vA(e,t){const n=e.getNode();return"ExpressionStatement"===n.type&&e.call(e=>gA(e,t),"expression")}function yA(e){if(UE(e)||VE(e))return!0;if("UnionTypeAnnotation"===e.type||"TSUnionType"===e.type){const t=e.types.filter(e=>"VoidTypeAnnotation"===e.type||"TSVoidKeyword"===e.type||"NullLiteralTypeAnnotation"===e.type||"TSNullKeyword"===e.type).length,n=e.types.some(e=>"ObjectTypeAnnotation"===e.type||"TSTypeLiteral"===e.type||"GenericTypeAnnotation"===e.type||"TSTypeReference"===e.type);if(e.types.length-1===t&&n)return!0}return!1}function bA(e){if(!e||e.rest)return!1;const t=e.params||e.parameters;if(!t||1!==t.length)return!1;const n=t[0];return!n.comments&&("ObjectPattern"===n.type||"ArrayPattern"===n.type||"Identifier"===n.type&&n.typeAnnotation&&("TypeAnnotation"===n.typeAnnotation.type||"TSTypeAnnotation"===n.typeAnnotation.type)&&VE(n.typeAnnotation.typeAnnotation)||"FunctionTypeParam"===n.type&&VE(n.typeAnnotation)||"AssignmentPattern"===n.type&&("ObjectPattern"===n.left.type||"ArrayPattern"===n.left.type)&&("Identifier"===n.right.type||"ObjectExpression"===n.right.type&&0===n.right.properties.length||"ArrayExpression"===n.right.type&&0===n.right.elements.length))}function DA(e,t,n,r){const i=[];let o=[];return e.each(e=>{i.push(aS(o)),i.push(pS(r(e))),o=[",",lS],e.getValue()&&Qk(t.originalText,e.getValue(),t.locEnd)&&o.push(cS)},n),aS(i)}function xA(e,t,n){const r=e.getValue(),i=t.semi?";":"",o=[];r.argument&&(iS(t,r.argument)?o.push(aS([" (",dS(aS([uS,e.call(n,"argument")])),uS,")"])):CE(r.argument)||"SequenceExpression"===r.argument.type?o.push(pS(aS([vS(" ("," "),dS(aS([cS,e.call(n,"argument")])),cS,vS(")")]))):o.push(" ",e.call(n,"argument")));const a=Array.isArray(r.comments)&&r.comments[r.comments.length-1],s=a&&("CommentLine"===a.type||"Line"===a.type);return s&&o.push(i),pE(r)&&o.push(" ",Jc.printDanglingComments(e,t,!0)),s||o.push(i),aS(o)}function wA(e){const t=e.getValue(),n=e.getParentNode();return(t&&(LE(t)||fE(t)||n&&("CallExpression"===n.type||"OptionalCallExpression"===n.type)&&(dE(t.leadingComments)||dE(t.trailingComments)))||n&&("JSXSpreadAttribute"===n.type||"JSXSpreadChild"===n.type||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type||("ClassDeclaration"===n.type||"ClassExpression"===n.type)&&n.superClass===t))&&(!Gk(e)||"UnionTypeAnnotation"===n.type||"TSUnionType"===n.type)}function CA(e){return e.type&&"CommentBlock"!==e.type&&"CommentLine"!==e.type&&"Line"!==e.type&&"Block"!==e.type&&"EmptyStatement"!==e.type&&"TemplateElement"!==e.type&&"Import"!==e.type}function _A(e,t){const n=e.getValue();switch(n.type){case"CommentBlock":case"Block":{if(kA(n)){const e=EA(n);return n.trailing&&!qk(t.originalText,t.locStart(n),{backwards:!0})?aS([uS,e]):e}const e=t.locEnd(n),r="*-/"===t.originalText.slice(e-3,e);return"/*"+n.value+(r?"*-/":"*/")}case"CommentLine":case"Line":return t.originalText.slice(t.locStart(n)).startsWith("#!")?"#!"+n.value.trimEnd():"//"+n.value.trimEnd();default:throw new Error("Not a comment: "+JSON.stringify(n))}}function kA(e){const t="*".concat(e.value,"*").split("\n");return t.length>1&&t.every(e=>"*"===e.trim()[0])}function EA(e){const t=e.value.split("\n");return aS(["/*",sS(uS,t.map((e,n)=>0===n?e.trimEnd():" "+(n x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSpacing:Tf.bracketSpacing,jsxBracketSameLine:{since:"0.17.0",category:PA,type:"boolean",default:!1,description:"Put > on the last line instead of at a new line."},semi:{since:"1.0.0",category:PA,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},singleQuote:Tf.singleQuote,jsxSingleQuote:{since:"1.15.0",category:PA,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{since:"1.17.0",category:PA,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{since:"0.0.0",category:PA,type:"choice",default:[{since:"0.0.0",value:!1},{since:"0.19.0",value:"none"},{since:"2.0.0",value:"es5"}],description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."},{value:"all",description:"Trailing commas wherever possible (including function arguments)."}]}},jA="JavaScript",IA="programming",$A="source.js",RA="javascript",qA="javascript",zA="text/javascript",VA="#f1e05a",HA=["js","node"],WA=[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".jsb",".jscad",".jsfl",".jsm",".jss",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib"],UA=["Jakefile"],GA=["chakra","d8","gjs","js","node","qjs","rhino","v8","v8-shell"],YA=183,KA={name:jA,type:IA,tmScope:$A,aceMode:RA,codemirrorMode:qA,codemirrorMimeType:zA,color:VA,aliases:HA,extensions:WA,filenames:UA,interpreters:GA,languageId:YA},XA=Object.freeze({__proto__:null,name:jA,type:IA,tmScope:$A,aceMode:RA,codemirrorMode:qA,codemirrorMimeType:zA,color:VA,aliases:HA,extensions:WA,filenames:UA,interpreters:GA,languageId:YA,default:KA}),JA="JSX",ZA="programming",QA="JavaScript",eF=[".jsx"],tF="source.js.jsx",nF="javascript",rF="jsx",iF="text/jsx",oF=178,aF={name:JA,type:ZA,group:QA,extensions:eF,tmScope:tF,aceMode:nF,codemirrorMode:rF,codemirrorMimeType:iF,languageId:oF},sF=Object.freeze({__proto__:null,name:JA,type:ZA,group:QA,extensions:eF,tmScope:tF,aceMode:nF,codemirrorMode:rF,codemirrorMimeType:iF,languageId:oF,default:aF}),lF="TypeScript",uF="programming",cF="#2b7489",hF=["ts"],pF=["deno","ts-node"],dF=[".ts"],fF="source.ts",mF="typescript",gF="javascript",vF="application/typescript",yF=378,bF={name:lF,type:uF,color:cF,aliases:hF,interpreters:pF,extensions:dF,tmScope:fF,aceMode:mF,codemirrorMode:gF,codemirrorMimeType:vF,languageId:yF},DF=Object.freeze({__proto__:null,name:lF,type:uF,color:cF,aliases:hF,interpreters:pF,extensions:dF,tmScope:fF,aceMode:mF,codemirrorMode:gF,codemirrorMimeType:vF,languageId:yF,default:bF}),xF="TSX",wF="programming",CF="TypeScript",_F=[".tsx"],kF="source.tsx",EF="javascript",SF="jsx",AF="text/jsx",FF=94901924,TF={name:xF,type:wF,group:CF,extensions:_F,tmScope:kF,aceMode:EF,codemirrorMode:SF,codemirrorMimeType:AF,languageId:FF},OF=Object.freeze({__proto__:null,name:xF,type:wF,group:CF,extensions:_F,tmScope:kF,aceMode:EF,codemirrorMode:SF,codemirrorMimeType:AF,languageId:FF,default:TF}),NF="JSON",LF="data",BF="source.json",PF="json",MF="javascript",jF="application/json",IF=!1,$F=[".json",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".jsonl",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],RF=[".arcconfig",".htmlhintrc",".tern-config",".tern-project",".watchmanconfig","composer.lock","mcmod.info"],qF=174,zF={name:NF,type:LF,tmScope:BF,aceMode:PF,codemirrorMode:MF,codemirrorMimeType:jF,searchable:IF,extensions:$F,filenames:RF,languageId:qF},VF=Object.freeze({__proto__:null,name:NF,type:LF,tmScope:BF,aceMode:PF,codemirrorMode:MF,codemirrorMimeType:jF,searchable:IF,extensions:$F,filenames:RF,languageId:qF,default:zF}),HF="JSON with Comments",WF="data",UF="JSON",GF="source.js",YF="javascript",KF="javascript",XF="text/javascript",JF=["jsonc"],ZF=[".jsonc",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],QF=[".babelrc",".eslintrc.json",".jscsrc",".jshintrc",".jslintrc","jsconfig.json","language-configuration.json","tsconfig.json"],eT=423,tT={name:HF,type:WF,group:UF,tmScope:GF,aceMode:YF,codemirrorMode:KF,codemirrorMimeType:XF,aliases:JF,extensions:ZF,filenames:QF,languageId:eT},nT=Object.freeze({__proto__:null,name:HF,type:WF,group:UF,tmScope:GF,aceMode:YF,codemirrorMode:KF,codemirrorMimeType:XF,aliases:JF,extensions:ZF,filenames:QF,languageId:eT,default:tT}),rT="JSON5",iT="data",oT=[".json5"],aT="source.js",sT="javascript",lT="javascript",uT="application/json",cT=175,hT={name:rT,type:iT,extensions:oT,tmScope:aT,aceMode:sT,codemirrorMode:lT,codemirrorMimeType:uT,languageId:cT},pT=Object.freeze({__proto__:null,name:rT,type:iT,extensions:oT,tmScope:aT,aceMode:sT,codemirrorMode:lT,codemirrorMimeType:uT,languageId:cT,default:hT}),dT=Wt(XA),fT=Wt(sF),mT=Wt(DF),gT=Wt(OF),vT=Wt(VF),yT=Wt(nT),bT=Wt(pT);const DT=[Nf(dT,e=>({since:"0.0.0",parsers:["babel","flow"],vscodeLanguageIds:["javascript","mongo"],interpreters:e.interpreters.concat(["nodejs"])})),Nf(dT,()=>({name:"Flow",since:"0.0.0",parsers:["babel","flow"],vscodeLanguageIds:["javascript"],aliases:[],filenames:[],extensions:[".js.flow"]})),Nf(fT,()=>({since:"0.0.0",parsers:["babel","flow"],vscodeLanguageIds:["javascriptreact"]})),Nf(mT,()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]})),Nf(gT,()=>({since:"1.4.0",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]})),Nf(vT,()=>({name:"JSON.stringify",since:"1.13.0",parsers:["json-stringify"],vscodeLanguageIds:["json"],extensions:[],filenames:["package.json","package-lock.json","composer.json"]})),Nf(vT,e=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["json"],filenames:e.filenames.concat([".prettierrc"])})),Nf(yT,e=>({since:"1.5.0",parsers:["json"],vscodeLanguageIds:["jsonc"],filenames:e.filenames.concat([".eslintrc"])})),Nf(bT,()=>({since:"1.13.0",parsers:["json5"],vscodeLanguageIds:["json5"]}))],xT={estree:SA,"estree-json":BA};var wT={languages:DT,options:MA,printers:xT},CT={cjkPattern:"[\\u02ea-\\u02eb\\u1100-\\u11ff\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u3000-\\u303f\\u3041-\\u3096\\u3099-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312f\\u3131-\\u318e\\u3190-\\u3191\\u3196-\\u31ba\\u31c0-\\u31e3\\u31f0-\\u321e\\u322a-\\u3247\\u3260-\\u327e\\u328a-\\u32b0\\u32c0-\\u32cb\\u32d0-\\u3370\\u337b-\\u337f\\u33e0-\\u33fe\\u3400-\\u4db5\\u4e00-\\u9fef\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufe10-\\ufe1f\\ufe30-\\ufe6f\\uff00-\\uffef]|[\\ud840-\\ud868\\ud86a-\\ud86c\\ud86f-\\ud872\\ud874-\\ud879][\\udc00-\\udfff]|\\ud82c[\\udc00-\\udd1e\\udd50-\\udd52\\udd64-\\udd67]|\\ud83c[\\ude00\\ude50-\\ude51]|\\ud869[\\udc00-\\uded6\\udf00-\\udfff]|\\ud86d[\\udc00-\\udf34\\udf40-\\udfff]|\\ud86e[\\udc00-\\udc1d\\udc20-\\udfff]|\\ud873[\\udc00-\\udea1\\udeb0-\\udfff]|\\ud87a[\\udc00-\\udfe0]|\\ud87e[\\udc00-\\ude1d]",kPattern:"[\\u1100-\\u11ff\\u3001-\\u3003\\u3008-\\u3011\\u3013-\\u301f\\u302e-\\u3030\\u3037\\u30fb\\u3131-\\u318e\\u3200-\\u321e\\u3260-\\u327e\\ua960-\\ua97c\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\ufe45-\\ufe46\\uff61-\\uff65\\uffa0-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc]",punctuationPattern:"[\\u0021-\\u002f\\u003a-\\u0040\\u005b-\\u0060\\u007b-\\u007e\\u00a1\\u00a7\\u00ab\\u00b6-\\u00b7\\u00bb\\u00bf\\u037e\\u0387\\u055a-\\u055f\\u0589-\\u058a\\u05be\\u05c0\\u05c3\\u05c6\\u05f3-\\u05f4\\u0609-\\u060a\\u060c-\\u060d\\u061b\\u061e-\\u061f\\u066a-\\u066d\\u06d4\\u0700-\\u070d\\u07f7-\\u07f9\\u0830-\\u083e\\u085e\\u0964-\\u0965\\u0970\\u09fd\\u0a76\\u0af0\\u0c77\\u0c84\\u0df4\\u0e4f\\u0e5a-\\u0e5b\\u0f04-\\u0f12\\u0f14\\u0f3a-\\u0f3d\\u0f85\\u0fd0-\\u0fd4\\u0fd9-\\u0fda\\u104a-\\u104f\\u10fb\\u1360-\\u1368\\u1400\\u166e\\u169b-\\u169c\\u16eb-\\u16ed\\u1735-\\u1736\\u17d4-\\u17d6\\u17d8-\\u17da\\u1800-\\u180a\\u1944-\\u1945\\u1a1e-\\u1a1f\\u1aa0-\\u1aa6\\u1aa8-\\u1aad\\u1b5a-\\u1b60\\u1bfc-\\u1bff\\u1c3b-\\u1c3f\\u1c7e-\\u1c7f\\u1cc0-\\u1cc7\\u1cd3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205e\\u207d-\\u207e\\u208d-\\u208e\\u2308-\\u230b\\u2329-\\u232a\\u2768-\\u2775\\u27c5-\\u27c6\\u27e6-\\u27ef\\u2983-\\u2998\\u29d8-\\u29db\\u29fc-\\u29fd\\u2cf9-\\u2cfc\\u2cfe-\\u2cff\\u2d70\\u2e00-\\u2e2e\\u2e30-\\u2e4f\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301f\\u3030\\u303d\\u30a0\\u30fb\\ua4fe-\\ua4ff\\ua60d-\\ua60f\\ua673\\ua67e\\ua6f2-\\ua6f7\\ua874-\\ua877\\ua8ce-\\ua8cf\\ua8f8-\\ua8fa\\ua8fc\\ua92e-\\ua92f\\ua95f\\ua9c1-\\ua9cd\\ua9de-\\ua9df\\uaa5c-\\uaa5f\\uaade-\\uaadf\\uaaf0-\\uaaf1\\uabeb\\ufd3e-\\ufd3f\\ufe10-\\ufe19\\ufe30-\\ufe52\\ufe54-\\ufe61\\ufe63\\ufe68\\ufe6a-\\ufe6b\\uff01-\\uff03\\uff05-\\uff0a\\uff0c-\\uff0f\\uff1a-\\uff1b\\uff1f-\\uff20\\uff3b-\\uff3d\\uff3f\\uff5b\\uff5d\\uff5f-\\uff65]|\\ud800[\\udd00-\\udd02\\udf9f\\udfd0]|\\ud801[\\udd6f]|\\ud802[\\udc57\\udd1f\\udd3f\\ude50-\\ude58\\ude7f\\udef0-\\udef6\\udf39-\\udf3f\\udf99-\\udf9c]|\\ud803[\\udf55-\\udf59]|\\ud804[\\udc47-\\udc4d\\udcbb-\\udcbc\\udcbe-\\udcc1\\udd40-\\udd43\\udd74-\\udd75\\uddc5-\\uddc8\\uddcd\\udddb\\udddd-\\udddf\\ude38-\\ude3d\\udea9]|\\ud805[\\udc4b-\\udc4f\\udc5b\\udc5d\\udcc6\\uddc1-\\uddd7\\ude41-\\ude43\\ude60-\\ude6c\\udf3c-\\udf3e]|\\ud806[\\udc3b\\udde2\\ude3f-\\ude46\\ude9a-\\ude9c\\ude9e-\\udea2]|\\ud807[\\udc41-\\udc45\\udc70-\\udc71\\udef7-\\udef8\\udfff]|\\ud809[\\udc70-\\udc74]|\\ud81a[\\ude6e-\\ude6f\\udef5\\udf37-\\udf3b\\udf44]|\\ud81b[\\ude97-\\ude9a\\udfe2]|\\ud82f[\\udc9f]|\\ud836[\\ude87-\\ude8b]|\\ud83a[\\udd5e-\\udd5f]"};const{cjkPattern:_T,kPattern:kT,punctuationPattern:ET}=CT,{getLast:ST}=mu,AT=["liquidNode","inlineCode","emphasis","strong","delete","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"],FT=AT.concat(["tableCell","paragraph","heading"]),TT=new RegExp(kT),OT=new RegExp(ET);function NT(e,t){const n="non-cjk",r="cj-letter",i="k-letter",o="cjk-punctuation",a=[];return("preserve"===t.proseWrap?e:e.replace(new RegExp("(".concat(_T,")\n(").concat(_T,")"),"g"),"$1$2")).split(/([ \t\n]+)/).forEach((e,t,l)=>{t%2!==1?(0!==t&&t!==l.length-1||""!==e)&&e.split(new RegExp("(".concat(_T,")"))).forEach((e,t,a)=>{(0!==t&&t!==a.length-1||""!==e)&&(t%2!==0?s(OT.test(e)?{type:"word",value:e,kind:o,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0}:{type:"word",value:e,kind:TT.test(e)?i:r,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1}):""!==e&&s({type:"word",value:e,kind:n,hasLeadingPunctuation:OT.test(e[0]),hasTrailingPunctuation:OT.test(ST(e))}))}):a.push({type:"whitespace",value:/\n/.test(e)?"\n":" "})}),a;function s(e){const t=ST(a);function i(n,r){return t.kind===n&&e.kind===r||t.kind===r&&e.kind===n}t&&"word"===t.type&&(t.kind===n&&e.kind===r&&!t.hasTrailingPunctuation||t.kind===r&&e.kind===n&&!e.hasLeadingPunctuation?a.push({type:"whitespace",value:" "}):i(n,o)||[t.value,e.value].some(e=>/\u3000/.test(e))||a.push({type:"whitespace",value:""})),a.push(e)}}function LT(e,t){const[,n,r,i]=t.slice(e.position.start.offset,e.position.end.offset).match(/^\s*(\d+)(\.|\))(\s*)/);return{numberText:n,marker:r,leadingSpaces:i}}function BT(e,t){if(!e.ordered)return!1;if(e.children.length<2)return!1;const n=Number(LT(e.children[0],t.originalText).numberText),r=Number(LT(e.children[1],t.originalText).numberText);if(0===n&&e.children.length>2){const n=Number(LT(e.children[2],t.originalText).numberText);return 1===r&&1===n}return 1===r}function PT(e,t){const n=t.slice(e.position.start.offset,e.position.end.offset),r=n.match(/^\s*/)[0].length,i=new RegExp("^\\s{0,".concat(r,"}")),o=n.split("\n"),a=n[r],s=n.slice(r).match(new RegExp("^[".concat(a,"]+")))[0],l=new RegExp("^\\s{0,3}".concat(s)).test(o[o.length-1].slice(u(o.length-1)));return o.slice(1,l?-1:void 0).map((e,t)=>e.slice(u(t+1)).replace(i,"")).join("\n");function u(t){return e.position.indent[t-1]-1}}function MT(e,t){return function e(n,r,i){i=i||[];const o=Object.assign({},t(n,r,i));return o.children&&(o.children=o.children.map((t,n)=>e(t,n,[o].concat(i)))),o}(e,null,null)}var jT={mapAst:MT,splitText:NT,punctuationPattern:ET,getFencedCodeBlockValue:PT,getOrderedListItemInfo:LT,hasGitDiffFriendlyOrderedList:BT,INLINE_NODE_TYPES:AT,INLINE_NODE_WRAPPER_TYPES:FT};const{builders:{hardline:IT,literalline:$T,concat:RT,markAsRoot:qT},utils:{mapDoc:zT}}=Qu,{getFencedCodeBlockValue:VT}=jT;function HT(e,t,n,r){const i=e.getValue();if("code"===i.type&&null!==i.lang){const e=i.lang.match(/^[A-Za-z0-9_-]+/),t=e?e[0]:"",s=o(t);if(s){const e=r.__inJsTemplate?"~":"`",t=e.repeat(Math.max(3,mu.getMaxContinuousCount(i.value,e)+1)),o=n(VT(i,r.originalText),{parser:s});return qT(RT([t,i.lang,IT,a(o),t]))}}if("yaml"===i.type)return qT(RT(["---",IT,i.value&&i.value.trim()?a(n(i.value,{parser:"yaml"})):"","---"]));switch(i.type){case"importExport":return n(i.value,{parser:"babel"});case"jsx":return n("<$>".concat(i.value,""),{parser:"__js_expression",rootMarker:"mdx"})}return null;function o(e){const t=Ir.getSupportInfo({plugins:r.plugins}),n=t.languages.find(t=>t.name.toLowerCase()===e||t.aliases&&t.aliases.includes(e)||t.extensions&&t.extensions.find(t=>t===".".concat(e)));return n?n.parsers[0]:null}function a(e){return zT(e,e=>"string"===typeof e&&e.includes("\n")?RT(e.split(/(\n)/g).map((e,t)=>t%2===0?e:$T)):e)}}var WT=HT;const UT=["format","prettier"];function GT(e){const t="@(".concat(UT.join("|"),")"),n=new RegExp(["\x3c!--\\s*".concat(t,"\\s*--\x3e"),"\x3c!--.*\r?\n[\\s\\S]*(^|\n)[^\\S\n]*".concat(t,"[^\\S\n]*($|\n)[\\s\\S]*\n.*--\x3e")].join("|"),"m"),r=e.match(n);return r&&0===r.index}var YT={startWithPragma:GT,hasPragma:e=>GT(ep(e).content.trimStart()),insertPragma:e=>{const t=ep(e),n="\x3c!-- @".concat(UT[0]," --\x3e");return t.frontMatter?"".concat(t.frontMatter.raw,"\n\n").concat(n,"\n\n").concat(t.content):"".concat(n,"\n\n").concat(t.content)}};const{getOrderedListItemInfo:KT,mapAst:XT,splitText:JT}=jT,ZT=/^([\u0000-\uffff]|[\ud800-\udbff][\udc00-\udfff])$/;function QT(e,t){return e=nO(e,t),e=oO(e),e=tO(e),e=sO(e,t),e=lO(e,t),e=aO(e,t),e=eO(e),e=rO(e),e}function eO(e){return XT(e,e=>"import"!==e.type&&"export"!==e.type?e:Object.assign({},e,{type:"importExport"}))}function tO(e){return XT(e,e=>"inlineCode"!==e.type?e:Object.assign({},e,{value:e.value.replace(/\s+/g," ")}))}function nO(e,t){return XT(e,e=>"text"!==e.type?e:Object.assign({},e,{value:"*"!==e.value&&"_"!==e.value&&"$"!==e.value&&ZT.test(e.value)&&e.position.end.offset-e.position.start.offset!==e.value.length?t.originalText.slice(e.position.start.offset,e.position.end.offset):e.value}))}function rO(e){return iO(e,(e,t)=>"importExport"===e.type&&"importExport"===t.type,(e,t)=>({type:"importExport",value:e.value+"\n\n"+t.value,position:{start:e.position.start,end:t.position.end}}))}function iO(e,t,n){return XT(e,e=>{if(!e.children)return e;const r=e.children.reduce((e,r)=>{const i=e[e.length-1];return i&&t(i,r)?e.splice(-1,1,n(i,r)):e.push(r),e},[]);return Object.assign({},e,{children:r})})}function oO(e){return iO(e,(e,t)=>"text"===e.type&&"text"===t.type,(e,t)=>({type:"text",value:e.value+t.value,position:{start:e.position.start,end:t.position.end}}))}function aO(e,t){return XT(e,(e,n,[r])=>{if("text"!==e.type)return e;let{value:i}=e;return"paragraph"===r.type&&(0===n&&(i=i.trimStart()),n===r.children.length-1&&(i=i.trimEnd())),{type:"sentence",position:e.position,children:JT(i,t)}})}function sO(e,t){return XT(e,(e,n,r)=>{if("code"===e.type){const n=/^\n?( {4,}|\t)/.test(t.originalText.slice(e.position.start.offset,e.position.end.offset));if(e.isIndented=n,n)for(let e=0;e{if("list"===e.type&&0!==e.children.length){for(let t=0;t1)return!0;const a=n(r);if(-1===a)return!1;if(1===e.children.length)return a%t.tabWidth===0;const s=n(i);if(a!==s)return!1;if(a%t.tabWidth===0)return!0;const l=KT(i,t.originalText);return l.leadingSpaces.length>1}}var uO=QT;const{builders:{breakParent:cO,concat:hO,join:pO,line:dO,literalline:fO,markAsRoot:mO,hardline:gO,softline:vO,ifBreak:yO,fill:bO,align:DO,indent:xO,group:wO},utils:{mapDoc:CO},printer:{printDocToString:_O}}=Qu,{getFencedCodeBlockValue:kO,hasGitDiffFriendlyOrderedList:EO,splitText:SO,punctuationPattern:AO,INLINE_NODE_TYPES:FO,INLINE_NODE_WRAPPER_TYPES:TO}=jT,{replaceEndOfLineWith:OO}=mu,NO=["importExport"],LO=["heading","tableCell","link"],BO=["listItem","definition","footnoteDefinition"];function PO(e,t,n){const r=e.getValue();if(JO(e))return hO(SO(t.originalText.slice(r.position.start.offset,r.position.end.offset),t).map(n=>"word"===n.type?n.value:""===n.value?"":zO(e,n.value,t)));switch(r.type){case"root":return 0===r.children.length?"":hO([ZO(HO(e,t,n)),NO.includes(UO(r).type)?"":gO]);case"paragraph":return WO(e,t,n,{postprocessor:bO});case"sentence":return WO(e,t,n);case"word":return r.value.replace(/[*$]/g,"\\$&").replace(new RegExp(["(^|".concat(AO,")(_+)"),"(_+)(".concat(AO,"|$)")].join("|"),"g"),(e,t,n,r,i)=>(n?"".concat(t).concat(n):"".concat(r).concat(i)).replace(/_/g,"\\_"));case"whitespace":{const n=e.getParentNode(),i=n.children.indexOf(r),o=n.children[i+1],a=o&&/^>|^([-+*]|#{1,6}|[0-9]+[.)])$/.test(o.value)?"never":t.proseWrap;return zO(e,r.value,{proseWrap:a})}case"emphasis":{const i=e.getParentNode(),o=i.children.indexOf(r),a=i.children[o-1],s=i.children[o+1],l=a&&"sentence"===a.type&&a.children.length>0&&"word"===mu.getLast(a.children).type&&!mu.getLast(a.children).hasTrailingPunctuation||s&&"sentence"===s.type&&s.children.length>0&&"word"===s.children[0].type&&!s.children[0].hasLeadingPunctuation,u=l||qO(e,"emphasis")?"*":"_";return hO([u,WO(e,t,n),u])}case"strong":return hO(["**",WO(e,t,n),"**"]);case"delete":return hO(["~~",WO(e,t,n),"~~"]);case"inlineCode":{const e=mu.getMinNotPresentContinuousCount(r.value,"`"),t="`".repeat(e||1),n=e?" ":"";return hO([t,n,r.value,n,t])}case"link":switch(t.originalText[r.position.start.offset]){case"<":{const e="mailto:",n=r.url.startsWith(e)&&t.originalText.slice(r.position.start.offset+1,r.position.start.offset+1+e.length)!==e?r.url.slice(e.length):r.url;return hO(["<",n,">"])}case"[":return hO(["[",WO(e,t,n),"](",QO(r.url,")"),eN(r.title,t),")"]);default:return t.originalText.slice(r.position.start.offset,r.position.end.offset)}case"image":return hO(["![",r.alt||"","](",QO(r.url,")"),eN(r.title,t),")"]);case"blockquote":return hO(["> ",DO("> ",WO(e,t,n))]);case"heading":return hO(["#".repeat(r.depth)+" ",WO(e,t,n)]);case"code":{if(r.isIndented){const e=" ".repeat(4);return DO(e,hO([e,hO(OO(r.value,gO))]))}const e=t.__inJsTemplate?"~":"`",n=e.repeat(Math.max(3,mu.getMaxContinuousCount(r.value,e)+1));return hO([n,r.lang||"",gO,hO(OO(kO(r,t.originalText),gO)),gO,n])}case"yaml":case"toml":return t.originalText.slice(r.position.start.offset,r.position.end.offset);case"html":{const t=e.getParentNode(),n="root"===t.type&&mu.getLast(t.children)===r?r.value.trimEnd():r.value,i=/^$/.test(n);return hO(OO(n,i?gO:mO(fO)))}case"list":{const i=IO(r,e.getParentNode()),o=EO(r,t);return WO(e,t,n,{processor:(e,a)=>{const s=u(),l=e.getValue();return 2===l.children.length&&"html"===l.children[1].type&&l.children[0].position.start.column!==l.children[1].position.start.column?hO([s,MO(e,t,n,s)]):hO([s,DO(" ".repeat(s.length),MO(e,t,n,s))]);function u(){const e=r.ordered?(0===a?r.start:o?1:r.start+a)+(i%2===0?". ":") "):i%2===0?"- ":"* ";return r.isAligned||r.hasIndentedCodeblock?jO(e,t):e}}})}case"thematicBreak":{const t=RO(e,"list");if(-1===t)return"---";const n=IO(e.getParentNode(t),e.getParentNode(t+1));return n%2===0?"***":"---"}case"linkReference":return hO(["[",WO(e,t,n),"]","full"===r.referenceType?hO(["[",r.identifier,"]"]):"collapsed"===r.referenceType?"[]":""]);case"imageReference":switch(r.referenceType){case"full":return hO(["![",r.alt||"","][",r.identifier,"]"]);default:return hO(["![",r.alt,"]","collapsed"===r.referenceType?"[]":""])}case"definition":{const e="always"===t.proseWrap?dO:" ";return wO(hO([hO(["[",r.identifier,"]:"]),xO(hO([e,QO(r.url),null===r.title?"":hO([e,eN(r.title,t,!1)])]))]))}case"footnote":return hO(["[^",WO(e,t,n),"]"]);case"footnoteReference":return hO(["[^",r.identifier,"]"]);case"footnoteDefinition":{const i=e.getParentNode().children[e.getName()+1],o=1===r.children.length&&"paragraph"===r.children[0].type&&("never"===t.proseWrap||"preserve"===t.proseWrap&&r.children[0].position.start.line===r.children[0].position.end.line);return hO(["[^",r.identifier,"]: ",o?WO(e,t,n):wO(hO([DO(" ".repeat(t.tabWidth),WO(e,t,n,{processor:(e,t)=>0===t?wO(hO([vO,e.call(n)])):e.call(n)})),i&&"footnoteDefinition"===i.type?vO:""]))])}case"table":return VO(e,t,n);case"tableCell":return WO(e,t,n);case"break":return/\s/.test(t.originalText[r.position.start.offset])?hO([" ",mO(fO)]):hO(["\\",gO]);case"liquidNode":return hO(OO(r.value,gO));case"importExport":case"jsx":return r.value;case"math":return hO(["$$",gO,r.value?hO([hO(OO(r.value,gO)),gO]):"","$$"]);case"inlineMath":return t.originalText.slice(t.locStart(r),t.locEnd(r));case"tableRow":case"listItem":default:throw new Error("Unknown markdown type ".concat(JSON.stringify(r.type)))}}function MO(e,t,n,r){const i=e.getValue(),o=null===i.checked?"":i.checked?"[x] ":"[ ] ";return hO([o,WO(e,t,n,{processor:(e,i)=>{if(0===i&&"list"!==e.getValue().type)return DO(" ".repeat(o.length),e.call(n));const a=" ".repeat(nN(t.tabWidth-r.length,0,3));return hO([a,DO(a,e.call(n))])}})])}function jO(e,t){const n=r();return e+" ".repeat(n>=4?0:n);function r(){const n=e.length%t.tabWidth;return 0===n?0:t.tabWidth-n}}function IO(e,t){return $O(e,t,t=>t.ordered===e.ordered)}function $O(e,t,n){n=n||(()=>!0);let r=-1;for(const i of t.children)if(i.type===e.type&&n(i)?r++:r=-1,i===e)return r}function RO(e,t){const n=[].concat(t);let r,i=-1;while(r=e.getParentNode(++i))if(n.includes(r.type))return i;return-1}function qO(e,t){const n=RO(e,t);return-1===n?null:e.getParentNode(n)}function zO(e,t,n){if("preserve"===n.proseWrap&&"\n"===t)return gO;const r="always"===n.proseWrap&&!qO(e,LO);return""!==t?r?dO:" ":r?vO:""}function VO(e,t,n){const r=gO.parts[0],i=e.getValue(),o=[];e.map(e=>{const r=[];e.map(e=>{r.push(_O(e.call(n),t).formatted)},"children"),o.push(r)},"children");const a=o.reduce((e,t)=>e.map((e,n)=>Math.max(e,mu.getStringWidth(t[n]))),o[0].map(()=>3)),s=pO(r,[c(o[0]),u(),pO(r,o.slice(1).map(e=>c(e)))]);if("never"!==t.proseWrap)return hO([cO,s]);const l=pO(r,[c(o[0],!0),u(!0),pO(r,o.slice(1).map(e=>c(e,!0)))]);return hO([cO,wO(yO(l,s))]);function u(e){return hO(["| ",pO(" | ",a.map((t,n)=>{const r=e?3:t;switch(i.align[n]){case"left":return":"+"-".repeat(r-1);case"right":return"-".repeat(r-1)+":";case"center":return":"+"-".repeat(r-2)+":";default:return"-".repeat(r)}}))," |"])}function c(e,t){return hO(["| ",pO(" | ",t?e:e.map((e,t)=>{switch(i.align[t]){case"right":return p(e,a[t]);case"center":return d(e,a[t]);default:return h(e,a[t])}}))," |"])}function h(e,t){const n=t-mu.getStringWidth(e);return hO([e," ".repeat(n)])}function p(e,t){const n=t-mu.getStringWidth(e);return hO([" ".repeat(n),e])}function d(e,t){const n=t-mu.getStringWidth(e),r=Math.floor(n/2),i=n-r;return hO([" ".repeat(r),e," ".repeat(i)])}}function HO(e,t,n){const r=[];let i=null;const{children:o}=e.getValue();return o.forEach((e,t)=>{switch(GO(e)){case"start":null===i&&(i={index:t,offset:e.position.end.offset});break;case"end":null!==i&&(r.push({start:i,end:{index:t,offset:e.position.start.offset}}),i=null);break}}),WO(e,t,n,{processor:(e,i)=>{if(0!==r.length){const e=r[0];if(i===e.start.index)return hO([o[e.start.index].value,t.originalText.slice(e.start.offset,e.end.offset),o[e.end.index].value]);if(e.start.indexe.call(n)),a=e.getValue(),s=[];let l;return e.map((e,n)=>{const r=e.getValue(),i=o(e,n);if(!1!==i){const e={parts:s,prevNode:l,parentNode:a,options:t};YO(r,e)||(s.push(gO),l&&NO.includes(l.type)||(KO(r,e)||XO(r,e))&&s.push(gO),XO(r,e)&&s.push(gO)),s.push(i),l=r}},"children"),i(s)}function UO(e){let t=e;while(t.children&&0!==t.children.length)t=t.children[t.children.length-1];return t}function GO(e){if("html"!==e.type)return!1;const t=e.value.match(/^$/);return null!==t&&(t[1]?t[1]:"next")}function YO(e,t){const n=0===t.parts.length,r=FO.includes(e.type),i="html"===e.type&&TO.includes(t.parentNode.type);return n||r||i}function KO(e,t){const n=(t.prevNode&&t.prevNode.type)===e.type,r=n&&BO.includes(e.type),i="listItem"===t.parentNode.type&&!t.parentNode.loose,o=t.prevNode&&"listItem"===t.prevNode.type&&t.prevNode.loose,a="next"===GO(t.prevNode),s="html"===e.type&&t.prevNode&&"html"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line,l="html"===e.type&&"listItem"===t.parentNode.type&&t.prevNode&&"paragraph"===t.prevNode.type&&t.prevNode.position.end.line+1===e.position.start.line;return o||!(r||i||a||s||l)}function XO(e,t){const n=t.prevNode&&"list"===t.prevNode.type,r="code"===e.type&&e.isIndented;return n&&r}function JO(e){const t=qO(e,["linkReference","imageReference"]);return t&&("linkReference"!==t.type||"full"!==t.referenceType)}function ZO(e){return CO(e,e=>{if(!e.parts)return e;if("concat"===e.type&&1===e.parts.length)return e.parts[0];const t=e.parts.reduce((e,t)=>("concat"===t.type?e.push(...t.parts):""!==t&&e.push(t),e),[]);return Object.assign({},e,{parts:tN(t)})})}function QO(e,t){const n=[" "].concat(t||[]);return new RegExp(n.map(e=>"\\".concat(e)).join("|")).test(e)?"<".concat(e,">"):e}function eN(e,t,n){if(null==n&&(n=!0),!e)return"";if(n)return" "+eN(e,t,!1);if(e.includes('"')&&e.includes("'")&&!e.includes(")"))return"(".concat(e,")");const r=e.split("'").length-1,i=e.split('"').length-1,o=r>i?'"':i>r||t.singleQuote?"'":'"';return e=e.replace(new RegExp("(".concat(o,")"),"g"),"\\$1"),"".concat(o).concat(e).concat(o)}function tN(e){return e.reduce((e,t)=>{const n=mu.getLast(e);return"string"===typeof n&&"string"===typeof t?e.splice(-1,1,n+t):e.push(t),e},[])}function nN(e,t,n){return en?n:e}function rN(e,t,n){return delete t.position,delete t.raw,"code"!==e.type&&"yaml"!==e.type&&"import"!==e.type&&"export"!==e.type&&"jsx"!==e.type||delete t.value,"list"===e.type&&delete t.isAligned,"text"===e.type?null:("inlineCode"===e.type&&(t.value=e.value.replace(/[ \t\n]+/g," ")),n&&"root"===n.type&&n.children.length>0&&(n.children[0]===e||("yaml"===n.children[0].type||"toml"===n.children[0].type)&&n.children[1]===e)&&"html"===e.type&&YT.startWithPragma(e.value)?null:void 0)}function iN(e){const t=+e.getName();if(0===t)return!1;const n=e.getParentNode().children[t-1];return"next"===GO(n)}var oN={preprocess:uO,print:PO,embed:WT,massageAstNode:rN,hasPrettierIgnore:iN,insertPragma:YT.insertPragma},aN={proseWrap:Tf.proseWrap,singleQuote:Tf.singleQuote},sN="Markdown",lN="prose",uN=["pandoc"],cN="markdown",hN="gfm",pN="text/x-gfm",dN=!0,fN=[".md",".markdown",".mdown",".mdwn",".mdx",".mkd",".mkdn",".mkdown",".ronn",".workbook"],mN=["contents.lr"],gN="source.gfm",vN=222,yN={name:sN,type:lN,aliases:uN,aceMode:cN,codemirrorMode:hN,codemirrorMimeType:pN,wrap:dN,extensions:fN,filenames:mN,tmScope:gN,languageId:vN},bN=Object.freeze({__proto__:null,name:sN,type:lN,aliases:uN,aceMode:cN,codemirrorMode:hN,codemirrorMimeType:pN,wrap:dN,extensions:fN,filenames:mN,tmScope:gN,languageId:vN,default:yN}),DN=Wt(bN);const xN=[Nf(DN,e=>({since:"1.8.0",parsers:["markdown"],vscodeLanguageIds:["markdown"],filenames:e.filenames.concat(["README"]),extensions:e.extensions.filter(e=>".mdx"!==e)})),Nf(DN,()=>({name:"MDX",since:"1.15.0",parsers:["mdx"],vscodeLanguageIds:["mdx"],filenames:[],extensions:[".mdx"]}))],wN={mdast:oN};var CN={languages:xN,options:aN,printers:wN};function _N(e){return/^\s*@(prettier|format)\s*$/.test(e)}function kN(e){return/^\s*#[^\n\S]*@(prettier|format)\s*?(\n|$)/.test(e)}function EN(e){return"# @format\n\n".concat(e)}var SN={isPragma:_N,hasPragma:kN,insertPragma:EN};const{getLast:AN}=mu;function FN(e,t){let n=0;const r=e.stack.length-1;for(let i=0;iON(n,t,e))}):e,n)}function NN(e,t,n){Object.defineProperty(e,t,{get:n,enumerable:!1})}function LN(e,t){let n=0;const r=t.length;for(let i=e.position.end.offset-1;i0===t&&t===n.length-1?e:0!==t&&t!==n.length-1?e.trim():0===t?e.trimEnd():e.trimStart());return"preserve"===n.proseWrap?r.map(e=>0===e.length?[]:[e]):r.map(e=>0===e.length?[]:WN(e)).reduce((t,n,i)=>0===i||0===r[i-1].length||0===n.length||"quoteDouble"===e&&AN(AN(t)).endsWith("\\")?t.concat([n]):t.concat([t.pop().concat(n)]),[]).map(e=>"never"===n.proseWrap?[e.join(" ")]:e)}function GN(e,{parentIndent:t,isLastDescendant:n,options:r}){const i=e.position.start.line===e.position.end.line?"":r.originalText.slice(e.position.start.offset,e.position.end.offset).match(/^[^\n]*?\n([\s\S]*)$/)[1],o=null===e.indent?(e=>e?e[1].length:1/0)(i.match(/^( *)\S/m)):e.indent-1+t,a=i.split("\n").map(e=>e.slice(o));return"preserve"===r.proseWrap||"blockLiteral"===e.type?s(a.map(e=>0===e.length?[]:[e])):s(a.map(e=>0===e.length?[]:WN(e)).reduce((e,t,n)=>0===n||0===a[n-1].length||0===t.length||/^\s/.test(t[0])||/^\s|\s$/.test(AN(e))?e.concat([t]):e.concat([e.pop().concat(t)]),[]).map(e=>e.reduce((e,t)=>0!==e.length&&/\s$/.test(AN(e))?e.concat(e.pop()+" "+t):e.concat(t),[])).map(e=>"never"===r.proseWrap?[e.join(" ")]:e));function s(t){if("keep"===e.chomping)return 0===AN(t).length?t.slice(0,-1):t;let r=0;for(let e=t.length-1;e>=0;e--){if(0!==t[e].length)break;r++}return 0===r?t:r>=2&&!n?t.slice(0,-(r-1)):t.slice(0,-r)}}var YN={getLast:AN,getAncestorCount:FN,isNode:TN,isEmptyNode:IN,mapNode:ON,defineShortcut:NN,isNextLineEmpty:LN,isLastDescendantNode:BN,getBlockValueLineContents:GN,getFlowScalarLineContents:UN,getLastDescendantNode:PN,hasPrettierIgnore:jN,hasLeadingComments:RN,hasMiddleComments:qN,hasIndicatorComment:zN,hasTrailingComment:VN,hasEndComments:HN};const{insertPragma:KN,isPragma:XN}=SN,{getAncestorCount:JN,getBlockValueLineContents:ZN,getFlowScalarLineContents:QN,getLast:eL,getLastDescendantNode:tL,hasLeadingComments:nL,hasMiddleComments:rL,hasIndicatorComment:iL,hasTrailingComment:oL,hasEndComments:aL,hasPrettierIgnore:sL,isLastDescendantNode:lL,isNextLineEmpty:uL,isNode:cL,isEmptyNode:hL,defineShortcut:pL,mapNode:dL}=YN,fL=Qu.builders,{conditionalGroup:mL,breakParent:gL,concat:vL,dedent:yL,dedentToRoot:bL,fill:DL,group:xL,hardline:wL,ifBreak:CL,join:_L,line:kL,lineSuffix:EL,literalline:SL,markAsRoot:AL,softline:FL}=fL,{replaceEndOfLineWith:TL}=mu;function OL(e){return dL(e,NL)}function NL(e){switch(e.type){case"document":pL(e,"head",()=>e.children[0]),pL(e,"body",()=>e.children[1]);break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":pL(e,"content",()=>e.children[0]);break;case"mappingItem":case"flowMappingItem":pL(e,"key",()=>e.children[0]),pL(e,"value",()=>e.children[1]);break}return e}function LL(e,t,n){const r=e.getValue(),i=e.getParentNode(),o=r.tag?e.call(n,"tag"):"",a=r.anchor?e.call(n,"anchor"):"",s=cL(r,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!lL(e)?VL(e,t.originalText):"";return vL(["mappingValue"!==r.type&&nL(r)?vL([_L(wL,e.map(n,"leadingComments")),wL]):"",o,o&&a?" ":"",a,o||a?cL(r,["sequence","mapping"])&&!rL(r)?wL:" ":"",rL(r)?vL([1===r.middleComments.length?"":wL,_L(wL,e.map(n,"middleComments")),wL]):"",sL(e)?vL(TL(t.originalText.slice(r.position.start.offset,r.position.end.offset),SL)):xL(BL(r,i,e,t,n)),oL(r)&&!cL(r,["document","documentHead"])?EL(vL(["mappingValue"!==r.type||r.content?" ":"","mappingKey"===i.type&&"mapping"===e.getParentNode(2).type&&ML(r)?"":gL,e.call(n,"trailingComment")])):"",s,aL(r)&&!cL(r,["documentHead","documentBody"])?PL("sequenceItem"===r.type?2:0,vL([wL,_L(wL,e.map(n,"endComments"))])):""])}function BL(e,t,n,r,i){switch(e.type){case"root":return vL([_L(wL,n.map((t,r)=>{const o=e.children[r],a=e.children[r+1];return vL([i(t),$L(o,a)?vL([wL,"...",oL(o)?vL([" ",n.call(i,"trailingComment")]):""]):!a||oL(a.head)?"":vL([wL,"---"])])},"children")),0===e.children.length||(e=>cL(e,["blockLiteral","blockFolded"])&&"keep"===e.chomping)(tL(e))?"":wL]);case"document":{const o=t.children[n.getName()+1];return _L(wL,["head"===RL(e,o,t,r)?_L(wL,[0===e.head.children.length&&0===e.head.endComments.length?"":n.call(i,"head"),vL(["---",oL(e.head)?vL([" ",n.call(i,"head","trailingComment")]):""])].filter(Boolean)):"",IL(e)?n.call(i,"body"):""].filter(Boolean))}case"documentHead":return _L(wL,[].concat(n.map(i,"children"),n.map(i,"endComments")));case"documentBody":{const t=_L(wL,n.map(i,"children")).parts,r=_L(wL,n.map(i,"endComments")).parts,o=0===t.length||0===r.length?"":(e=>cL(e,["blockFolded","blockLiteral"])?"keep"===e.chomping?"":vL([wL,wL]):wL)(tL(e));return vL([].concat(t,o,r))}case"directive":return vL(["%",_L(" ",[e.name].concat(e.parameters))]);case"comment":return vL(["#",e.value]);case"alias":return vL(["*",e.value]);case"tag":return r.originalText.slice(e.position.start.offset,e.position.end.offset);case"anchor":return vL(["&",e.value]);case"plain":return HL(e.type,r.originalText.slice(e.position.start.offset,e.position.end.offset),r);case"quoteDouble":case"quoteSingle":{const t="'",n='"',i=r.originalText.slice(e.position.start.offset+1,e.position.end.offset-1);if("quoteSingle"===e.type&&i.includes("\\")||"quoteDouble"===e.type&&/\\[^"]/.test(i)){const o="quoteDouble"===e.type?n:t;return vL([o,HL(e.type,i,r),o])}if(i.includes(n))return vL([t,HL(e.type,"quoteDouble"===e.type?i.replace(/\\"/g,n).replace(/'/g,t.repeat(2)):i,r),t]);if(i.includes(t))return vL([n,HL(e.type,"quoteSingle"===e.type?i.replace(/''/g,t):i,r),n]);const o=r.singleQuote?t:n;return vL([o,HL(e.type,i,r),o])}case"blockFolded":case"blockLiteral":{const t=JN(n,e=>cL(e,["sequence","mapping"])),o=lL(n);return vL(["blockFolded"===e.type?">":"|",null===e.indent?"":e.indent.toString(),"clip"===e.chomping?"":"keep"===e.chomping?"+":"-",iL(e)?vL([" ",n.call(i,"indicatorComment")]):"",(null===e.indent?yL:bL)(PL(null===e.indent?r.tabWidth:e.indent-1+t,vL(ZN(e,{parentIndent:t,isLastDescendant:o,options:r}).reduce((t,n,r,i)=>t.concat(0===r?wL:"",DL(_L(kL,n).parts),r!==i.length-1?0===n.length?wL:AL(SL):"keep"===e.chomping&&o?0===n.length?bL(wL):bL(SL):""),[]))))])}case"sequence":return _L(wL,n.map(i,"children"));case"sequenceItem":return vL(["- ",PL(2,e.content?n.call(i,"content"):"")]);case"mappingKey":return e.content?n.call(i,"content"):"";case"mappingValue":return e.content?n.call(i,"content"):"";case"mapping":return _L(wL,n.map(i,"children"));case"mappingItem":case"flowMappingItem":{const a=hL(e.key),s=hL(e.value);if(a&&s)return vL([": "]);const l=n.call(i,"key"),u=n.call(i,"value");if(s)return"flowMappingItem"===e.type&&"flowMapping"===t.type?l:"mappingItem"!==e.type||!qL(e.key.content,r)||oL(e.key.content)||t.tag&&"tag:yaml.org,2002:set"===t.tag.value?vL(["? ",PL(2,l)]):vL([l,zL(e)?" ":"",":"]);if(a)return vL([": ",PL(2,u)]);const c=Symbol("mappingKey"),h=nL(e.value)||!ML(e.key.content);return h?vL(["? ",PL(2,l),wL,_L("",n.map(i,"value","leadingComments").map(e=>vL([e,wL]))),": ",PL(2,u)]):!jL(e.key.content)||nL(e.key.content)||rL(e.key.content)||oL(e.key.content)||aL(e.key)||nL(e.value.content)||rL(e.value.content)||aL(e.value)||!qL(e.value.content,r)?mL([vL([xL(vL([CL("? "),xL(PL(2,l),{id:c})])),CL(vL([wL,": ",PL(2,u)]),o(vL([zL(e)?" ":"",":",nL(e.value.content)||aL(e.value)&&e.value.content&&!cL(e.value.content,["mapping","sequence"])||"mapping"===t.type&&oL(e.key.content)&&ML(e.value.content)||cL(e.value.content,["mapping","sequence"])&&null===e.value.content.tag&&null===e.value.content.anchor?wL:e.value.content?kL:"",u])),{groupId:c})])]):vL([l,zL(e)?" ":"",": ",u])}case"flowMapping":case"flowSequence":{const t="flowMapping"===e.type?"{":"[",a="flowMapping"===e.type?"}":"]",s="flowMapping"===e.type&&0!==e.children.length&&r.bracketSpacing?kL:FL,l=0!==e.children.length&&(e=>"flowMappingItem"===e.type&&hL(e.key)&&hL(e.value))(eL(e.children));return vL([t,o(vL([s,vL(n.map((t,n)=>vL([i(t),n===e.children.length-1?"":vL([",",kL,e.children[n].position.start.line!==e.children[n+1].position.start.line?VL(t,r.originalText):""])]),"children")),CL(",","")])),l?"":s,a])}case"flowSequenceItem":return n.call(i,"content");default:throw new Error("Unexpected node type ".concat(e.type))}function o(e){return fL.align(" ".repeat(r.tabWidth),e)}}function PL(e,t){return"number"===typeof e&&e>0?fL.align(" ".repeat(e),t):fL.align(e,t)}function ML(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":case"alias":case"flowMapping":case"flowSequence":return!0;default:return!1}}function jL(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":return e.position.start.line===e.position.end.line;case"alias":return!0;default:return!1}}function IL(e){return 0!==e.body.children.length||aL(e.body)}function $L(e,t){return oL(e)||t&&(0!==t.head.children.length||aL(t.head))}function RL(e,t,n,r){return n.children[0]===e&&/---(\s|$)/.test(r.originalText.slice(r.locStart(e),r.locStart(e)+4))||0!==e.head.children.length||aL(e.head)||oL(e.head)?"head":!$L(e,t)&&(!!t&&"root")}function qL(e,t){if(!e)return!0;switch(e.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if("preserve"===t.proseWrap)return e.position.start.line===e.position.end.line;if(/\\$/m.test(t.originalText.slice(e.position.start.offset,e.position.end.offset)))return!1;switch(t.proseWrap){case"never":return!e.value.includes("\n");case"always":return!/[\n ]/.test(e.value);default:return!1}}function zL(e){return e.key.content&&"alias"===e.key.content.type}function VL(e,t){const n=e.getValue(),r=e.stack[0];return r.isNextEmptyLinePrintedChecklist=r.isNextEmptyLinePrintedChecklist||[],!r.isNextEmptyLinePrintedChecklist[n.position.end.line]&&uL(n,t)?(r.isNextEmptyLinePrintedChecklist[n.position.end.line]=!0,FL):""}function HL(e,t,n){const r=QN(e,t,n);return _L(wL,r.map(e=>DL(_L(kL,e).parts)))}function WL(e,t){if(cL(t))switch(delete t.position,t.type){case"comment":if(XN(t.value))return null;break;case"quoteDouble":case"quoteSingle":t.type="quote";break}}var UL={preprocess:OL,print:LL,massageAstNode:WL,insertPragma:KN},GL={bracketSpacing:Tf.bracketSpacing,singleQuote:Tf.singleQuote,proseWrap:Tf.proseWrap},YL="YAML",KL="data",XL="source.yaml",JL=["yml"],ZL=[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],QL=[".clang-format",".clang-tidy",".gemrc","glide.lock","yarn.lock"],eB="yaml",tB="yaml",nB="text/x-yaml",rB=407,iB={name:YL,type:KL,tmScope:XL,aliases:JL,extensions:ZL,filenames:QL,aceMode:eB,codemirrorMode:tB,codemirrorMimeType:nB,languageId:rB},oB=Object.freeze({__proto__:null,name:YL,type:KL,tmScope:XL,aliases:JL,extensions:ZL,filenames:QL,aceMode:eB,codemirrorMode:tB,codemirrorMimeType:nB,languageId:rB,default:iB}),aB=Wt(oB);const sB=[Nf(aB,e=>({since:"1.14.0",parsers:["yaml"],vscodeLanguageIds:["yaml"],filenames:e.filenames.filter(e=>"yarn.lock"!==e)}))];var lB={languages:sB,printers:{yaml:UL},options:GL};const{version:uB}=Lr,{getSupportInfo:cB}=Ir,hB=[Sm,ug,mv,xw,wT,CN,lB];function pB(e,t=1){return(...n)=>{const r=n[t]||{},i=r.plugins||[];return n[t]=Object.assign({},r,{plugins:[...hB,...Array.isArray(i)?i:Object.values(i)]}),e(...n)}}const dB=pB(Bh.formatWithCursor);var fB={formatWithCursor:dB,format(e,t){return dB(e,t).formatted},check(e,t){const{formatted:n}=dB(e,t);return n===e},doc:Qu,getSupportInfo:pB(cB,0),version:uB,util:Cc,__debug:{parse:pB(Bh.parse),formatAST:pB(Bh.formatAST),formatDoc:pB(Bh.formatDoc),printToDoc:pB(Bh.printToDoc),printDocToString:pB(Bh.printDocToString)}},mB=fB;return mB}))}).call(this,n("c8ba"))},3397:function(e,t,n){var r=n("7a41");e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},"33b7":function(e,t,n){"use strict";var r=n("02cc"),i=n("44d1"),o=function(e,t,n){return t=i.extend({decodeEntities:!1},t||{}),e=n(e),r.load(e,t)},a=function(){var t=[],n=function(n){var r=e.exports.codeBlocks;return Object.keys(r).forEach((function(e){var i=new RegExp(r[e].start+"([\\S\\s]*?)"+r[e].end,"g");n=n.replace(i,(function(e,n){return t.push(e),"JUICE_CODE_BLOCK_"+(t.length-1)+"_"}))})),n},r=function(e){for(var n=0;n"},HBS:{start:"{{",end:"}}"}}},"342f":function(e,t,n){var r=n("d066");e.exports=r("navigator","userAgent")||""},"35a1":function(e,t,n){var r=n("f5df"),i=n("3f8c"),o=n("b622"),a=o("iterator");e.exports=function(e){if(void 0!=e)return e[a]||e["@@iterator"]||i[r(e)]}},"35ae":function(e,t,n){(function(e,n){var r=200,i="Expected a function",o="__lodash_hash_undefined__",a=1,s=2,l=1/0,u=9007199254740991,c="[object Arguments]",h="[object Array]",p="[object Boolean]",d="[object Date]",f="[object Error]",m="[object Function]",g="[object GeneratorFunction]",v="[object Map]",y="[object Number]",b="[object Object]",D="[object Promise]",x="[object RegExp]",w="[object Set]",C="[object String]",_="[object Symbol]",k="[object WeakMap]",E="[object ArrayBuffer]",S="[object DataView]",A="[object Float32Array]",F="[object Float64Array]",T="[object Int8Array]",O="[object Int16Array]",N="[object Int32Array]",L="[object Uint8Array]",B="[object Uint8ClampedArray]",P="[object Uint16Array]",M="[object Uint32Array]",j=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I=/^\w*$/,$=/^\./,R=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,q=/[\\^$.*+?()[\]{}|]/g,z=/\\(\\)?/g,V=/^\[object .+?Constructor\]$/,H=/^(?:0|[1-9]\d*)$/,W={};W[A]=W[F]=W[T]=W[O]=W[N]=W[L]=W[B]=W[P]=W[M]=!0,W[c]=W[h]=W[E]=W[p]=W[S]=W[d]=W[f]=W[m]=W[v]=W[y]=W[b]=W[x]=W[w]=W[C]=W[k]=!1;var U="object"==typeof e&&e&&e.Object===Object&&e,G="object"==typeof self&&self&&self.Object===Object&&self,Y=U||G||Function("return this")(),K=t&&!t.nodeType&&t,X=K&&"object"==typeof n&&n&&!n.nodeType&&n,J=X&&X.exports===K,Z=J&&U.process,Q=function(){try{return Z&&Z.binding("util")}catch(e){}}(),ee=Q&&Q.isTypedArray;function te(e,t){var n=-1,r=e?e.length:0,i=Array(r);while(++n-1}function Xe(e,t){var n=this.__data__,r=dt(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function Je(e){var t=-1,n=e?e.length:0;this.clear();while(++tu))return!1;var h=o.get(e);if(h&&o.get(t))return h==t;var p=-1,d=!0,f=i&a?new rt:void 0;o.set(e,t),o.set(t,e);while(++p-1&&e%1==0&&e-1&&e%1==0&&e<=u}function un(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function cn(e){return!!e&&"object"==typeof e}function hn(e){return"symbol"==typeof e||cn(e)&&ye.call(e)==_}var pn=ee?oe(ee):_t;function dn(e){return null==e?"":Ot(e)}function fn(e,t,n){var r=null==e?void 0:vt(e,t);return void 0===r?n:r}function mn(e,t){return null!=e&&zt(e,t,bt)}function gn(e){return on(e)?pt(e):Et(e)}function vn(e){return e}function yn(e){return Ht(e)?re(Jt(e)):Tt(e)}n.exports=Qt}).call(this,n("c8ba"),n("62e4")(e))},"36cc":function(e,t,n){var r=n("4d1e"),i=/\s+/g,o=n("01d0"),a=n("66ec");function s(e,t,n){"object"===typeof e?(n=t,t=e,e=null):"function"===typeof t&&(n=t,t=l),this._callback=e,this._options=t||l,this._elementCB=n,this.dom=[],this._done=!1,this._tagStack=[],this._parser=this._parser||null}var l={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1};s.prototype.onparserinit=function(e){this._parser=e},s.prototype.onreset=function(){s.call(this,this._callback,this._options,this._elementCB)},s.prototype.onend=function(){this._done||(this._done=!0,this._parser=null,this._handleCallback(null))},s.prototype._handleCallback=s.prototype.onerror=function(e){if("function"===typeof this._callback)this._callback(e,this.dom);else if(e)throw e},s.prototype.onclosetag=function(){var e=this._tagStack.pop();this._options.withEndIndices&&e&&(e.endIndex=this._parser.endIndex),this._elementCB&&this._elementCB(e)},s.prototype._createDomElement=function(e){if(!this._options.withDomLvl1)return e;var t;for(var n in t="tag"===e.type?Object.create(a):Object.create(o),e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t},s.prototype._addDomElement=function(e){var t=this._tagStack[this._tagStack.length-1],n=t?t.children:this.dom,r=n[n.length-1];e.next=null,this._options.withStartIndices&&(e.startIndex=this._parser.startIndex),this._options.withEndIndices&&(e.endIndex=this._parser.endIndex),r?(e.prev=r,r.next=e):e.prev=null,n.push(e),e.parent=t||null},s.prototype.onopentag=function(e,t){var n={type:"script"===e?r.Script:"style"===e?r.Style:r.Tag,name:e,attribs:t,children:[]},i=this._createDomElement(n);this._addDomElement(i),this._tagStack.push(i)},s.prototype.ontext=function(e){var t,n=this._options.normalizeWhitespace||this._options.ignoreWhitespace;if(!this._tagStack.length&&this.dom.length&&(t=this.dom[this.dom.length-1]).type===r.Text)n?t.data=(t.data+e).replace(i," "):t.data+=e;else if(this._tagStack.length&&(t=this._tagStack[this._tagStack.length-1])&&(t=t.children[t.children.length-1])&&t.type===r.Text)n?t.data=(t.data+e).replace(i," "):t.data+=e;else{n&&(e=e.replace(i," "));var o=this._createDomElement({data:e,type:r.Text});this._addDomElement(o)}},s.prototype.oncomment=function(e){var t=this._tagStack[this._tagStack.length-1];if(t&&t.type===r.Comment)t.data+=e;else{var n={data:e,type:r.Comment},i=this._createDomElement(n);this._addDomElement(i),this._tagStack.push(i)}},s.prototype.oncdatastart=function(){var e={children:[{data:"",type:r.Text}],type:r.CDATA},t=this._createDomElement(e);this._addDomElement(t),this._tagStack.push(t)},s.prototype.oncommentend=s.prototype.oncdataend=function(){this._tagStack.pop()},s.prototype.onprocessinginstruction=function(e,t){var n=this._createDomElement({name:e,data:t,type:r.Directive});this._addDomElement(n)},e.exports=s},"37e8":function(e,t,n){var r=n("83ab"),i=n("9bf2"),o=n("825a"),a=n("df75");e.exports=r?Object.defineProperties:function(e,t){o(e);var n,r=a(t),s=r.length,l=0;while(s>l)i.f(e,n=r[l++],t[n]);return e}},"387f":function(e,t,n){"use strict";e.exports=function(e,t,n,r,i){return e.config=t,n&&(e.code=n),e.request=r,e.response=i,e.isAxiosError=!0,e.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},e}},3934:function(e,t,n){"use strict";var r=n("c532");e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function i(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=i(window.location.href),function(t){var n=r.isString(t)?i(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return function(){return!0}}()},"393a":function(e,t,n){"use strict";var r=n("e444"),i=n("512c"),o=n("ba01"),a=n("051b"),s=n("8a0d"),l=n("26dd"),u=n("92f0"),c=n("ce7a"),h=n("cc15")("iterator"),p=!([].keys&&"next"in[].keys()),d="@@iterator",f="keys",m="values",g=function(){return this};e.exports=function(e,t,n,v,y,b,D){l(n,t,v);var x,w,C,_=function(e){if(!p&&e in A)return A[e];switch(e){case f:return function(){return new n(this,e)};case m:return function(){return new n(this,e)}}return function(){return new n(this,e)}},k=t+" Iterator",E=y==m,S=!1,A=e.prototype,F=A[h]||A[d]||y&&A[y],T=F||_(y),O=y?E?_("entries"):T:void 0,N="Array"==t&&A.entries||F;if(N&&(C=c(N.call(new e)),C!==Object.prototype&&C.next&&(u(C,k,!0),r||"function"==typeof C[h]||a(C,h,g))),E&&F&&F.name!==m&&(S=!0,T=function(){return F.call(this)}),r&&!D||!p&&!S&&A[h]||a(A,h,T),s[t]=T,s[k]=g,y)if(x={values:E?T:_(m),keys:b?T:_(f),entries:O},D)for(w in x)w in A||o(A,w,x[w]);else i(i.P+i.F*(p||S),t,x);return x}},"39ad":function(e,t,n){var r=n("6ca1"),i=n("d16a"),o=n("9d11");e.exports=function(e){return function(t,n,a){var s,l=r(t),u=i(l.length),c=o(a,u);if(e&&n!=n){while(u>c)if(s=l[c++],s!=s)return!0}else for(;u>c;c++)if((e||c in l)&&l[c]===n)return e||c||0;return!e&&-1}}},"3bbe":function(e,t,n){var r=n("861d");e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},"3c4e":function(e,t,n){"use strict";var r=function(e){return i(e)&&!o(e)};function i(e){return!!e&&"object"===typeof e}function o(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||l(e)}var a="function"===typeof Symbol&&Symbol.for,s=a?Symbol.for("react.element"):60103;function l(e){return e.$$typeof===s}function u(e){return Array.isArray(e)?[]:{}}function c(e,t){var n=t&&!0===t.clone;return n&&r(e)?d(u(e),e,t):e}function h(e,t,n){var i=e.slice();return t.forEach((function(t,o){"undefined"===typeof i[o]?i[o]=c(t,n):r(t)?i[o]=d(e[o],t,n):-1===e.indexOf(t)&&i.push(c(t,n))})),i}function p(e,t,n){var i={};return r(e)&&Object.keys(e).forEach((function(t){i[t]=c(e[t],n)})),Object.keys(t).forEach((function(o){r(t[o])&&e[o]?i[o]=d(e[o],t[o],n):i[o]=c(t[o],n)})),i}function d(e,t,n){var r=Array.isArray(t),i=Array.isArray(e),o=n||{arrayMerge:h},a=r===i;if(a){if(r){var s=o.arrayMerge||h;return s(e,t,n)}return p(e,t,n)}return c(t,n)}d.all=function(e,t){if(!Array.isArray(e)||e.length<2)throw new Error("first argument should be an array with at least two elements");return e.reduce((function(e,n){return d(e,n,t)}))};var f=d;e.exports=f},"3ca3":function(e,t,n){"use strict";var r=n("6547").charAt,i=n("69f3"),o=n("7dd0"),a="String Iterator",s=i.set,l=i.getterFor(a);o(String,"String",(function(e){s(this,{type:a,string:String(e),index:0})}),(function(){var e,t=l(this),n=t.string,i=t.index;return i>=n.length?{value:void 0,done:!0}:(e=r(n,i),t.index+=e.length,{value:e,done:!1})}))},"3f6b":function(e,t,n){e.exports={default:n("b9c7"),__esModule:!0}},"3f8c":function(e,t){e.exports={}},"3fb5":function(e,t){"function"===typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}}},4010:function(e,t,n){"use strict";t.__esModule=!0,t.removeResizeListener=t.addResizeListener=void 0;var r=n("6dd8"),i=o(r);function o(e){return e&&e.__esModule?e:{default:e}}var a="undefined"===typeof window,s=function(e){var t=e,n=Array.isArray(t),r=0;for(t=n?t:t[Symbol.iterator]();;){var i;if(n){if(r>=t.length)break;i=t[r++]}else{if(r=t.next(),r.done)break;i=r.value}var o=i,a=o.target.__resizeListeners__||[];a.length&&a.forEach((function(e){e()}))}};t.addResizeListener=function(e,t){a||(e.__resizeListeners__||(e.__resizeListeners__=[],e.__ro__=new i.default(s),e.__ro__.observe(e)),e.__resizeListeners__.push(t))},t.removeResizeListener=function(e,t){e&&e.__resizeListeners__&&(e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(t),1),e.__resizeListeners__.length||e.__ro__.disconnect())}},4160:function(e,t,n){"use strict";var r=n("23e7"),i=n("17c2");r({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},"417f":function(e,t,n){"use strict";t.__esModule=!0;var r=n("2b0e"),i=a(r),o=n("5924");function a(e){return e&&e.__esModule?e:{default:e}}var s=[],l="@@clickoutsideContext",u=void 0,c=0;function h(e,t,n){return function(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!(n&&n.context&&r.target&&i.target)||e.contains(r.target)||e.contains(i.target)||e===r.target||n.context.popperElm&&(n.context.popperElm.contains(r.target)||n.context.popperElm.contains(i.target))||(t.expression&&e[l].methodName&&n.context[e[l].methodName]?n.context[e[l].methodName]():e[l].bindingFn&&e[l].bindingFn())}}!i.default.prototype.$isServer&&(0,o.on)(document,"mousedown",(function(e){return u=e})),!i.default.prototype.$isServer&&(0,o.on)(document,"mouseup",(function(e){s.forEach((function(t){return t[l].documentHandler(e,u)}))})),t.default={bind:function(e,t,n){s.push(e);var r=c++;e[l]={id:r,documentHandler:h(e,t,n),methodName:t.expression,bindingFn:t.value}},update:function(e,t,n){e[l].documentHandler=h(e,t,n),e[l].methodName=t.expression,e[l].bindingFn=t.value},unbind:function(e){for(var t=s.length,n=0;n=0;s--)(t.fontFaces&&"font-face"===o[s].type||t.mediaQueries&&"media"===o[s].type||t.keyFrames&&"keyframes"===o[s].type||t.pseudos&&o[s].selectors&&this.matchesPseudo(o[s].selectors[0],n))&&a.unshift(r.stringify({stylesheet:{rules:[o[s]]}},{comments:!1,indentation:" "})),o[s].position.start;return 0!==a.length&&"\n"+a.join("\n")+"\n"},t.normalizeLineEndings=function(e){return e.replace(/\r\n/g,"\n").replace(/\n/g,"\r\n")},t.matchesPseudo=function(e,t){return t.find((function(t){return e.indexOf(t)>-1}))},t.compareFunc=function(e,t){for(var n=Math.min(e.length,t.length),r=0;rt[r]?1:-1;return e.length-t.length},t.compare=function(e,n){return 1==t.compareFunc(e,n)?e:n},t.extend=function(e,t){for(var n in t)i.call(t,n)&&(e[n]=t[n]);return e},t.getDefaultOptions=function(e){var n=t.extend({extraCss:"",insertPreservedExtraCss:!0,applyStyleTags:!0,removeStyleTags:!0,preserveMediaQueries:!0,preserveFontFaces:!0,preserveKeyFrames:!0,preservePseudos:!0,applyWidthAttributes:!0,applyHeightAttributes:!0,applyAttributesTableElements:!0,url:""},e);return n.webResources=n.webResources||{},n}},"44d2":function(e,t,n){var r=n("b622"),i=n("7c73"),o=n("9bf2"),a=r("unscopables"),s=Array.prototype;void 0==s[a]&&o.f(s,a,{configurable:!0,value:i(null)}),e.exports=function(e){s[a][e]=!0}},"44de":function(e,t,n){var r=n("da84");e.exports=function(e,t){var n=r.console;n&&n.error&&(1===arguments.length?n.error(e):n.error(e,t))}},"44e7":function(e,t,n){var r=n("861d"),i=n("c6b6"),o=n("b622"),a=o("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[a])?!!t:"RegExp"==i(e))}},"466b":function(e,t,n){"use strict";var r=n("33b7"),i=n("492c"),o=i((function(e,t){return r(e,{xmlMode:t&&t.xmlMode},a,[t])})),a=function(e,t){return o.juiceDocument(e,t)};o.inlineContent=function(e,t,n){return r(e,{xmlMode:n&&n.xmlMode},o.inlineDocument,[t,n])},e.exports=o},"467f":function(e,t,n){"use strict";var r=n("2d83");e.exports=function(e,t,n){var i=n.config.validateStatus;!i||i(n.status)?e(n):t(r("Request failed with status code "+n.status,n.config,null,n.request,n))}},4726:function(e,t,n){e.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=59)}({0:function(e,t,n){"use strict";function r(e,t,n,r,i,o,a,s){var l,u="function"===typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),o&&(u._scopeId="data-v-"+o),a?(l=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},u._ssrRegister=l):i&&(l=s?function(){i.call(this,this.$root.$options.shadowRoot)}:i),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var h=u.beforeCreate;u.beforeCreate=h?[].concat(h,l):[l]}return{exports:e,options:u}}n.d(t,"a",(function(){return r}))},14:function(e,t){e.exports=n("14e9")},18:function(e,t){e.exports=n("dcdc")},21:function(e,t){e.exports=n("d397")},26:function(e,t){e.exports=n("92fa")},3:function(e,t){e.exports=n("8122")},31:function(e,t){e.exports=n("2a5e")},32:function(e,t){e.exports=n("e452")},51:function(e,t){e.exports=n("f494")},59:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{class:["el-cascader-panel",e.border&&"is-bordered"],on:{keydown:e.handleKeyDown}},e._l(e.menus,(function(e,t){return n("cascader-menu",{key:t,ref:"menu",refInFor:!0,attrs:{index:t,nodes:e}})})),1)},i=[];r._withStripped=!0;var o,a,s=n(26),l=n.n(s),u=n(14),c=n.n(u),h=n(18),p=n.n(h),d=n(51),f=n.n(d),m=n(3),g=function(e){return e.stopPropagation()},v={inject:["panel"],components:{ElCheckbox:p.a,ElRadio:f.a},props:{node:{required:!0},nodeId:String},computed:{config:function(){return this.panel.config},isLeaf:function(){return this.node.isLeaf},isDisabled:function(){return this.node.isDisabled},checkedValue:function(){return this.panel.checkedValue},isChecked:function(){return this.node.isSameNode(this.checkedValue)},inActivePath:function(){return this.isInPath(this.panel.activePath)},inCheckedPath:function(){var e=this;return!!this.config.checkStrictly&&this.panel.checkedNodePaths.some((function(t){return e.isInPath(t)}))},value:function(){return this.node.getValueByOption()}},methods:{handleExpand:function(){var e=this,t=this.panel,n=this.node,r=this.isDisabled,i=this.config,o=i.multiple,a=i.checkStrictly;!a&&r||n.loading||(i.lazy&&!n.loaded?t.lazyLoad(n,(function(){var t=e.isLeaf;if(t||e.handleExpand(),o){var r=!!t&&n.checked;e.handleMultiCheckChange(r)}})):t.handleExpand(n))},handleCheckChange:function(){var e=this.panel,t=this.value,n=this.node;e.handleCheckChange(t),e.handleExpand(n)},handleMultiCheckChange:function(e){this.node.doCheck(e),this.panel.calculateMultiCheckedValue()},isInPath:function(e){var t=this.node,n=e[t.level-1]||{};return n.uid===t.uid},renderPrefix:function(e){var t=this.isLeaf,n=this.isChecked,r=this.config,i=r.checkStrictly,o=r.multiple;return o?this.renderCheckbox(e):i?this.renderRadio(e):t&&n?this.renderCheckIcon(e):null},renderPostfix:function(e){var t=this.node,n=this.isLeaf;return t.loading?this.renderLoadingIcon(e):n?null:this.renderExpandIcon(e)},renderCheckbox:function(e){var t=this.node,n=this.config,r=this.isDisabled,i={on:{change:this.handleMultiCheckChange},nativeOn:{}};return n.checkStrictly&&(i.nativeOn.click=g),e("el-checkbox",l()([{attrs:{value:t.checked,indeterminate:t.indeterminate,disabled:r}},i]))},renderRadio:function(e){var t=this.checkedValue,n=this.value,r=this.isDisabled;return Object(m["isEqual"])(n,t)&&(n=t),e("el-radio",{attrs:{value:t,label:n,disabled:r},on:{change:this.handleCheckChange},nativeOn:{click:g}},[e("span")])},renderCheckIcon:function(e){return e("i",{class:"el-icon-check el-cascader-node__prefix"})},renderLoadingIcon:function(e){return e("i",{class:"el-icon-loading el-cascader-node__postfix"})},renderExpandIcon:function(e){return e("i",{class:"el-icon-arrow-right el-cascader-node__postfix"})},renderContent:function(e){var t=this.panel,n=this.node,r=t.renderLabelFn,i=r?r({node:n,data:n.data}):null;return e("span",{class:"el-cascader-node__label"},[i||n.label])}},render:function(e){var t=this,n=this.inActivePath,r=this.inCheckedPath,i=this.isChecked,o=this.isLeaf,a=this.isDisabled,s=this.config,u=this.nodeId,c=s.expandTrigger,h=s.checkStrictly,p=s.multiple,d=!h&&a,f={on:{}};return"click"===c?f.on.click=this.handleExpand:(f.on.mouseenter=function(e){t.handleExpand(),t.$emit("expand",e)},f.on.focus=function(e){t.handleExpand(),t.$emit("expand",e)}),!o||a||h||p||(f.on.click=this.handleCheckChange),e("li",l()([{attrs:{role:"menuitem",id:u,"aria-expanded":n,tabindex:d?null:-1},class:{"el-cascader-node":!0,"is-selectable":h,"in-active-path":n,"in-checked-path":r,"is-active":i,"is-disabled":d}},f]),[this.renderPrefix(e),this.renderContent(e),this.renderPostfix(e)])}},y=v,b=n(0),D=Object(b["a"])(y,o,a,!1,null,null,null);D.options.__file="packages/cascader-panel/src/cascader-node.vue";var x,w,C=D.exports,_=n(6),k=n.n(_),E={name:"ElCascaderMenu",mixins:[k.a],inject:["panel"],components:{ElScrollbar:c.a,CascaderNode:C},props:{nodes:{type:Array,required:!0},index:Number},data:function(){return{activeNode:null,hoverTimer:null,id:Object(m["generateId"])()}},computed:{isEmpty:function(){return!this.nodes.length},menuId:function(){return"cascader-menu-"+this.id+"-"+this.index}},methods:{handleExpand:function(e){this.activeNode=e.target},handleMouseMove:function(e){var t=this.activeNode,n=this.hoverTimer,r=this.$refs.hoverZone;if(t&&r)if(t.contains(e.target)){clearTimeout(n);var i=this.$el.getBoundingClientRect(),o=i.left,a=e.clientX-o,s=this.$el,l=s.offsetWidth,u=s.offsetHeight,c=t.offsetTop,h=c+t.offsetHeight;r.innerHTML='\n \n \n '}else n||(this.hoverTimer=setTimeout(this.clearHoverZone,this.panel.config.hoverThreshold))},clearHoverZone:function(){var e=this.$refs.hoverZone;e&&(e.innerHTML="")},renderEmptyText:function(e){return e("div",{class:"el-cascader-menu__empty-text"},[this.t("el.cascader.noData")])},renderNodeList:function(e){var t=this.menuId,n=this.panel.isHoverMenu,r={on:{}};n&&(r.on.expand=this.handleExpand);var i=this.nodes.map((function(n,i){var o=n.hasChildren;return e("cascader-node",l()([{key:n.uid,attrs:{node:n,"node-id":t+"-"+i,"aria-haspopup":o,"aria-owns":o?t:null}},r]))}));return[].concat(i,[n?e("svg",{ref:"hoverZone",class:"el-cascader-menu__hover-zone"}):null])}},render:function(e){var t=this.isEmpty,n=this.menuId,r={nativeOn:{}};return this.panel.isHoverMenu&&(r.nativeOn.mousemove=this.handleMouseMove),e("el-scrollbar",l()([{attrs:{tag:"ul",role:"menu",id:n,"wrap-class":"el-cascader-menu__wrap","view-class":{"el-cascader-menu__list":!0,"is-empty":t}},class:"el-cascader-menu"},r]),[t?this.renderEmptyText(e):this.renderNodeList(e)])}},S=E,A=Object(b["a"])(S,x,w,!1,null,null,null);A.options.__file="packages/cascader-panel/src/cascader-menu.vue";var F=A.exports,T=n(21),O=function(){function e(e,t){for(var n=0;n1?t-1:0),r=1;r1?r-1:0),o=1;o0},e.prototype.syncCheckState=function(e){var t=this.getValueByOption(),n=this.isSameNode(e,t);this.doCheck(n)},e.prototype.doCheck=function(e){this.checked!==e&&(this.config.checkStrictly?this.checked=e:(this.broadcast("check",e),this.setCheckState(e),this.emit("check")))},O(e,[{key:"isDisabled",get:function(){var e=this.data,t=this.parent,n=this.config,r=n.disabled,i=n.checkStrictly;return e[r]||!i&&t&&t.isDisabled}},{key:"isLeaf",get:function(){var e=this.data,t=this.loaded,n=this.hasChildren,r=this.children,i=this.config,o=i.lazy,a=i.leaf;if(o){var s=Object(T["isDef"])(e[a])?e[a]:!!t&&!r.length;return this.hasChildren=!s,s}return!n}}]),e}(),P=B;function M(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var j=function e(t,n){return t.reduce((function(t,r){return r.isLeaf?t.push(r):(!n&&t.push(r),t=t.concat(e(r.children,n))),t}),[])},I=function(){function e(t,n){M(this,e),this.config=n,this.initNodes(t)}return e.prototype.initNodes=function(e){var t=this;e=Object(m["coerceTruthyValueToArray"])(e),this.nodes=e.map((function(e){return new P(e,t.config)})),this.flattedNodes=this.getFlattedNodes(!1,!1),this.leafNodes=this.getFlattedNodes(!0,!1)},e.prototype.appendNode=function(e,t){var n=new P(e,this.config,t),r=t?t.children:this.nodes;r.push(n)},e.prototype.appendNodes=function(e,t){var n=this;e=Object(m["coerceTruthyValueToArray"])(e),e.forEach((function(e){return n.appendNode(e,t)}))},e.prototype.getNodes=function(){return this.nodes},e.prototype.getFlattedNodes=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e?this.leafNodes:this.flattedNodes;return t?n:j(this.nodes,e)},e.prototype.getNodeByValue=function(e){if(e){var t=this.getFlattedNodes(!1,!this.config.lazy).filter((function(t){return Object(m["valueEquals"])(t.path,e)||t.value===e}));return t&&t.length?t[0]:null}return null},e}(),$=I,R=n(9),q=n.n(R),z=n(32),V=n.n(z),H=n(31),W=n.n(H),U=Object.assign||function(e){for(var t=1;t0){var l=n.store.getNodeByValue(o);l.data[s]||n.lazyLoad(l,(function(){n.handleExpand(l)})),n.loadCount===n.checkedValue.length&&n.$parent.computePresentText()}}t&&t(r)};r.lazyLoad(e,i)},calculateMultiCheckedValue:function(){this.checkedValue=this.getCheckedNodes(this.leafOnly).map((function(e){return e.getValueByOption()}))},scrollIntoView:function(){if(!this.$isServer){var e=this.$refs.menu||[];e.forEach((function(e){var t=e.$el;if(t){var n=t.querySelector(".el-scrollbar__wrap"),r=t.querySelector(".el-cascader-node.is-active")||t.querySelector(".el-cascader-node.in-active-path");W()(n,r)}}))}},getNodeByValue:function(e){return this.store.getNodeByValue(e)},getFlattedNodes:function(e){var t=!this.config.lazy;return this.store.getFlattedNodes(e,t)},getCheckedNodes:function(e){var t=this.checkedValue,n=this.multiple;if(n){var r=this.getFlattedNodes(e);return r.filter((function(e){return e.checked}))}return Object(m["isEmpty"])(t)?[]:[this.getNodeByValue(t)]},clearCheckedNodes:function(){var e=this.config,t=this.leafOnly,n=e.multiple,r=e.emitPath;n?(this.getCheckedNodes(t).filter((function(e){return!e.isDisabled})).forEach((function(e){return e.doCheck(!1)})),this.calculateMultiCheckedValue()):this.checkedValue=r?[]:null}}},te=ee,ne=Object(b["a"])(te,r,i,!1,null,null,null);ne.options.__file="packages/cascader-panel/src/cascader-panel.vue";var re=ne.exports;re.install=function(e){e.component(re.name,re)};t["default"]=re},6:function(e,t){e.exports=n("6b7c")},9:function(e,t){e.exports=n("7f4d")}})},4840:function(e,t,n){var r=n("825a"),i=n("1c0b"),o=n("b622"),a=o("species");e.exports=function(e,t){var n,o=r(e).constructor;return void 0===o||void 0==(n=r(o)[a])?t:i(n)}},"4840e":function(e,t,n){(function(e,n){var r=200,i="Expected a function",o="__lodash_hash_undefined__",a=1,s=2,l=1/0,u=9007199254740991,c="[object Arguments]",h="[object Array]",p="[object Boolean]",d="[object Date]",f="[object Error]",m="[object Function]",g="[object GeneratorFunction]",v="[object Map]",y="[object Number]",b="[object Object]",D="[object Promise]",x="[object RegExp]",w="[object Set]",C="[object String]",_="[object Symbol]",k="[object WeakMap]",E="[object ArrayBuffer]",S="[object DataView]",A="[object Float32Array]",F="[object Float64Array]",T="[object Int8Array]",O="[object Int16Array]",N="[object Int32Array]",L="[object Uint8Array]",B="[object Uint8ClampedArray]",P="[object Uint16Array]",M="[object Uint32Array]",j=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,I=/^\w*$/,$=/^\./,R=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,q=/[\\^$.*+?()[\]{}|]/g,z=/\\(\\)?/g,V=/^\[object .+?Constructor\]$/,H=/^(?:0|[1-9]\d*)$/,W={};W[A]=W[F]=W[T]=W[O]=W[N]=W[L]=W[B]=W[P]=W[M]=!0,W[c]=W[h]=W[E]=W[p]=W[S]=W[d]=W[f]=W[m]=W[v]=W[y]=W[b]=W[x]=W[w]=W[C]=W[k]=!1;var U="object"==typeof e&&e&&e.Object===Object&&e,G="object"==typeof self&&self&&self.Object===Object&&self,Y=U||G||Function("return this")(),K=t&&!t.nodeType&&t,X=K&&"object"==typeof n&&n&&!n.nodeType&&n,J=X&&X.exports===K,Z=J&&U.process,Q=function(){try{return Z&&Z.binding("util")}catch(e){}}(),ee=Q&&Q.isTypedArray;function te(e,t,n,r){var i=-1,o=e?e.length:0;r&&o&&(n=e[++i]);while(++i-1}function Je(e,t){var n=this.__data__,r=ft(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function Ze(e){var t=-1,n=e?e.length:0;this.clear();while(++tu))return!1;var h=o.get(e);if(h&&o.get(t))return h==t;var p=-1,d=!0,f=i&a?new it:void 0;o.set(e,t),o.set(t,e);while(++p-1&&e%1==0&&e-1&&e%1==0&&e<=u}function un(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function cn(e){return!!e&&"object"==typeof e}function hn(e){return"symbol"==typeof e||cn(e)&&be.call(e)==_}var pn=ee?ae(ee):kt;function dn(e){return null==e?"":Ot(e)}function fn(e,t,n){var r=null==e?void 0:yt(e,t);return void 0===r?n:r}function mn(e,t){return null!=e&&zt(e,t,Dt)}function gn(e){return on(e)?dt(e):St(e)}function vn(e){return e}function yn(e){return Ht(e)?re(Jt(e)):Tt(e)}n.exports=Qt}).call(this,n("c8ba"),n("62e4")(e))},4897:function(e,t,n){"use strict";t.__esModule=!0,t.i18n=t.use=t.t=void 0;var r=n("f0d9"),i=h(r),o=n("2b0e"),a=h(o),s=n("3c4e"),l=h(s),u=n("9d7e"),c=h(u);function h(e){return e&&e.__esModule?e:{default:e}}var p=(0,c.default)(a.default),d=i.default,f=!1,m=function(){var e=Object.getPrototypeOf(this||a.default).$t;if("function"===typeof e&&a.default.locale)return f||(f=!0,a.default.locale(a.default.config.lang,(0,l.default)(d,a.default.locale(a.default.config.lang)||{},{clone:!0}))),e.apply(this,arguments)},g=t.t=function(e,t){var n=m.apply(this,arguments);if(null!==n&&void 0!==n)return n;for(var r=e.split("."),i=d,o=0,a=r.length;o"+h+"")}}function d(n){for(var o,l=n[0],h=n[1],p=new r.Selector(l),d=p.parsed(),f=i(d),m=0;m=0)return}}if(f){var b=d[d.length-1],D=b.pseudos;b.pseudos=a(b.pseudos),l=d.toString(),b.pseudos=D}try{o=t(l)}catch(x){return}o.each((function(){var n=this;if(!(n.name&&e.nonVisualElements.indexOf(n.name.toUpperCase())>=0)){if(f){var i="pseudo"+f,o=n[i];o||(o=n[i]=t("").get(0),o.pseudoElementType=f,o.pseudoElementParent=n,n[i]=o),n=o}if(!n.styleProps){if(n.styleProps={},t(n).attr(c)){var a="* { "+t(n).attr(c)+" } ";l(r.parseCSS(a)[0][1],new r.Selector("\n * css``\n * css.global``\n * css.resolve``\n */\n\n\n function isStyledJsx(path) {\n const node = path.getValue();\n const parent = path.getParentNode();\n const parentParent = path.getParentNode(1);\n return parentParent && node.quasis && parent.type === \"JSXExpressionContainer\" && parentParent.type === \"JSXElement\" && parentParent.openingElement.name.name === \"style\" && parentParent.openingElement.attributes.some(attribute => attribute.name.name === \"jsx\") || parent && parent.type === \"TaggedTemplateExpression\" && parent.tag.type === \"Identifier\" && parent.tag.name === \"css\" || parent && parent.type === \"TaggedTemplateExpression\" && parent.tag.type === \"MemberExpression\" && parent.tag.object.name === \"css\" && (parent.tag.property.name === \"global\" || parent.tag.property.name === \"resolve\");\n }\n /**\n * Angular Components can have:\n * - Inline HTML template\n * - Inline CSS styles\n *\n * ...which are both within template literals somewhere\n * inside of the Component decorator factory.\n *\n * E.g.\n * @Component({\n * template: `
    ...
    `,\n * styles: [`h1 { color: blue; }`]\n * })\n */\n\n\n function isAngularComponentStyles(path) {\n return path.match(node => node.type === \"TemplateLiteral\", (node, name) => node.type === \"ArrayExpression\" && name === \"elements\", (node, name) => (node.type === \"Property\" || node.type === \"ObjectProperty\") && node.key.type === \"Identifier\" && node.key.name === \"styles\" && name === \"value\", ...angularComponentObjectExpressionPredicates);\n }\n\n function isAngularComponentTemplate(path) {\n return path.match(node => node.type === \"TemplateLiteral\", (node, name) => (node.type === \"Property\" || node.type === \"ObjectProperty\") && node.key.type === \"Identifier\" && node.key.name === \"template\" && name === \"value\", ...angularComponentObjectExpressionPredicates);\n }\n\n const angularComponentObjectExpressionPredicates = [(node, name) => node.type === \"ObjectExpression\" && name === \"properties\", (node, name) => node.type === \"CallExpression\" && node.callee.type === \"Identifier\" && node.callee.name === \"Component\" && name === \"arguments\", (node, name) => node.type === \"Decorator\" && name === \"expression\"];\n /**\n * styled-components template literals\n */\n\n function isStyledComponents(path) {\n const parent = path.getParentNode();\n\n if (!parent || parent.type !== \"TaggedTemplateExpression\") {\n return false;\n }\n\n const {\n tag\n } = parent;\n\n switch (tag.type) {\n case \"MemberExpression\":\n return (// styled.foo``\n isStyledIdentifier(tag.object) || // Component.extend``\n isStyledExtend(tag)\n );\n\n case \"CallExpression\":\n return (// styled(Component)``\n isStyledIdentifier(tag.callee) || tag.callee.type === \"MemberExpression\" && (tag.callee.object.type === \"MemberExpression\" && ( // styled.foo.attrs({})``\n isStyledIdentifier(tag.callee.object.object) || // Component.extend.attrs({})``\n isStyledExtend(tag.callee.object)) || // styled(Component).attrs({})``\n tag.callee.object.type === \"CallExpression\" && isStyledIdentifier(tag.callee.object.callee))\n );\n\n case \"Identifier\":\n // css``\n return tag.name === \"css\";\n\n default:\n return false;\n }\n }\n /**\n * JSX element with CSS prop\n */\n\n\n function isCssProp(path) {\n const parent = path.getParentNode();\n const parentParent = path.getParentNode(1);\n return parentParent && parent.type === \"JSXExpressionContainer\" && parentParent.type === \"JSXAttribute\" && parentParent.name.type === \"JSXIdentifier\" && parentParent.name.name === \"css\";\n }\n\n function isStyledIdentifier(node) {\n return node.type === \"Identifier\" && node.name === \"styled\";\n }\n\n function isStyledExtend(node) {\n return /^[A-Z]/.test(node.object.name) && node.property.name === \"extend\";\n }\n /*\n * react-relay and graphql-tag\n * graphql`...`\n * graphql.experimental`...`\n * gql`...`\n * GraphQL comment block\n *\n * This intentionally excludes Relay Classic tags, as Prettier does not\n * support Relay Classic formatting.\n */\n\n\n function isGraphQL(path) {\n const node = path.getValue();\n const parent = path.getParentNode();\n return hasLanguageComment(node, \"GraphQL\") || parent && (parent.type === \"TaggedTemplateExpression\" && (parent.tag.type === \"MemberExpression\" && parent.tag.object.name === \"graphql\" && parent.tag.property.name === \"experimental\" || parent.tag.type === \"Identifier\" && (parent.tag.name === \"gql\" || parent.tag.name === \"graphql\")) || parent.type === \"CallExpression\" && parent.callee.type === \"Identifier\" && parent.callee.name === \"graphql\");\n }\n\n function hasLanguageComment(node, languageName) {\n // This checks for a leading comment that is exactly `/* GraphQL */`\n // In order to be in line with other implementations of this comment tag\n // we will not trim the comment value and we will expect exactly one space on\n // either side of the GraphQL string\n // Also see ./clean.js\n return hasLeadingComment$1(node, comment => isBlockComment$1(comment) && comment.value === \" \".concat(languageName, \" \"));\n }\n /**\n * - html`...`\n * - HTML comment block\n */\n\n\n function isHtml(path) {\n return hasLanguageComment(path.getValue(), \"HTML\") || path.match(node => node.type === \"TemplateLiteral\", (node, name) => node.type === \"TaggedTemplateExpression\" && node.tag.type === \"Identifier\" && node.tag.name === \"html\" && name === \"quasi\");\n } // The counter is needed to distinguish nested embeds.\n\n\n let htmlTemplateLiteralCounter = 0;\n\n function printHtmlTemplateLiteral(path, print, textToDoc, parser, options) {\n const node = path.getValue();\n const counter = htmlTemplateLiteralCounter;\n htmlTemplateLiteralCounter = htmlTemplateLiteralCounter + 1 >>> 0;\n\n const composePlaceholder = index => \"PRETTIER_HTML_PLACEHOLDER_\".concat(index, \"_\").concat(counter, \"_IN_JS\");\n\n const text = node.quasis.map((quasi, index, quasis) => index === quasis.length - 1 ? quasi.value.cooked : quasi.value.cooked + composePlaceholder(index)).join(\"\");\n const expressionDocs = path.map(print, \"expressions\");\n\n if (expressionDocs.length === 0 && text.trim().length === 0) {\n return \"``\";\n }\n\n const placeholderRegex = new RegExp(composePlaceholder(\"(\\\\d+)\"), \"g\");\n let topLevelCount = 0;\n const contentDoc = mapDoc$3(stripTrailingHardline$2(textToDoc(text, {\n parser,\n\n __onHtmlRoot(root) {\n topLevelCount = root.children.length;\n }\n\n })), doc => {\n if (typeof doc !== \"string\") {\n return doc;\n }\n\n const parts = [];\n const components = doc.split(placeholderRegex);\n\n for (let i = 0; i < components.length; i++) {\n let component = components[i];\n\n if (i % 2 === 0) {\n if (component) {\n component = uncook(component);\n\n if (options.embeddedInHtml) {\n component = component.replace(/<\\/(script)\\b/gi, \"<\\\\/$1\");\n }\n\n parts.push(component);\n }\n\n continue;\n }\n\n const placeholderIndex = +component;\n parts.push(concat$b([\"${\", group$a(expressionDocs[placeholderIndex]), \"}\"]));\n }\n\n return concat$b(parts);\n });\n const leadingWhitespace = /^\\s/.test(text) ? \" \" : \"\";\n const trailingWhitespace = /\\s$/.test(text) ? \" \" : \"\";\n const linebreak = options.htmlWhitespaceSensitivity === \"ignore\" ? hardline$8 : leadingWhitespace && trailingWhitespace ? line$7 : null;\n\n if (linebreak) {\n return group$a(concat$b([\"`\", indent$6(concat$b([linebreak, group$a(contentDoc)])), linebreak, \"`\"]));\n }\n\n return group$a(concat$b([\"`\", leadingWhitespace, topLevelCount > 1 ? indent$6(group$a(contentDoc)) : group$a(contentDoc), trailingWhitespace, \"`\"]));\n }\n\n var embed_1$1 = embed$3;\n\n function clean$4(ast, newObj, parent) {\n [\"range\", \"raw\", \"comments\", \"leadingComments\", \"trailingComments\", \"innerComments\", \"extra\", \"start\", \"end\", \"flags\", \"errors\"].forEach(name => {\n delete newObj[name];\n });\n\n if (ast.loc && ast.loc.source === null) {\n delete newObj.loc.source;\n }\n\n if (ast.type === \"BigIntLiteral\") {\n newObj.value = newObj.value.toLowerCase();\n } // We remove extra `;` and add them when needed\n\n\n if (ast.type === \"EmptyStatement\") {\n return null;\n } // We move text around, including whitespaces and add {\" \"}\n\n\n if (ast.type === \"JSXText\") {\n return null;\n }\n\n if (ast.type === \"JSXExpressionContainer\" && ast.expression.type === \"Literal\" && ast.expression.value === \" \") {\n return null;\n } // (TypeScript) Ignore `static` in `constructor(static p) {}`\n // and `export` in `constructor(export p) {}`\n\n\n if (ast.type === \"TSParameterProperty\" && ast.accessibility === null && !ast.readonly) {\n return {\n type: \"Identifier\",\n name: ast.parameter.name,\n typeAnnotation: newObj.parameter.typeAnnotation,\n decorators: newObj.decorators\n };\n } // (TypeScript) ignore empty `specifiers` array\n\n\n if (ast.type === \"TSNamespaceExportDeclaration\" && ast.specifiers && ast.specifiers.length === 0) {\n delete newObj.specifiers;\n } // We convert
    to
    \n\n\n if (ast.type === \"JSXOpeningElement\") {\n delete newObj.selfClosing;\n }\n\n if (ast.type === \"JSXElement\") {\n delete newObj.closingElement;\n } // We change {'key': value} into {key: value}\n\n\n if ((ast.type === \"Property\" || ast.type === \"ObjectProperty\" || ast.type === \"MethodDefinition\" || ast.type === \"ClassProperty\" || ast.type === \"TSPropertySignature\" || ast.type === \"ObjectTypeProperty\") && typeof ast.key === \"object\" && ast.key && (ast.key.type === \"Literal\" || ast.key.type === \"StringLiteral\" || ast.key.type === \"Identifier\")) {\n delete newObj.key;\n }\n\n if (ast.type === \"OptionalMemberExpression\" && ast.optional === false) {\n newObj.type = \"MemberExpression\";\n delete newObj.optional;\n } // Remove raw and cooked values from TemplateElement when it's CSS\n // styled-jsx\n\n\n if (ast.type === \"JSXElement\" && ast.openingElement.name.name === \"style\" && ast.openingElement.attributes.some(attr => attr.name.name === \"jsx\")) {\n const templateLiterals = newObj.children.filter(child => child.type === \"JSXExpressionContainer\" && child.expression.type === \"TemplateLiteral\").map(container => container.expression);\n const quasis = templateLiterals.reduce((quasis, templateLiteral) => quasis.concat(templateLiteral.quasis), []);\n quasis.forEach(q => delete q.value);\n } // CSS template literals in css prop\n\n\n if (ast.type === \"JSXAttribute\" && ast.name.name === \"css\" && ast.value.type === \"JSXExpressionContainer\" && ast.value.expression.type === \"TemplateLiteral\") {\n newObj.value.expression.quasis.forEach(q => delete q.value);\n } // Angular Components: Inline HTML template and Inline CSS styles\n\n\n const expression = ast.expression || ast.callee;\n\n if (ast.type === \"Decorator\" && expression.type === \"CallExpression\" && expression.callee.name === \"Component\" && expression.arguments.length === 1) {\n const astProps = ast.expression.arguments[0].properties;\n newObj.expression.arguments[0].properties.forEach((prop, index) => {\n let templateLiteral = null;\n\n switch (astProps[index].key.name) {\n case \"styles\":\n if (prop.value.type === \"ArrayExpression\") {\n templateLiteral = prop.value.elements[0];\n }\n\n break;\n\n case \"template\":\n if (prop.value.type === \"TemplateLiteral\") {\n templateLiteral = prop.value;\n }\n\n break;\n }\n\n if (templateLiteral) {\n templateLiteral.quasis.forEach(q => delete q.value);\n }\n });\n } // styled-components, graphql, markdown\n\n\n if (ast.type === \"TaggedTemplateExpression\" && (ast.tag.type === \"MemberExpression\" || ast.tag.type === \"Identifier\" && (ast.tag.name === \"gql\" || ast.tag.name === \"graphql\" || ast.tag.name === \"css\" || ast.tag.name === \"md\" || ast.tag.name === \"markdown\" || ast.tag.name === \"html\") || ast.tag.type === \"CallExpression\")) {\n newObj.quasi.quasis.forEach(quasi => delete quasi.value);\n }\n\n if (ast.type === \"TemplateLiteral\") {\n // This checks for a leading comment that is exactly `/* GraphQL */`\n // In order to be in line with other implementations of this comment tag\n // we will not trim the comment value and we will expect exactly one space on\n // either side of the GraphQL string\n // Also see ./embed.js\n const hasLanguageComment = ast.leadingComments && ast.leadingComments.some(comment => comment.type === \"CommentBlock\" && [\"GraphQL\", \"HTML\"].some(languageName => comment.value === \" \".concat(languageName, \" \")));\n\n if (hasLanguageComment || parent.type === \"CallExpression\" && parent.callee.name === \"graphql\") {\n newObj.quasis.forEach(quasi => delete quasi.value);\n }\n }\n }\n\n var clean_1$1 = clean$4;\n\n const {\n getLast: getLast$2,\n hasNewline: hasNewline$4,\n hasNewlineInRange: hasNewlineInRange$2,\n hasIgnoreComment: hasIgnoreComment$3,\n hasNodeIgnoreComment: hasNodeIgnoreComment$1,\n skipWhitespace: skipWhitespace$2\n } = util$1;\n const isIdentifierName = utils$1.keyword.isIdentifierNameES5; // We match any whitespace except line terminators because\n // Flow annotation comments cannot be split across lines. For example:\n //\n // (this /*\n // : any */).foo = 5;\n //\n // is not picked up by Flow (see https://github.com/facebook/flow/issues/7050), so\n // removing the newline would create a type annotation that the user did not intend\n // to create.\n\n const NON_LINE_TERMINATING_WHITE_SPACE = \"(?:(?=.)\\\\s)\";\n const FLOW_SHORTHAND_ANNOTATION = new RegExp(\"^\".concat(NON_LINE_TERMINATING_WHITE_SPACE, \"*:\"));\n const FLOW_ANNOTATION = new RegExp(\"^\".concat(NON_LINE_TERMINATING_WHITE_SPACE, \"*::\"));\n\n function hasFlowShorthandAnnotationComment(node) {\n // https://flow.org/en/docs/types/comments/\n // Syntax example: const r = new (window.Request /*: Class */)(\"\");\n return node.extra && node.extra.parenthesized && node.trailingComments && node.trailingComments[0].value.match(FLOW_SHORTHAND_ANNOTATION);\n }\n\n function hasFlowAnnotationComment(comments) {\n return comments && comments[0].value.match(FLOW_ANNOTATION);\n }\n\n function hasNode(node, fn) {\n if (!node || typeof node !== \"object\") {\n return false;\n }\n\n if (Array.isArray(node)) {\n return node.some(value => hasNode(value, fn));\n }\n\n const result = fn(node);\n return typeof result === \"boolean\" ? result : Object.keys(node).some(key => hasNode(node[key], fn));\n }\n\n function hasNakedLeftSide(node) {\n return node.type === \"AssignmentExpression\" || node.type === \"BinaryExpression\" || node.type === \"LogicalExpression\" || node.type === \"NGPipeExpression\" || node.type === \"ConditionalExpression\" || node.type === \"CallExpression\" || node.type === \"OptionalCallExpression\" || node.type === \"MemberExpression\" || node.type === \"OptionalMemberExpression\" || node.type === \"SequenceExpression\" || node.type === \"TaggedTemplateExpression\" || node.type === \"BindExpression\" || node.type === \"UpdateExpression\" && !node.prefix || node.type === \"TSAsExpression\" || node.type === \"TSNonNullExpression\";\n }\n\n function getLeftSide(node) {\n if (node.expressions) {\n return node.expressions[0];\n }\n\n return node.left || node.test || node.callee || node.object || node.tag || node.argument || node.expression;\n }\n\n function getLeftSidePathName(path, node) {\n if (node.expressions) {\n return [\"expressions\", 0];\n }\n\n if (node.left) {\n return [\"left\"];\n }\n\n if (node.test) {\n return [\"test\"];\n }\n\n if (node.object) {\n return [\"object\"];\n }\n\n if (node.callee) {\n return [\"callee\"];\n }\n\n if (node.tag) {\n return [\"tag\"];\n }\n\n if (node.argument) {\n return [\"argument\"];\n }\n\n if (node.expression) {\n return [\"expression\"];\n }\n\n throw new Error(\"Unexpected node has no left side\", node);\n }\n\n const exportDeclarationTypes = new Set([\"ExportDefaultDeclaration\", \"ExportDefaultSpecifier\", \"DeclareExportDeclaration\", \"ExportNamedDeclaration\", \"ExportAllDeclaration\"]);\n\n function isExportDeclaration(node) {\n return node && exportDeclarationTypes.has(node.type);\n }\n\n function getParentExportDeclaration(path) {\n const parentNode = path.getParentNode();\n\n if (path.getName() === \"declaration\" && isExportDeclaration(parentNode)) {\n return parentNode;\n }\n\n return null;\n }\n\n function isLiteral(node) {\n return node.type === \"BooleanLiteral\" || node.type === \"DirectiveLiteral\" || node.type === \"Literal\" || node.type === \"NullLiteral\" || node.type === \"NumericLiteral\" || node.type === \"RegExpLiteral\" || node.type === \"StringLiteral\" || node.type === \"TemplateLiteral\" || node.type === \"TSTypeLiteral\" || node.type === \"JSXText\";\n }\n\n function isNumericLiteral(node) {\n return node.type === \"NumericLiteral\" || node.type === \"Literal\" && typeof node.value === \"number\";\n }\n\n function isStringLiteral(node) {\n return node.type === \"StringLiteral\" || node.type === \"Literal\" && typeof node.value === \"string\";\n }\n\n function isObjectType(n) {\n return n.type === \"ObjectTypeAnnotation\" || n.type === \"TSTypeLiteral\";\n }\n\n function isFunctionOrArrowExpression(node) {\n return node.type === \"FunctionExpression\" || node.type === \"ArrowFunctionExpression\";\n }\n\n function isFunctionOrArrowExpressionWithBody(node) {\n return node.type === \"FunctionExpression\" || node.type === \"ArrowFunctionExpression\" && node.body.type === \"BlockStatement\";\n }\n\n function isTemplateLiteral(node) {\n return node.type === \"TemplateLiteral\";\n } // `inject` is used in AngularJS 1.x, `async` in Angular 2+\n // example: https://docs.angularjs.org/guide/unit-testing#using-beforeall-\n\n\n function isAngularTestWrapper(node) {\n return (node.type === \"CallExpression\" || node.type === \"OptionalCallExpression\") && node.callee.type === \"Identifier\" && (node.callee.name === \"async\" || node.callee.name === \"inject\" || node.callee.name === \"fakeAsync\");\n }\n\n function isJSXNode(node) {\n return node.type === \"JSXElement\" || node.type === \"JSXFragment\";\n }\n\n function isTheOnlyJSXElementInMarkdown(options, path) {\n if (options.parentParser !== \"markdown\" && options.parentParser !== \"mdx\") {\n return false;\n }\n\n const node = path.getNode();\n\n if (!node.expression || !isJSXNode(node.expression)) {\n return false;\n }\n\n const parent = path.getParentNode();\n return parent.type === \"Program\" && parent.body.length === 1;\n } // Detect an expression node representing `{\" \"}`\n\n\n function isJSXWhitespaceExpression(node) {\n return node.type === \"JSXExpressionContainer\" && isLiteral(node.expression) && node.expression.value === \" \" && !node.expression.comments;\n }\n\n function isMemberExpressionChain(node) {\n if (node.type !== \"MemberExpression\" && node.type !== \"OptionalMemberExpression\") {\n return false;\n }\n\n if (node.object.type === \"Identifier\") {\n return true;\n }\n\n return isMemberExpressionChain(node.object);\n }\n\n function isGetterOrSetter(node) {\n return node.kind === \"get\" || node.kind === \"set\";\n }\n\n function sameLocStart(nodeA, nodeB, options) {\n return options.locStart(nodeA) === options.locStart(nodeB);\n } // TODO: This is a bad hack and we need a better way to distinguish between\n // arrow functions and otherwise\n\n\n function isFunctionNotation(node, options) {\n return isGetterOrSetter(node) || sameLocStart(node, node.value, options);\n } // Hack to differentiate between the following two which have the same ast\n // type T = { method: () => void };\n // type T = { method(): void };\n\n\n function isObjectTypePropertyAFunction(node, options) {\n return (node.type === \"ObjectTypeProperty\" || node.type === \"ObjectTypeInternalSlot\") && node.value.type === \"FunctionTypeAnnotation\" && !node.static && !isFunctionNotation(node, options);\n } // Hack to differentiate between the following two which have the same ast\n // declare function f(a): void;\n // var f: (a) => void;\n\n\n function isTypeAnnotationAFunction(node, options) {\n return (node.type === \"TypeAnnotation\" || node.type === \"TSTypeAnnotation\") && node.typeAnnotation.type === \"FunctionTypeAnnotation\" && !node.static && !sameLocStart(node, node.typeAnnotation, options);\n }\n\n const binaryishNodeTypes = new Set([\"BinaryExpression\", \"LogicalExpression\", \"NGPipeExpression\"]);\n\n function isBinaryish(node) {\n return binaryishNodeTypes.has(node.type);\n }\n\n function isMemberish(node) {\n return node.type === \"MemberExpression\" || node.type === \"OptionalMemberExpression\" || node.type === \"BindExpression\" && node.object;\n }\n\n function isSimpleFlowType(node) {\n const flowTypeAnnotations = [\"AnyTypeAnnotation\", \"NullLiteralTypeAnnotation\", \"GenericTypeAnnotation\", \"ThisTypeAnnotation\", \"NumberTypeAnnotation\", \"VoidTypeAnnotation\", \"EmptyTypeAnnotation\", \"MixedTypeAnnotation\", \"BooleanTypeAnnotation\", \"BooleanLiteralTypeAnnotation\", \"StringTypeAnnotation\"];\n return node && flowTypeAnnotations.includes(node.type) && !(node.type === \"GenericTypeAnnotation\" && node.typeParameters);\n }\n\n const unitTestRe = /^(skip|[fx]?(it|describe|test))$/;\n\n function isSkipOrOnlyBlock(node) {\n return (node.callee.type === \"MemberExpression\" || node.callee.type === \"OptionalMemberExpression\") && node.callee.object.type === \"Identifier\" && node.callee.property.type === \"Identifier\" && unitTestRe.test(node.callee.object.name) && (node.callee.property.name === \"only\" || node.callee.property.name === \"skip\");\n }\n\n function isUnitTestSetUp(n) {\n const unitTestSetUpRe = /^(before|after)(Each|All)$/;\n return n.callee.type === \"Identifier\" && unitTestSetUpRe.test(n.callee.name) && n.arguments.length === 1;\n } // eg; `describe(\"some string\", (done) => {})`\n\n\n function isTestCall(n, parent) {\n if (n.type !== \"CallExpression\") {\n return false;\n }\n\n if (n.arguments.length === 1) {\n if (isAngularTestWrapper(n) && parent && isTestCall(parent)) {\n return isFunctionOrArrowExpression(n.arguments[0]);\n }\n\n if (isUnitTestSetUp(n)) {\n return isAngularTestWrapper(n.arguments[0]);\n }\n } else if (n.arguments.length === 2 || n.arguments.length === 3) {\n if ((n.callee.type === \"Identifier\" && unitTestRe.test(n.callee.name) || isSkipOrOnlyBlock(n)) && (isTemplateLiteral(n.arguments[0]) || isStringLiteral(n.arguments[0]))) {\n // it(\"name\", () => { ... }, 2500)\n if (n.arguments[2] && !isNumericLiteral(n.arguments[2])) {\n return false;\n }\n\n return (n.arguments.length === 2 ? isFunctionOrArrowExpression(n.arguments[1]) : isFunctionOrArrowExpressionWithBody(n.arguments[1]) && n.arguments[1].params.length <= 1) || isAngularTestWrapper(n.arguments[1]);\n }\n }\n\n return false;\n }\n\n function hasLeadingComment$2(node) {\n return node.comments && node.comments.some(comment => comment.leading);\n }\n\n function hasTrailingComment(node) {\n return node.comments && node.comments.some(comment => comment.trailing);\n }\n\n function isCallOrOptionalCallExpression(node) {\n return node.type === \"CallExpression\" || node.type === \"OptionalCallExpression\";\n }\n\n function hasDanglingComments(node) {\n return node.comments && node.comments.some(comment => !comment.leading && !comment.trailing);\n }\n /** identify if an angular expression seems to have side effects */\n\n\n function hasNgSideEffect(path) {\n return hasNode(path.getValue(), node => {\n switch (node.type) {\n case undefined:\n return false;\n\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n case \"AssignmentExpression\":\n return true;\n }\n });\n }\n\n function isNgForOf(node, index, parentNode) {\n return node.type === \"NGMicrosyntaxKeyedExpression\" && node.key.name === \"of\" && index === 1 && parentNode.body[0].type === \"NGMicrosyntaxLet\" && parentNode.body[0].value === null;\n }\n /** @param node {import(\"estree\").TemplateLiteral} */\n\n\n function isSimpleTemplateLiteral(node) {\n if (node.expressions.length === 0) {\n return false;\n }\n\n return node.expressions.every(expr => {\n // Disallow comments since printDocToString can't print them here\n if (expr.comments) {\n return false;\n } // Allow `x` and `this`\n\n\n if (expr.type === \"Identifier\" || expr.type === \"ThisExpression\") {\n return true;\n } // Allow `a.b.c`, `a.b[c]`, and `this.x.y`\n\n\n if (expr.type === \"MemberExpression\" || expr.type === \"OptionalMemberExpression\") {\n let head = expr;\n\n while (head.type === \"MemberExpression\" || head.type === \"OptionalMemberExpression\") {\n if (head.property.type !== \"Identifier\" && head.property.type !== \"Literal\" && head.property.type !== \"StringLiteral\" && head.property.type !== \"NumericLiteral\") {\n return false;\n }\n\n head = head.object;\n\n if (head.comments) {\n return false;\n }\n }\n\n if (head.type === \"Identifier\" || head.type === \"ThisExpression\") {\n return true;\n }\n\n return false;\n }\n\n return false;\n });\n }\n\n function getFlowVariance(path) {\n if (!path.variance) {\n return null;\n } // Babel 7.0 currently uses variance node type, and flow should\n // follow suit soon:\n // https://github.com/babel/babel/issues/4722\n\n\n const variance = path.variance.kind || path.variance;\n\n switch (variance) {\n case \"plus\":\n return \"+\";\n\n case \"minus\":\n return \"-\";\n\n default:\n /* istanbul ignore next */\n return variance;\n }\n }\n\n function classPropMayCauseASIProblems(path) {\n const node = path.getNode();\n\n if (node.type !== \"ClassProperty\") {\n return false;\n }\n\n const name = node.key && node.key.name; // this isn't actually possible yet with most parsers available today\n // so isn't properly tested yet.\n\n if ((name === \"static\" || name === \"get\" || name === \"set\") && !node.value && !node.typeAnnotation) {\n return true;\n }\n }\n\n function classChildNeedsASIProtection(node) {\n if (!node) {\n return;\n }\n\n if (node.static || node.accessibility // TypeScript\n ) {\n return false;\n }\n\n if (!node.computed) {\n const name = node.key && node.key.name;\n\n if (name === \"in\" || name === \"instanceof\") {\n return true;\n }\n }\n\n switch (node.type) {\n case \"ClassProperty\":\n case \"TSAbstractClassProperty\":\n return node.computed;\n\n case \"MethodDefinition\": // Flow\n\n case \"TSAbstractMethodDefinition\": // TypeScript\n\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n {\n // Babel\n const isAsync = node.value ? node.value.async : node.async;\n const isGenerator = node.value ? node.value.generator : node.generator;\n\n if (isAsync || node.kind === \"get\" || node.kind === \"set\") {\n return false;\n }\n\n if (node.computed || isGenerator) {\n return true;\n }\n\n return false;\n }\n\n case \"TSIndexSignature\":\n return true;\n\n default:\n /* istanbul ignore next */\n return false;\n }\n }\n\n function getTypeScriptMappedTypeModifier(tokenNode, keyword) {\n if (tokenNode === \"+\") {\n return \"+\" + keyword;\n } else if (tokenNode === \"-\") {\n return \"-\" + keyword;\n }\n\n return keyword;\n }\n\n function hasNewlineBetweenOrAfterDecorators(node, options) {\n return hasNewlineInRange$2(options.originalText, options.locStart(node.decorators[0]), options.locEnd(getLast$2(node.decorators))) || hasNewline$4(options.originalText, options.locEnd(getLast$2(node.decorators)));\n } // Only space, newline, carriage return, and tab are treated as whitespace\n // inside JSX.\n\n\n const jsxWhitespaceChars = \" \\n\\r\\t\";\n const matchJsxWhitespaceRegex = new RegExp(\"([\" + jsxWhitespaceChars + \"]+)\");\n const containsNonJsxWhitespaceRegex = new RegExp(\"[^\" + jsxWhitespaceChars + \"]\"); // Meaningful if it contains non-whitespace characters,\n // or it contains whitespace without a new line.\n\n function isMeaningfulJSXText(node) {\n return isLiteral(node) && (containsNonJsxWhitespaceRegex.test(rawText(node)) || !/\\n/.test(rawText(node)));\n }\n\n function hasJsxIgnoreComment(path) {\n const node = path.getValue();\n const parent = path.getParentNode();\n\n if (!parent || !node || !isJSXNode(node) || !isJSXNode(parent)) {\n return false;\n } // Lookup the previous sibling, ignoring any empty JSXText elements\n\n\n const index = parent.children.indexOf(node);\n let prevSibling = null;\n\n for (let i = index; i > 0; i--) {\n const candidate = parent.children[i - 1];\n\n if (candidate.type === \"JSXText\" && !isMeaningfulJSXText(candidate)) {\n continue;\n }\n\n prevSibling = candidate;\n break;\n }\n\n return prevSibling && prevSibling.type === \"JSXExpressionContainer\" && prevSibling.expression.type === \"JSXEmptyExpression\" && prevSibling.expression.comments && prevSibling.expression.comments.find(comment => comment.value.trim() === \"prettier-ignore\");\n }\n\n function isEmptyJSXElement(node) {\n if (node.children.length === 0) {\n return true;\n }\n\n if (node.children.length > 1) {\n return false;\n } // if there is one text child and does not contain any meaningful text\n // we can treat the element as empty.\n\n\n const child = node.children[0];\n return isLiteral(child) && !isMeaningfulJSXText(child);\n }\n\n function hasPrettierIgnore$4(path) {\n return hasIgnoreComment$3(path) || hasJsxIgnoreComment(path);\n }\n\n function isLastStatement(path) {\n const parent = path.getParentNode();\n\n if (!parent) {\n return true;\n }\n\n const node = path.getValue();\n const body = (parent.body || parent.consequent).filter(stmt => stmt.type !== \"EmptyStatement\");\n return body && body[body.length - 1] === node;\n }\n\n function isFlowAnnotationComment(text, typeAnnotation, options) {\n const start = options.locStart(typeAnnotation);\n const end = skipWhitespace$2(text, options.locEnd(typeAnnotation));\n return text.slice(start, start + 2) === \"/*\" && text.slice(end, end + 2) === \"*/\";\n }\n\n function hasLeadingOwnLineComment(text, node, options) {\n if (isJSXNode(node)) {\n return hasNodeIgnoreComment$1(node);\n }\n\n const res = node.comments && node.comments.some(comment => comment.leading && hasNewline$4(text, options.locEnd(comment)));\n return res;\n } // This recurses the return argument, looking for the first token\n // (the leftmost leaf node) and, if it (or its parents) has any\n // leadingComments, returns true (so it can be wrapped in parens).\n\n\n function returnArgumentHasLeadingComment(options, argument) {\n if (hasLeadingOwnLineComment(options.originalText, argument, options)) {\n return true;\n }\n\n if (hasNakedLeftSide(argument)) {\n let leftMost = argument;\n let newLeftMost;\n\n while (newLeftMost = getLeftSide(leftMost)) {\n leftMost = newLeftMost;\n\n if (hasLeadingOwnLineComment(options.originalText, leftMost, options)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n function isStringPropSafeToCoerceToIdentifier(node, options) {\n return isStringLiteral(node.key) && isIdentifierName(node.key.value) && options.parser !== \"json\" && // With `--strictPropertyInitialization`, TS treats properties with quoted names differently than unquoted ones.\n // See https://github.com/microsoft/TypeScript/pull/20075\n !((options.parser === \"typescript\" || options.parser === \"babel-ts\") && node.type === \"ClassProperty\");\n }\n\n function isJestEachTemplateLiteral(node, parentNode) {\n /**\n * describe.each`table`(name, fn)\n * describe.only.each`table`(name, fn)\n * describe.skip.each`table`(name, fn)\n * test.each`table`(name, fn)\n * test.only.each`table`(name, fn)\n * test.skip.each`table`(name, fn)\n *\n * Ref: https://github.com/facebook/jest/pull/6102\n */\n const jestEachTriggerRegex = /^[xf]?(describe|it|test)$/;\n return parentNode.type === \"TaggedTemplateExpression\" && parentNode.quasi === node && parentNode.tag.type === \"MemberExpression\" && parentNode.tag.property.type === \"Identifier\" && parentNode.tag.property.name === \"each\" && (parentNode.tag.object.type === \"Identifier\" && jestEachTriggerRegex.test(parentNode.tag.object.name) || parentNode.tag.object.type === \"MemberExpression\" && parentNode.tag.object.property.type === \"Identifier\" && (parentNode.tag.object.property.name === \"only\" || parentNode.tag.object.property.name === \"skip\") && parentNode.tag.object.object.type === \"Identifier\" && jestEachTriggerRegex.test(parentNode.tag.object.object.name));\n }\n\n function templateLiteralHasNewLines(template) {\n return template.quasis.some(quasi => quasi.value.raw.includes(\"\\n\"));\n }\n\n function isTemplateOnItsOwnLine(n, text, options) {\n return (n.type === \"TemplateLiteral\" && templateLiteralHasNewLines(n) || n.type === \"TaggedTemplateExpression\" && templateLiteralHasNewLines(n.quasi)) && !hasNewline$4(text, options.locStart(n), {\n backwards: true\n });\n }\n\n function needsHardlineAfterDanglingComment(node) {\n if (!node.comments) {\n return false;\n }\n\n const lastDanglingComment = getLast$2(node.comments.filter(comment => !comment.leading && !comment.trailing));\n return lastDanglingComment && !comments$1.isBlockComment(lastDanglingComment);\n } // If we have nested conditional expressions, we want to print them in JSX mode\n // if there's at least one JSXElement somewhere in the tree.\n //\n // A conditional expression chain like this should be printed in normal mode,\n // because there aren't JSXElements anywhere in it:\n //\n // isA ? \"A\" : isB ? \"B\" : isC ? \"C\" : \"Unknown\";\n //\n // But a conditional expression chain like this should be printed in JSX mode,\n // because there is a JSXElement in the last ConditionalExpression:\n //\n // isA ? \"A\" : isB ? \"B\" : isC ? \"C\" : Unknown;\n //\n // This type of ConditionalExpression chain is structured like this in the AST:\n //\n // ConditionalExpression {\n // test: ...,\n // consequent: ...,\n // alternate: ConditionalExpression {\n // test: ...,\n // consequent: ...,\n // alternate: ConditionalExpression {\n // test: ...,\n // consequent: ...,\n // alternate: ...,\n // }\n // }\n // }\n //\n // We want to traverse over that shape and convert it into a flat structure so\n // that we can find if there's a JSXElement somewhere inside.\n\n\n function getConditionalChainContents(node) {\n // Given this code:\n //\n // // Using a ConditionalExpression as the consequent is uncommon, but should\n // // be handled.\n // A ? B : C ? D : E ? F ? G : H : I\n //\n // which has this AST:\n //\n // ConditionalExpression {\n // test: Identifier(A),\n // consequent: Identifier(B),\n // alternate: ConditionalExpression {\n // test: Identifier(C),\n // consequent: Identifier(D),\n // alternate: ConditionalExpression {\n // test: Identifier(E),\n // consequent: ConditionalExpression {\n // test: Identifier(F),\n // consequent: Identifier(G),\n // alternate: Identifier(H),\n // },\n // alternate: Identifier(I),\n // }\n // }\n // }\n //\n // we should return this Array:\n //\n // [\n // Identifier(A),\n // Identifier(B),\n // Identifier(C),\n // Identifier(D),\n // Identifier(E),\n // Identifier(F),\n // Identifier(G),\n // Identifier(H),\n // Identifier(I)\n // ];\n //\n // This loses the information about whether each node was the test,\n // consequent, or alternate, but we don't care about that here- we are only\n // flattening this structure to find if there's any JSXElements inside.\n const nonConditionalExpressions = [];\n\n function recurse(node) {\n if (node.type === \"ConditionalExpression\") {\n recurse(node.test);\n recurse(node.consequent);\n recurse(node.alternate);\n } else {\n nonConditionalExpressions.push(node);\n }\n }\n\n recurse(node);\n return nonConditionalExpressions;\n }\n\n function conditionalExpressionChainContainsJSX(node) {\n return Boolean(getConditionalChainContents(node).find(isJSXNode));\n } // Logic to check for args with multiple anonymous functions. For instance,\n // the following call should be split on multiple lines for readability:\n // source.pipe(map((x) => x + x), filter((x) => x % 2 === 0))\n\n\n function isFunctionCompositionArgs(args) {\n if (args.length <= 1) {\n return false;\n }\n\n let count = 0;\n\n for (const arg of args) {\n if (isFunctionOrArrowExpression(arg)) {\n count += 1;\n\n if (count > 1) {\n return true;\n }\n } else if (isCallOrOptionalCallExpression(arg)) {\n for (const childArg of arg.arguments) {\n if (isFunctionOrArrowExpression(childArg)) {\n return true;\n }\n }\n }\n }\n\n return false;\n } // Logic to determine if a call is a “long curried function call”.\n // See https://github.com/prettier/prettier/issues/1420.\n //\n // `connect(a, b, c)(d)`\n // In the above call expression, the second call is the parent node and the\n // first call is the current node.\n\n\n function isLongCurriedCallExpression(path) {\n const node = path.getValue();\n const parent = path.getParentNode();\n return isCallOrOptionalCallExpression(node) && isCallOrOptionalCallExpression(parent) && parent.callee === node && node.arguments.length > parent.arguments.length && parent.arguments.length > 0;\n }\n /**\n * @param {import('estree').Node} node\n * @param {number} depth\n * @returns {boolean}\n */\n\n\n function isSimpleCallArgument(node, depth) {\n if (depth >= 2) {\n return false;\n }\n\n const isChildSimple = child => isSimpleCallArgument(child, depth + 1);\n\n const regexpPattern = node.type === \"Literal\" && node.regex && node.regex.pattern || node.type === \"RegExpLiteral\" && node.pattern;\n\n if (regexpPattern && regexpPattern.length > 5) {\n return false;\n }\n\n if (node.type === \"Literal\" || node.type === \"BooleanLiteral\" || node.type === \"NullLiteral\" || node.type === \"NumericLiteral\" || node.type === \"StringLiteral\" || node.type === \"Identifier\" || node.type === \"ThisExpression\" || node.type === \"Super\" || node.type === \"BigIntLiteral\" || node.type === \"PrivateName\" || node.type === \"ArgumentPlaceholder\" || node.type === \"RegExpLiteral\" || node.type === \"Import\") {\n return true;\n }\n\n if (node.type === \"TemplateLiteral\") {\n return node.expressions.every(isChildSimple);\n }\n\n if (node.type === \"ObjectExpression\") {\n return node.properties.every(p => !p.computed && (p.shorthand || p.value && isChildSimple(p.value)));\n }\n\n if (node.type === \"ArrayExpression\") {\n return node.elements.every(x => x == null || isChildSimple(x));\n }\n\n if (node.type === \"CallExpression\" || node.type === \"OptionalCallExpression\" || node.type === \"NewExpression\") {\n return isSimpleCallArgument(node.callee, depth) && node.arguments.every(isChildSimple);\n }\n\n if (node.type === \"MemberExpression\" || node.type === \"OptionalMemberExpression\") {\n return isSimpleCallArgument(node.object, depth) && isSimpleCallArgument(node.property, depth);\n }\n\n if (node.type === \"UnaryExpression\" && (node.operator === \"!\" || node.operator === \"-\")) {\n return isSimpleCallArgument(node.argument, depth);\n }\n\n if (node.type === \"TSNonNullExpression\") {\n return isSimpleCallArgument(node.expression, depth);\n }\n\n return false;\n }\n\n function rawText(node) {\n return node.extra ? node.extra.raw : node.raw;\n }\n\n function identity$1(x) {\n return x;\n }\n\n function isTSXFile(options) {\n return options.filepath && /\\.tsx$/i.test(options.filepath);\n }\n\n var utils$5 = {\n classChildNeedsASIProtection,\n classPropMayCauseASIProblems,\n conditionalExpressionChainContainsJSX,\n getFlowVariance,\n getLeftSidePathName,\n getParentExportDeclaration,\n getTypeScriptMappedTypeModifier,\n hasDanglingComments,\n hasFlowAnnotationComment,\n hasFlowShorthandAnnotationComment,\n hasLeadingComment: hasLeadingComment$2,\n hasLeadingOwnLineComment,\n hasNakedLeftSide,\n hasNewlineBetweenOrAfterDecorators,\n hasNgSideEffect,\n hasNode,\n hasPrettierIgnore: hasPrettierIgnore$4,\n hasTrailingComment,\n identity: identity$1,\n isBinaryish,\n isCallOrOptionalCallExpression,\n isEmptyJSXElement,\n isExportDeclaration,\n isFlowAnnotationComment,\n isFunctionCompositionArgs,\n isFunctionNotation,\n isFunctionOrArrowExpression,\n isGetterOrSetter,\n isJestEachTemplateLiteral,\n isJSXNode,\n isJSXWhitespaceExpression,\n isLastStatement,\n isLiteral,\n isLongCurriedCallExpression,\n isSimpleCallArgument,\n isMeaningfulJSXText,\n isMemberExpressionChain,\n isMemberish,\n isNgForOf,\n isNumericLiteral,\n isObjectType,\n isObjectTypePropertyAFunction,\n isSimpleFlowType,\n isSimpleTemplateLiteral,\n isStringLiteral,\n isStringPropSafeToCoerceToIdentifier,\n isTemplateOnItsOwnLine,\n isTestCall,\n isTheOnlyJSXElementInMarkdown,\n isTSXFile,\n isTypeAnnotationAFunction,\n matchJsxWhitespaceRegex,\n needsHardlineAfterDanglingComment,\n rawText,\n returnArgumentHasLeadingComment\n };\n\n const {\n getLeftSidePathName: getLeftSidePathName$1,\n hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$1,\n hasNakedLeftSide: hasNakedLeftSide$1,\n hasNode: hasNode$1\n } = utils$5;\n\n function needsParens(path, options) {\n const parent = path.getParentNode();\n\n if (!parent) {\n return false;\n }\n\n const name = path.getName();\n const node = path.getNode(); // If the value of this path is some child of a Node and not a Node\n // itself, then it doesn't need parentheses. Only Node objects (in\n // fact, only Expression nodes) need parentheses.\n\n if (path.getValue() !== node) {\n return false;\n } // to avoid unexpected `}}` in HTML interpolations\n\n\n if (options.__isInHtmlInterpolation && !options.bracketSpacing && endsWithRightBracket(node) && isFollowedByRightBracket(path)) {\n return true;\n } // Only statements don't need parentheses.\n\n\n if (isStatement(node)) {\n return false;\n }\n\n if ( // Preserve parens if we have a Flow annotation comment, unless we're using the Flow\n // parser. The Flow parser turns Flow comments into type annotation nodes in its\n // AST, which we handle separately.\n options.parser !== \"flow\" && hasFlowShorthandAnnotationComment$1(path.getValue())) {\n return true;\n } // Identifiers never need parentheses.\n\n\n if (node.type === \"Identifier\") {\n // ...unless those identifiers are embed placeholders. They might be substituted by complex\n // expressions, so the parens around them should not be dropped. Example (JS-in-HTML-in-JS):\n // let tpl = html``;\n // If the inner JS formatter removes the parens, the expression might change its meaning:\n // f((a + b) / 2) vs f(a + b / 2)\n if (node.extra && node.extra.parenthesized && /^PRETTIER_HTML_PLACEHOLDER_\\d+_\\d+_IN_JS$/.test(node.name)) {\n return true;\n }\n\n return false;\n }\n\n if (parent.type === \"ParenthesizedExpression\") {\n return false;\n } // Add parens around the extends clause of a class. It is needed for almost\n // all expressions.\n\n\n if ((parent.type === \"ClassDeclaration\" || parent.type === \"ClassExpression\") && parent.superClass === node && (node.type === \"ArrowFunctionExpression\" || node.type === \"AssignmentExpression\" || node.type === \"AwaitExpression\" || node.type === \"BinaryExpression\" || node.type === \"ConditionalExpression\" || node.type === \"LogicalExpression\" || node.type === \"NewExpression\" || node.type === \"ObjectExpression\" || node.type === \"ParenthesizedExpression\" || node.type === \"SequenceExpression\" || node.type === \"TaggedTemplateExpression\" || node.type === \"UnaryExpression\" || node.type === \"UpdateExpression\" || node.type === \"YieldExpression\")) {\n return true;\n }\n\n if (parent.type === \"ExportDefaultDeclaration\") {\n return (// `export default function` or `export default class` can't be followed by\n // anything after. So an expression like `export default (function(){}).toString()`\n // needs to be followed by a parentheses\n shouldWrapFunctionForExportDefault(path, options) || // `export default (foo, bar)` also needs parentheses\n node.type === \"SequenceExpression\"\n );\n }\n\n if (parent.type === \"Decorator\" && parent.expression === node) {\n let hasCallExpression = false;\n let hasMemberExpression = false;\n let current = node;\n\n while (current) {\n switch (current.type) {\n case \"MemberExpression\":\n hasMemberExpression = true;\n current = current.object;\n break;\n\n case \"CallExpression\":\n if (\n /** @(x().y) */\n hasMemberExpression ||\n /** @(x().y()) */\n hasCallExpression) {\n return true;\n }\n\n hasCallExpression = true;\n current = current.callee;\n break;\n\n case \"Identifier\":\n return false;\n\n default:\n return true;\n }\n }\n\n return true;\n }\n\n if (parent.type === \"ArrowFunctionExpression\" && parent.body === node && node.type !== \"SequenceExpression\" && // these have parens added anyway\n util$1.startsWithNoLookaheadToken(node,\n /* forbidFunctionClassAndDoExpr */\n false) || parent.type === \"ExpressionStatement\" && util$1.startsWithNoLookaheadToken(node,\n /* forbidFunctionClassAndDoExpr */\n true)) {\n return true;\n }\n\n switch (node.type) {\n case \"SpreadElement\":\n case \"SpreadProperty\":\n return parent.type === \"MemberExpression\" && name === \"object\" && parent.object === node;\n\n case \"UpdateExpression\":\n if (parent.type === \"UnaryExpression\") {\n return node.prefix && (node.operator === \"++\" && parent.operator === \"+\" || node.operator === \"--\" && parent.operator === \"-\");\n }\n\n // else fallthrough\n\n case \"UnaryExpression\":\n switch (parent.type) {\n case \"UnaryExpression\":\n return node.operator === parent.operator && (node.operator === \"+\" || node.operator === \"-\");\n\n case \"BindExpression\":\n return true;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return name === \"object\";\n\n case \"TaggedTemplateExpression\":\n return true;\n\n case \"NewExpression\":\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n return name === \"callee\";\n\n case \"BinaryExpression\":\n return parent.operator === \"**\" && name === \"left\";\n\n case \"TSNonNullExpression\":\n return true;\n\n default:\n return false;\n }\n\n case \"BinaryExpression\":\n {\n if (parent.type === \"UpdateExpression\") {\n return true;\n }\n\n const isLeftOfAForStatement = node => {\n let i = 0;\n\n while (node) {\n const parent = path.getParentNode(i++);\n\n if (!parent) {\n return false;\n }\n\n if (parent.type === \"ForStatement\" && parent.init === node) {\n return true;\n }\n\n node = parent;\n }\n\n return false;\n };\n\n if (node.operator === \"in\" && isLeftOfAForStatement(node)) {\n return true;\n }\n }\n // fallthrough\n\n case \"TSTypeAssertion\":\n case \"TSAsExpression\":\n case \"LogicalExpression\":\n switch (parent.type) {\n case \"ConditionalExpression\":\n return node.type === \"TSAsExpression\";\n\n case \"CallExpression\":\n case \"NewExpression\":\n case \"OptionalCallExpression\":\n return name === \"callee\";\n\n case \"ClassExpression\":\n case \"ClassDeclaration\":\n return name === \"superClass\" && parent.superClass === node;\n\n case \"TSTypeAssertion\":\n case \"TaggedTemplateExpression\":\n case \"UnaryExpression\":\n case \"JSXSpreadAttribute\":\n case \"SpreadElement\":\n case \"SpreadProperty\":\n case \"BindExpression\":\n case \"AwaitExpression\":\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n case \"UpdateExpression\":\n return true;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return name === \"object\";\n\n case \"AssignmentExpression\":\n return parent.left === node && (node.type === \"TSTypeAssertion\" || node.type === \"TSAsExpression\");\n\n case \"LogicalExpression\":\n if (node.type === \"LogicalExpression\") {\n return parent.operator !== node.operator;\n }\n\n // else fallthrough\n\n case \"BinaryExpression\":\n {\n if (!node.operator && node.type !== \"TSTypeAssertion\") {\n return true;\n }\n\n const po = parent.operator;\n const pp = util$1.getPrecedence(po);\n const no = node.operator;\n const np = util$1.getPrecedence(no);\n\n if (pp > np) {\n return true;\n }\n\n if (pp === np && name === \"right\") {\n assert.strictEqual(parent.right, node);\n return true;\n }\n\n if (pp === np && !util$1.shouldFlatten(po, no)) {\n return true;\n }\n\n if (pp < np && no === \"%\") {\n return po === \"+\" || po === \"-\";\n } // Add parenthesis when working with bitwise operators\n // It's not strictly needed but helps with code understanding\n\n\n if (util$1.isBitwiseOperator(po)) {\n return true;\n }\n\n return false;\n }\n\n default:\n return false;\n }\n\n case \"SequenceExpression\":\n switch (parent.type) {\n case \"ReturnStatement\":\n return false;\n\n case \"ForStatement\":\n // Although parentheses wouldn't hurt around sequence\n // expressions in the head of for loops, traditional style\n // dictates that e.g. i++, j++ should not be wrapped with\n // parentheses.\n return false;\n\n case \"ExpressionStatement\":\n return name !== \"expression\";\n\n case \"ArrowFunctionExpression\":\n // We do need parentheses, but SequenceExpressions are handled\n // specially when printing bodies of arrow functions.\n return name !== \"body\";\n\n default:\n // Otherwise err on the side of overparenthesization, adding\n // explicit exceptions above if this proves overzealous.\n return true;\n }\n\n case \"YieldExpression\":\n if (parent.type === \"UnaryExpression\" || parent.type === \"AwaitExpression\" || parent.type === \"TSAsExpression\" || parent.type === \"TSNonNullExpression\") {\n return true;\n }\n\n // else fallthrough\n\n case \"AwaitExpression\":\n switch (parent.type) {\n case \"TaggedTemplateExpression\":\n case \"UnaryExpression\":\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n case \"SpreadElement\":\n case \"SpreadProperty\":\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n case \"BindExpression\":\n return true;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return name === \"object\";\n\n case \"NewExpression\":\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n return name === \"callee\";\n\n case \"ConditionalExpression\":\n return parent.test === node;\n\n default:\n return false;\n }\n\n case \"TSJSDocFunctionType\":\n case \"TSConditionalType\":\n if (parent.type === \"TSConditionalType\" && node === parent.extendsType) {\n return true;\n }\n\n // fallthrough\n\n case \"TSFunctionType\":\n case \"TSConstructorType\":\n if (parent.type === \"TSConditionalType\" && node === parent.checkType) {\n return true;\n }\n\n // fallthrough\n\n case \"TSUnionType\":\n case \"TSIntersectionType\":\n if (parent.type === \"TSUnionType\" || parent.type === \"TSIntersectionType\") {\n return true;\n }\n\n // fallthrough\n\n case \"TSTypeOperator\":\n case \"TSInferType\":\n return parent.type === \"TSArrayType\" || parent.type === \"TSOptionalType\" || parent.type === \"TSRestType\" || parent.type === \"TSIndexedAccessType\" && node === parent.objectType || parent.type === \"TSTypeOperator\" || parent.type === \"TSTypeAnnotation\" && /^TSJSDoc/.test(path.getParentNode(1).type);\n\n case \"ArrayTypeAnnotation\":\n return parent.type === \"NullableTypeAnnotation\";\n\n case \"IntersectionTypeAnnotation\":\n case \"UnionTypeAnnotation\":\n return parent.type === \"ArrayTypeAnnotation\" || parent.type === \"NullableTypeAnnotation\" || parent.type === \"IntersectionTypeAnnotation\" || parent.type === \"UnionTypeAnnotation\";\n\n case \"NullableTypeAnnotation\":\n return parent.type === \"ArrayTypeAnnotation\";\n\n case \"FunctionTypeAnnotation\":\n {\n const ancestor = parent.type === \"NullableTypeAnnotation\" ? path.getParentNode(1) : parent;\n return ancestor.type === \"UnionTypeAnnotation\" || ancestor.type === \"IntersectionTypeAnnotation\" || ancestor.type === \"ArrayTypeAnnotation\" || // We should check ancestor's parent to know whether the parentheses\n // are really needed, but since ??T doesn't make sense this check\n // will almost never be true.\n ancestor.type === \"NullableTypeAnnotation\";\n }\n\n case \"StringLiteral\":\n case \"NumericLiteral\":\n case \"Literal\":\n if (typeof node.value === \"string\" && parent.type === \"ExpressionStatement\" && ( // TypeScript workaround for https://github.com/JamesHenry/typescript-estree/issues/2\n // See corresponding workaround in printer.js case: \"Literal\"\n options.parser !== \"typescript\" && !parent.directive || options.parser === \"typescript\" && options.originalText.charAt(options.locStart(node) - 1) === \"(\")) {\n // To avoid becoming a directive\n const grandParent = path.getParentNode(1);\n return grandParent.type === \"Program\" || grandParent.type === \"BlockStatement\";\n }\n\n return parent.type === \"MemberExpression\" && typeof node.value === \"number\" && name === \"object\" && parent.object === node;\n\n case \"AssignmentExpression\":\n {\n const grandParent = path.getParentNode(1);\n\n if (parent.type === \"ArrowFunctionExpression\" && parent.body === node) {\n return true;\n } else if (parent.type === \"ClassProperty\" && parent.key === node && parent.computed) {\n return false;\n } else if (parent.type === \"TSPropertySignature\" && parent.name === node) {\n return false;\n } else if (parent.type === \"ForStatement\" && (parent.init === node || parent.update === node)) {\n return false;\n } else if (parent.type === \"ExpressionStatement\") {\n return node.left.type === \"ObjectPattern\";\n } else if (parent.type === \"TSPropertySignature\" && parent.key === node) {\n return false;\n } else if (parent.type === \"AssignmentExpression\") {\n return false;\n } else if (parent.type === \"SequenceExpression\" && grandParent && grandParent.type === \"ForStatement\" && (grandParent.init === parent || grandParent.update === parent)) {\n return false;\n } else if (parent.type === \"Property\" && parent.value === node) {\n return false;\n } else if (parent.type === \"NGChainedExpression\") {\n return false;\n }\n\n return true;\n }\n\n case \"ConditionalExpression\":\n switch (parent.type) {\n case \"TaggedTemplateExpression\":\n case \"UnaryExpression\":\n case \"SpreadElement\":\n case \"SpreadProperty\":\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n case \"NGPipeExpression\":\n case \"ExportDefaultDeclaration\":\n case \"AwaitExpression\":\n case \"JSXSpreadAttribute\":\n case \"TSTypeAssertion\":\n case \"TypeCastExpression\":\n case \"TSAsExpression\":\n case \"TSNonNullExpression\":\n return true;\n\n case \"NewExpression\":\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n return name === \"callee\";\n\n case \"ConditionalExpression\":\n return name === \"test\" && parent.test === node;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return name === \"object\";\n\n default:\n return false;\n }\n\n case \"FunctionExpression\":\n switch (parent.type) {\n case \"NewExpression\":\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n // Not always necessary, but it's clearer to the reader if IIFEs are wrapped in parentheses.\n // Is necessary if it is `expression` of `ExpressionStatement`.\n return name === \"callee\";\n\n case \"TaggedTemplateExpression\":\n return true;\n // This is basically a kind of IIFE.\n\n default:\n return false;\n }\n\n case \"ArrowFunctionExpression\":\n switch (parent.type) {\n case \"NewExpression\":\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n return name === \"callee\";\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n return name === \"object\";\n\n case \"TSAsExpression\":\n case \"BindExpression\":\n case \"TaggedTemplateExpression\":\n case \"UnaryExpression\":\n case \"LogicalExpression\":\n case \"BinaryExpression\":\n case \"AwaitExpression\":\n case \"TSTypeAssertion\":\n return true;\n\n case \"ConditionalExpression\":\n return name === \"test\";\n\n default:\n return false;\n }\n\n case \"ClassExpression\":\n switch (parent.type) {\n case \"NewExpression\":\n return name === \"callee\" && parent.callee === node;\n\n default:\n return false;\n }\n\n case \"OptionalMemberExpression\":\n case \"OptionalCallExpression\":\n if (parent.type === \"MemberExpression\" && name === \"object\" || (parent.type === \"CallExpression\" || parent.type === \"NewExpression\") && name === \"callee\") {\n return true;\n }\n\n // fallthrough\n\n case \"CallExpression\":\n case \"MemberExpression\":\n case \"TaggedTemplateExpression\":\n case \"TSNonNullExpression\":\n if ((parent.type === \"BindExpression\" || parent.type === \"NewExpression\") && name === \"callee\") {\n let object = node;\n\n while (object) {\n switch (object.type) {\n case \"CallExpression\":\n case \"OptionalCallExpression\":\n return true;\n\n case \"MemberExpression\":\n case \"OptionalMemberExpression\":\n case \"BindExpression\":\n object = object.object;\n break;\n // tagged templates are basically member expressions from a grammar perspective\n // see https://tc39.github.io/ecma262/#prod-MemberExpression\n\n case \"TaggedTemplateExpression\":\n object = object.tag;\n break;\n\n case \"TSNonNullExpression\":\n object = object.expression;\n break;\n\n default:\n return false;\n }\n }\n }\n\n return false;\n\n case \"BindExpression\":\n return (parent.type === \"BindExpression\" || parent.type === \"NewExpression\") && name === \"callee\" || (parent.type === \"MemberExpression\" || parent.type === \"OptionalMemberExpression\") && name === \"object\";\n\n case \"NGPipeExpression\":\n if (parent.type === \"NGRoot\" || parent.type === \"NGMicrosyntaxExpression\" || parent.type === \"ObjectProperty\" || parent.type === \"ArrayExpression\" || (parent.type === \"CallExpression\" || parent.type === \"OptionalCallExpression\") && parent.arguments[name] === node || parent.type === \"NGPipeExpression\" && name === \"right\" || parent.type === \"MemberExpression\" && name === \"property\" || parent.type === \"AssignmentExpression\") {\n return false;\n }\n\n return true;\n\n case \"JSXFragment\":\n case \"JSXElement\":\n return name === \"callee\" || parent.type !== \"ArrayExpression\" && parent.type !== \"ArrowFunctionExpression\" && parent.type !== \"AssignmentExpression\" && parent.type !== \"AssignmentPattern\" && parent.type !== \"BinaryExpression\" && parent.type !== \"CallExpression\" && parent.type !== \"NewExpression\" && parent.type !== \"ConditionalExpression\" && parent.type !== \"ExpressionStatement\" && parent.type !== \"JsExpressionRoot\" && parent.type !== \"JSXAttribute\" && parent.type !== \"JSXElement\" && parent.type !== \"JSXExpressionContainer\" && parent.type !== \"JSXFragment\" && parent.type !== \"LogicalExpression\" && parent.type !== \"ObjectProperty\" && parent.type !== \"OptionalCallExpression\" && parent.type !== \"Property\" && parent.type !== \"ReturnStatement\" && parent.type !== \"ThrowStatement\" && parent.type !== \"TypeCastExpression\" && parent.type !== \"VariableDeclarator\" && parent.type !== \"YieldExpression\";\n\n case \"TypeAnnotation\":\n return name === \"returnType\" && parent.type === \"ArrowFunctionExpression\" && includesFunctionTypeInObjectType(node);\n }\n\n return false;\n }\n\n function isStatement(node) {\n return node.type === \"BlockStatement\" || node.type === \"BreakStatement\" || node.type === \"ClassBody\" || node.type === \"ClassDeclaration\" || node.type === \"ClassMethod\" || node.type === \"ClassProperty\" || node.type === \"ClassPrivateProperty\" || node.type === \"ContinueStatement\" || node.type === \"DebuggerStatement\" || node.type === \"DeclareClass\" || node.type === \"DeclareExportAllDeclaration\" || node.type === \"DeclareExportDeclaration\" || node.type === \"DeclareFunction\" || node.type === \"DeclareInterface\" || node.type === \"DeclareModule\" || node.type === \"DeclareModuleExports\" || node.type === \"DeclareVariable\" || node.type === \"DoWhileStatement\" || node.type === \"EnumDeclaration\" || node.type === \"ExportAllDeclaration\" || node.type === \"ExportDefaultDeclaration\" || node.type === \"ExportNamedDeclaration\" || node.type === \"ExpressionStatement\" || node.type === \"ForInStatement\" || node.type === \"ForOfStatement\" || node.type === \"ForStatement\" || node.type === \"FunctionDeclaration\" || node.type === \"IfStatement\" || node.type === \"ImportDeclaration\" || node.type === \"InterfaceDeclaration\" || node.type === \"LabeledStatement\" || node.type === \"MethodDefinition\" || node.type === \"ReturnStatement\" || node.type === \"SwitchStatement\" || node.type === \"ThrowStatement\" || node.type === \"TryStatement\" || node.type === \"TSDeclareFunction\" || node.type === \"TSEnumDeclaration\" || node.type === \"TSImportEqualsDeclaration\" || node.type === \"TSInterfaceDeclaration\" || node.type === \"TSModuleDeclaration\" || node.type === \"TSNamespaceExportDeclaration\" || node.type === \"TypeAlias\" || node.type === \"VariableDeclaration\" || node.type === \"WhileStatement\" || node.type === \"WithStatement\";\n }\n\n function includesFunctionTypeInObjectType(node) {\n return hasNode$1(node, n1 => n1.type === \"ObjectTypeAnnotation\" && hasNode$1(n1, n2 => n2.type === \"FunctionTypeAnnotation\" || undefined) || undefined);\n }\n\n function endsWithRightBracket(node) {\n switch (node.type) {\n case \"ObjectExpression\":\n return true;\n\n default:\n return false;\n }\n }\n\n function isFollowedByRightBracket(path) {\n const node = path.getValue();\n const parent = path.getParentNode();\n const name = path.getName();\n\n switch (parent.type) {\n case \"NGPipeExpression\":\n if (typeof name === \"number\" && parent.arguments[name] === node && parent.arguments.length - 1 === name) {\n return path.callParent(isFollowedByRightBracket);\n }\n\n break;\n\n case \"ObjectProperty\":\n if (name === \"value\") {\n const parentParent = path.getParentNode(1);\n return parentParent.properties[parentParent.properties.length - 1] === parent;\n }\n\n break;\n\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n if (name === \"right\") {\n return path.callParent(isFollowedByRightBracket);\n }\n\n break;\n\n case \"ConditionalExpression\":\n if (name === \"alternate\") {\n return path.callParent(isFollowedByRightBracket);\n }\n\n break;\n\n case \"UnaryExpression\":\n if (parent.prefix) {\n return path.callParent(isFollowedByRightBracket);\n }\n\n break;\n }\n\n return false;\n }\n\n function shouldWrapFunctionForExportDefault(path, options) {\n const node = path.getValue();\n const parent = path.getParentNode();\n\n if (node.type === \"FunctionExpression\" || node.type === \"ClassExpression\") {\n return parent.type === \"ExportDefaultDeclaration\" || // in some cases the function is already wrapped\n // (e.g. `export default (function() {})();`)\n // in this case we don't need to add extra parens\n !needsParens(path, options);\n }\n\n if (!hasNakedLeftSide$1(node) || parent.type !== \"ExportDefaultDeclaration\" && needsParens(path, options)) {\n return false;\n }\n\n return path.call(childPath => shouldWrapFunctionForExportDefault(childPath, options), ...getLeftSidePathName$1(path, node));\n }\n\n var needsParens_1 = needsParens;\n\n const {\n builders: {\n concat: concat$c,\n join: join$8,\n line: line$8\n }\n } = document;\n\n function printHtmlBinding(path, options, print) {\n const node = path.getValue();\n\n if (options.__onHtmlBindingRoot && path.getName() === null) {\n options.__onHtmlBindingRoot(node, options);\n }\n\n if (node.type !== \"File\") {\n return;\n }\n\n if (options.__isVueForBindingLeft) {\n return path.call(functionDeclarationPath => {\n const {\n params\n } = functionDeclarationPath.getValue();\n return concat$c([params.length > 1 ? \"(\" : \"\", join$8(concat$c([\",\", line$8]), functionDeclarationPath.map(print, \"params\")), params.length > 1 ? \")\" : \"\"]);\n }, \"program\", \"body\", 0);\n }\n\n if (options.__isVueSlotScope) {\n return path.call(functionDeclarationPath => join$8(concat$c([\",\", line$8]), functionDeclarationPath.map(print, \"params\")), \"program\", \"body\", 0);\n }\n } // based on https://github.com/prettier/prettier/blob/master/src/language-html/syntax-vue.js isVueEventBindingExpression()\n\n\n function isVueEventBindingExpression$2(node) {\n switch (node.type) {\n case \"MemberExpression\":\n switch (node.property.type) {\n case \"Identifier\":\n case \"NumericLiteral\":\n case \"StringLiteral\":\n return isVueEventBindingExpression$2(node.object);\n }\n\n return false;\n\n case \"Identifier\":\n return true;\n\n default:\n return false;\n }\n }\n\n var htmlBinding = {\n isVueEventBindingExpression: isVueEventBindingExpression$2,\n printHtmlBinding\n };\n\n function preprocess$1(ast, options) {\n switch (options.parser) {\n case \"json\":\n case \"json5\":\n case \"json-stringify\":\n case \"__js_expression\":\n case \"__vue_expression\":\n return Object.assign({}, ast, {\n type: options.parser.startsWith(\"__\") ? \"JsExpressionRoot\" : \"JsonRoot\",\n node: ast,\n comments: [],\n rootMarker: options.rootMarker\n });\n\n default:\n return ast;\n }\n }\n\n var preprocess_1$1 = preprocess$1;\n\n const {\n shouldFlatten: shouldFlatten$1,\n getNextNonSpaceNonCommentCharacter: getNextNonSpaceNonCommentCharacter$1,\n hasNewline: hasNewline$5,\n hasNewlineInRange: hasNewlineInRange$3,\n getLast: getLast$3,\n getStringWidth: getStringWidth$3,\n printString: printString$2,\n printNumber: printNumber$2,\n hasIgnoreComment: hasIgnoreComment$4,\n hasNodeIgnoreComment: hasNodeIgnoreComment$2,\n getPenultimate: getPenultimate$1,\n startsWithNoLookaheadToken: startsWithNoLookaheadToken$1,\n getIndentSize: getIndentSize$2,\n getPreferredQuote: getPreferredQuote$1\n } = util$1;\n const {\n isNextLineEmpty: isNextLineEmpty$4,\n isNextLineEmptyAfterIndex: isNextLineEmptyAfterIndex$2,\n getNextNonSpaceNonCommentCharacterIndex: getNextNonSpaceNonCommentCharacterIndex$3\n } = utilShared;\n const {\n insertPragma: insertPragma$7\n } = pragma;\n const {\n printHtmlBinding: printHtmlBinding$1,\n isVueEventBindingExpression: isVueEventBindingExpression$3\n } = htmlBinding;\n const {\n classChildNeedsASIProtection: classChildNeedsASIProtection$1,\n classPropMayCauseASIProblems: classPropMayCauseASIProblems$1,\n conditionalExpressionChainContainsJSX: conditionalExpressionChainContainsJSX$1,\n getFlowVariance: getFlowVariance$1,\n getLeftSidePathName: getLeftSidePathName$2,\n getParentExportDeclaration: getParentExportDeclaration$1,\n getTypeScriptMappedTypeModifier: getTypeScriptMappedTypeModifier$1,\n hasDanglingComments: hasDanglingComments$1,\n hasFlowAnnotationComment: hasFlowAnnotationComment$1,\n hasFlowShorthandAnnotationComment: hasFlowShorthandAnnotationComment$2,\n hasLeadingComment: hasLeadingComment$3,\n hasLeadingOwnLineComment: hasLeadingOwnLineComment$1,\n hasNakedLeftSide: hasNakedLeftSide$2,\n hasNewlineBetweenOrAfterDecorators: hasNewlineBetweenOrAfterDecorators$1,\n hasNgSideEffect: hasNgSideEffect$1,\n hasPrettierIgnore: hasPrettierIgnore$5,\n hasTrailingComment: hasTrailingComment$1,\n identity: identity$2,\n isBinaryish: isBinaryish$1,\n isCallOrOptionalCallExpression: isCallOrOptionalCallExpression$1,\n isEmptyJSXElement: isEmptyJSXElement$1,\n isExportDeclaration: isExportDeclaration$1,\n isFlowAnnotationComment: isFlowAnnotationComment$1,\n isFunctionCompositionArgs: isFunctionCompositionArgs$1,\n isFunctionNotation: isFunctionNotation$1,\n isFunctionOrArrowExpression: isFunctionOrArrowExpression$1,\n isGetterOrSetter: isGetterOrSetter$1,\n isJestEachTemplateLiteral: isJestEachTemplateLiteral$1,\n isJSXNode: isJSXNode$1,\n isJSXWhitespaceExpression: isJSXWhitespaceExpression$1,\n isLastStatement: isLastStatement$1,\n isLiteral: isLiteral$1,\n isLongCurriedCallExpression: isLongCurriedCallExpression$1,\n isMeaningfulJSXText: isMeaningfulJSXText$1,\n isMemberExpressionChain: isMemberExpressionChain$1,\n isMemberish: isMemberish$1,\n isNgForOf: isNgForOf$1,\n isNumericLiteral: isNumericLiteral$1,\n isObjectType: isObjectType$1,\n isObjectTypePropertyAFunction: isObjectTypePropertyAFunction$1,\n isSimpleCallArgument: isSimpleCallArgument$1,\n isSimpleFlowType: isSimpleFlowType$1,\n isSimpleTemplateLiteral: isSimpleTemplateLiteral$1,\n isStringLiteral: isStringLiteral$1,\n isStringPropSafeToCoerceToIdentifier: isStringPropSafeToCoerceToIdentifier$1,\n isTemplateOnItsOwnLine: isTemplateOnItsOwnLine$1,\n isTestCall: isTestCall$1,\n isTheOnlyJSXElementInMarkdown: isTheOnlyJSXElementInMarkdown$1,\n isTSXFile: isTSXFile$1,\n isTypeAnnotationAFunction: isTypeAnnotationAFunction$1,\n matchJsxWhitespaceRegex: matchJsxWhitespaceRegex$1,\n needsHardlineAfterDanglingComment: needsHardlineAfterDanglingComment$1,\n rawText: rawText$1,\n returnArgumentHasLeadingComment: returnArgumentHasLeadingComment$1\n } = utils$5;\n const needsQuoteProps = new WeakMap();\n const {\n builders: {\n concat: concat$d,\n join: join$9,\n line: line$9,\n hardline: hardline$9,\n softline: softline$6,\n literalline: literalline$4,\n group: group$b,\n indent: indent$7,\n align: align$1,\n conditionalGroup: conditionalGroup$1,\n fill: fill$4,\n ifBreak: ifBreak$6,\n breakParent: breakParent$3,\n lineSuffixBoundary: lineSuffixBoundary$1,\n addAlignmentToDoc: addAlignmentToDoc$2,\n dedent: dedent$2\n },\n utils: {\n willBreak: willBreak$1,\n isLineNext: isLineNext$1,\n isEmpty: isEmpty$1,\n removeLines: removeLines$2\n },\n printer: {\n printDocToString: printDocToString$2\n }\n } = document;\n let uid = 0;\n\n function shouldPrintComma$1(options, level) {\n level = level || \"es5\";\n\n switch (options.trailingComma) {\n case \"all\":\n if (level === \"all\") {\n return true;\n }\n\n // fallthrough\n\n case \"es5\":\n if (level === \"es5\") {\n return true;\n }\n\n // fallthrough\n\n case \"none\":\n default:\n return false;\n }\n }\n\n function genericPrint$3(path, options, printPath, args) {\n const node = path.getValue();\n let needsParens = false;\n const linesWithoutParens = printPathNoParens(path, options, printPath, args);\n\n if (!node || isEmpty$1(linesWithoutParens)) {\n return linesWithoutParens;\n }\n\n const parentExportDecl = getParentExportDeclaration$1(path);\n const decorators = [];\n\n if (node.type === \"ClassMethod\" || node.type === \"ClassPrivateMethod\" || node.type === \"ClassProperty\" || node.type === \"TSAbstractClassProperty\" || node.type === \"ClassPrivateProperty\" || node.type === \"MethodDefinition\" || node.type === \"TSAbstractMethodDefinition\" || node.type === \"TSDeclareMethod\") ; else if (node.decorators && node.decorators.length > 0 && // If the parent node is an export declaration and the decorator\n // was written before the export, the export will be responsible\n // for printing the decorators.\n !(parentExportDecl && options.locStart(parentExportDecl, {\n ignoreDecorators: true\n }) > options.locStart(node.decorators[0]))) {\n const shouldBreak = node.type === \"ClassExpression\" || node.type === \"ClassDeclaration\" || hasNewlineBetweenOrAfterDecorators$1(node, options);\n const separator = shouldBreak ? hardline$9 : line$9;\n path.each(decoratorPath => {\n let decorator = decoratorPath.getValue();\n\n if (decorator.expression) {\n decorator = decorator.expression;\n } else {\n decorator = decorator.callee;\n }\n\n decorators.push(printPath(decoratorPath), separator);\n }, \"decorators\");\n\n if (parentExportDecl) {\n decorators.unshift(hardline$9);\n }\n } else if (isExportDeclaration$1(node) && node.declaration && node.declaration.decorators && node.declaration.decorators.length > 0 && // Only print decorators here if they were written before the export,\n // otherwise they are printed by the node.declaration\n options.locStart(node, {\n ignoreDecorators: true\n }) > options.locStart(node.declaration.decorators[0])) {\n // Export declarations are responsible for printing any decorators\n // that logically apply to node.declaration.\n path.each(decoratorPath => {\n const decorator = decoratorPath.getValue();\n const prefix = decorator.type === \"Decorator\" ? \"\" : \"@\";\n decorators.push(prefix, printPath(decoratorPath), hardline$9);\n }, \"declaration\", \"decorators\");\n } else {\n // Nodes with decorators can't have parentheses, so we can avoid\n // computing pathNeedsParens() except in this case.\n needsParens = needsParens_1(path, options);\n }\n\n const parts = [];\n\n if (needsParens) {\n parts.unshift(\"(\");\n }\n\n parts.push(linesWithoutParens);\n\n if (needsParens) {\n const node = path.getValue();\n\n if (hasFlowShorthandAnnotationComment$2(node)) {\n parts.push(\" /*\");\n parts.push(node.trailingComments[0].value.trimStart());\n parts.push(\"*/\");\n node.trailingComments[0].printed = true;\n }\n\n parts.push(\")\");\n }\n\n if (decorators.length > 0) {\n return group$b(concat$d(decorators.concat(parts)));\n }\n\n return concat$d(parts);\n }\n\n function printDecorators(path, options, print) {\n const node = path.getValue();\n return group$b(concat$d([join$9(line$9, path.map(print, \"decorators\")), hasNewlineBetweenOrAfterDecorators$1(node, options) ? hardline$9 : line$9]));\n }\n /**\n * The following is the shared logic for\n * ternary operators, namely ConditionalExpression\n * and TSConditionalType\n * @typedef {Object} OperatorOptions\n * @property {() => Array} beforeParts - Parts to print before the `?`.\n * @property {(breakClosingParen: boolean) => Array} afterParts - Parts to print after the conditional expression.\n * @property {boolean} shouldCheckJsx - Whether to check for and print in JSX mode.\n * @property {string} conditionalNodeType - The type of the conditional expression node, ie \"ConditionalExpression\" or \"TSConditionalType\".\n * @property {string} consequentNodePropertyName - The property at which the consequent node can be found on the main node, eg \"consequent\".\n * @property {string} alternateNodePropertyName - The property at which the alternate node can be found on the main node, eg \"alternate\".\n * @property {string[]} testNodePropertyNames - The properties at which the test nodes can be found on the main node, eg \"test\".\n * @param {FastPath} path - The path to the ConditionalExpression/TSConditionalType node.\n * @param {Options} options - Prettier options\n * @param {Function} print - Print function to call recursively\n * @param {OperatorOptions} operatorOptions\n * @returns Doc\n */\n\n\n function printTernaryOperator(path, options, print, operatorOptions) {\n const node = path.getValue();\n const consequentNode = node[operatorOptions.consequentNodePropertyName];\n const alternateNode = node[operatorOptions.alternateNodePropertyName];\n const parts = []; // We print a ConditionalExpression in either \"JSX mode\" or \"normal mode\".\n // See tests/jsx/conditional-expression.js for more info.\n\n let jsxMode = false;\n const parent = path.getParentNode();\n const isParentTest = parent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.some(prop => parent[prop] === node);\n let forceNoIndent = parent.type === operatorOptions.conditionalNodeType && !isParentTest; // Find the outermost non-ConditionalExpression parent, and the outermost\n // ConditionalExpression parent. We'll use these to determine if we should\n // print in JSX mode.\n\n let currentParent;\n let previousParent;\n let i = 0;\n\n do {\n previousParent = currentParent || node;\n currentParent = path.getParentNode(i);\n i++;\n } while (currentParent && currentParent.type === operatorOptions.conditionalNodeType && operatorOptions.testNodePropertyNames.every(prop => currentParent[prop] !== previousParent));\n\n const firstNonConditionalParent = currentParent || parent;\n const lastConditionalParent = previousParent;\n\n if (operatorOptions.shouldCheckJsx && (isJSXNode$1(node[operatorOptions.testNodePropertyNames[0]]) || isJSXNode$1(consequentNode) || isJSXNode$1(alternateNode) || conditionalExpressionChainContainsJSX$1(lastConditionalParent))) {\n jsxMode = true;\n forceNoIndent = true; // Even though they don't need parens, we wrap (almost) everything in\n // parens when using ?: within JSX, because the parens are analogous to\n // curly braces in an if statement.\n\n const wrap = doc => concat$d([ifBreak$6(\"(\", \"\"), indent$7(concat$d([softline$6, doc])), softline$6, ifBreak$6(\")\", \"\")]); // The only things we don't wrap are:\n // * Nested conditional expressions in alternates\n // * null\n // * undefined\n\n\n const isNil = node => node.type === \"NullLiteral\" || node.type === \"Literal\" && node.value === null || node.type === \"Identifier\" && node.name === \"undefined\";\n\n parts.push(\" ? \", isNil(consequentNode) ? path.call(print, operatorOptions.consequentNodePropertyName) : wrap(path.call(print, operatorOptions.consequentNodePropertyName)), \" : \", alternateNode.type === operatorOptions.conditionalNodeType || isNil(alternateNode) ? path.call(print, operatorOptions.alternateNodePropertyName) : wrap(path.call(print, operatorOptions.alternateNodePropertyName)));\n } else {\n // normal mode\n const part = concat$d([line$9, \"? \", consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$6(\"\", \"(\") : \"\", align$1(2, path.call(print, operatorOptions.consequentNodePropertyName)), consequentNode.type === operatorOptions.conditionalNodeType ? ifBreak$6(\"\", \")\") : \"\", line$9, \": \", alternateNode.type === operatorOptions.conditionalNodeType ? path.call(print, operatorOptions.alternateNodePropertyName) : align$1(2, path.call(print, operatorOptions.alternateNodePropertyName))]);\n parts.push(parent.type !== operatorOptions.conditionalNodeType || parent[operatorOptions.alternateNodePropertyName] === node || isParentTest ? part : options.useTabs ? dedent$2(indent$7(part)) : align$1(Math.max(0, options.tabWidth - 2), part));\n } // We want a whole chain of ConditionalExpressions to all\n // break if any of them break. That means we should only group around the\n // outer-most ConditionalExpression.\n\n\n const maybeGroup = doc => parent === firstNonConditionalParent ? group$b(doc) : doc; // Break the closing paren to keep the chain right after it:\n // (a\n // ? b\n // : c\n // ).call()\n\n\n const breakClosingParen = !jsxMode && (parent.type === \"MemberExpression\" || parent.type === \"OptionalMemberExpression\" || parent.type === \"NGPipeExpression\" && parent.left === node) && !parent.computed;\n const result = maybeGroup(concat$d([].concat((testDoc =>\n /**\n * a\n * ? b\n * : multiline\n * test\n * node\n * ^^ align(2)\n * ? d\n * : e\n */\n parent.type === operatorOptions.conditionalNodeType && parent[operatorOptions.alternateNodePropertyName] === node ? align$1(2, testDoc) : testDoc)(concat$d(operatorOptions.beforeParts())), forceNoIndent ? concat$d(parts) : indent$7(concat$d(parts)), operatorOptions.afterParts(breakClosingParen))));\n return isParentTest ? group$b(concat$d([indent$7(concat$d([softline$6, result])), softline$6])) : result;\n }\n\n function printPathNoParens(path, options, print, args) {\n const n = path.getValue();\n const semi = options.semi ? \";\" : \"\";\n\n if (!n) {\n return \"\";\n }\n\n if (typeof n === \"string\") {\n return n;\n }\n\n const htmlBinding = printHtmlBinding$1(path, options, print);\n\n if (htmlBinding) {\n return htmlBinding;\n }\n\n let parts = [];\n\n switch (n.type) {\n case \"JsExpressionRoot\":\n return path.call(print, \"node\");\n\n case \"JsonRoot\":\n return concat$d([path.call(print, \"node\"), hardline$9]);\n\n case \"File\":\n // Print @babel/parser's InterpreterDirective here so that\n // leading comments on the `Program` node get printed after the hashbang.\n if (n.program && n.program.interpreter) {\n parts.push(path.call(programPath => programPath.call(print, \"interpreter\"), \"program\"));\n }\n\n parts.push(path.call(print, \"program\"));\n return concat$d(parts);\n\n case \"Program\":\n // Babel 6\n if (n.directives) {\n path.each(childPath => {\n parts.push(print(childPath), semi, hardline$9);\n\n if (isNextLineEmpty$4(options.originalText, childPath.getValue(), options.locEnd)) {\n parts.push(hardline$9);\n }\n }, \"directives\");\n }\n\n parts.push(path.call(bodyPath => {\n return printStatementSequence(bodyPath, options, print);\n }, \"body\"));\n parts.push(comments.printDanglingComments(path, options,\n /* sameIndent */\n true)); // Only force a trailing newline if there were any contents.\n\n if (!n.body.every(({\n type\n }) => type === \"EmptyStatement\") || n.comments) {\n parts.push(hardline$9);\n }\n\n return concat$d(parts);\n // Babel extension.\n\n case \"EmptyStatement\":\n return \"\";\n\n case \"ExpressionStatement\":\n // Detect Flow-parsed directives\n if (n.directive) {\n return concat$d([nodeStr(n.expression, options, true), semi]);\n }\n\n if (options.parser === \"__vue_event_binding\") {\n const parent = path.getParentNode();\n\n if (parent.type === \"Program\" && parent.body.length === 1 && parent.body[0] === n) {\n return concat$d([path.call(print, \"expression\"), isVueEventBindingExpression$3(n.expression) ? \";\" : \"\"]);\n }\n } // Do not append semicolon after the only JSX element in a program\n\n\n return concat$d([path.call(print, \"expression\"), isTheOnlyJSXElementInMarkdown$1(options, path) ? \"\" : semi]);\n // Babel non-standard node. Used for Closure-style type casts. See postprocess.js.\n\n case \"ParenthesizedExpression\":\n {\n const shouldHug = !n.expression.comments;\n\n if (shouldHug) {\n return concat$d([\"(\", path.call(print, \"expression\"), \")\"]);\n }\n\n return group$b(concat$d([\"(\", indent$7(concat$d([softline$6, path.call(print, \"expression\")])), softline$6, \")\"]));\n }\n\n case \"AssignmentExpression\":\n return printAssignment(n.left, path.call(print, \"left\"), concat$d([\" \", n.operator]), n.right, path.call(print, \"right\"), options);\n\n case \"BinaryExpression\":\n case \"LogicalExpression\":\n case \"NGPipeExpression\":\n {\n const parent = path.getParentNode();\n const parentParent = path.getParentNode(1);\n const isInsideParenthesis = n !== parent.body && (parent.type === \"IfStatement\" || parent.type === \"WhileStatement\" || parent.type === \"SwitchStatement\" || parent.type === \"DoWhileStatement\");\n const parts = printBinaryishExpressions(path, print, options,\n /* isNested */\n false, isInsideParenthesis); // if (\n // this.hasPlugin(\"dynamicImports\") && this.lookahead().type === tt.parenLeft\n // ) {\n //\n // looks super weird, we want to break the children if the parent breaks\n //\n // if (\n // this.hasPlugin(\"dynamicImports\") &&\n // this.lookahead().type === tt.parenLeft\n // ) {\n\n if (isInsideParenthesis) {\n return concat$d(parts);\n } // Break between the parens in\n // unaries or in a member or specific call expression, i.e.\n //\n // (\n // a &&\n // b &&\n // c\n // ).call()\n\n\n if ((parent.type === \"CallExpression\" || parent.type === \"OptionalCallExpression\") && parent.callee === n || parent.type === \"UnaryExpression\" || (parent.type === \"MemberExpression\" || parent.type === \"OptionalMemberExpression\") && !parent.computed) {\n return group$b(concat$d([indent$7(concat$d([softline$6, concat$d(parts)])), softline$6]));\n } // Avoid indenting sub-expressions in some cases where the first sub-expression is already\n // indented accordingly. We should indent sub-expressions where the first case isn't indented.\n\n\n const shouldNotIndent = parent.type === \"ReturnStatement\" || parent.type === \"ThrowStatement\" || parent.type === \"JSXExpressionContainer\" && parentParent.type === \"JSXAttribute\" || n.operator !== \"|\" && parent.type === \"JsExpressionRoot\" || n.type !== \"NGPipeExpression\" && (parent.type === \"NGRoot\" && options.parser === \"__ng_binding\" || parent.type === \"NGMicrosyntaxExpression\" && parentParent.type === \"NGMicrosyntax\" && parentParent.body.length === 1) || n === parent.body && parent.type === \"ArrowFunctionExpression\" || n !== parent.body && parent.type === \"ForStatement\" || parent.type === \"ConditionalExpression\" && parentParent.type !== \"ReturnStatement\" && parentParent.type !== \"ThrowStatement\" && parentParent.type !== \"CallExpression\" && parentParent.type !== \"OptionalCallExpression\" || parent.type === \"TemplateLiteral\";\n const shouldIndentIfInlining = parent.type === \"AssignmentExpression\" || parent.type === \"VariableDeclarator\" || parent.type === \"ClassProperty\" || parent.type === \"TSAbstractClassProperty\" || parent.type === \"ClassPrivateProperty\" || parent.type === \"ObjectProperty\" || parent.type === \"Property\";\n const samePrecedenceSubExpression = isBinaryish$1(n.left) && shouldFlatten$1(n.operator, n.left.operator);\n\n if (shouldNotIndent || shouldInlineLogicalExpression(n) && !samePrecedenceSubExpression || !shouldInlineLogicalExpression(n) && shouldIndentIfInlining) {\n return group$b(concat$d(parts));\n }\n\n if (parts.length === 0) {\n return \"\";\n } // If the right part is a JSX node, we include it in a separate group to\n // prevent it breaking the whole chain, so we can print the expression like:\n //\n // foo && bar && (\n // \n // \n // \n // )\n\n\n const hasJSX = isJSXNode$1(n.right);\n const rest = concat$d(hasJSX ? parts.slice(1, -1) : parts.slice(1));\n const groupId = Symbol(\"logicalChain-\" + ++uid);\n const chain = group$b(concat$d([// Don't include the initial expression in the indentation\n // level. The first item is guaranteed to be the first\n // left-most expression.\n parts.length > 0 ? parts[0] : \"\", indent$7(rest)]), {\n id: groupId\n });\n\n if (!hasJSX) {\n return chain;\n }\n\n const jsxPart = getLast$3(parts);\n return group$b(concat$d([chain, ifBreak$6(indent$7(jsxPart), jsxPart, {\n groupId\n })]));\n }\n\n case \"AssignmentPattern\":\n return concat$d([path.call(print, \"left\"), \" = \", path.call(print, \"right\")]);\n\n case \"TSTypeAssertion\":\n {\n const shouldBreakAfterCast = !(n.expression.type === \"ArrayExpression\" || n.expression.type === \"ObjectExpression\");\n const castGroup = group$b(concat$d([\"<\", indent$7(concat$d([softline$6, path.call(print, \"typeAnnotation\")])), softline$6, \">\"]));\n const exprContents = concat$d([ifBreak$6(\"(\"), indent$7(concat$d([softline$6, path.call(print, \"expression\")])), softline$6, ifBreak$6(\")\")]);\n\n if (shouldBreakAfterCast) {\n return conditionalGroup$1([concat$d([castGroup, path.call(print, \"expression\")]), concat$d([castGroup, group$b(exprContents, {\n shouldBreak: true\n })]), concat$d([castGroup, path.call(print, \"expression\")])]);\n }\n\n return group$b(concat$d([castGroup, path.call(print, \"expression\")]));\n }\n\n case \"OptionalMemberExpression\":\n case \"MemberExpression\":\n {\n const parent = path.getParentNode();\n let firstNonMemberParent;\n let i = 0;\n\n do {\n firstNonMemberParent = path.getParentNode(i);\n i++;\n } while (firstNonMemberParent && (firstNonMemberParent.type === \"MemberExpression\" || firstNonMemberParent.type === \"OptionalMemberExpression\" || firstNonMemberParent.type === \"TSNonNullExpression\"));\n\n const shouldInline = firstNonMemberParent && (firstNonMemberParent.type === \"NewExpression\" || firstNonMemberParent.type === \"BindExpression\" || firstNonMemberParent.type === \"VariableDeclarator\" && firstNonMemberParent.id.type !== \"Identifier\" || firstNonMemberParent.type === \"AssignmentExpression\" && firstNonMemberParent.left.type !== \"Identifier\") || n.computed || n.object.type === \"Identifier\" && n.property.type === \"Identifier\" && parent.type !== \"MemberExpression\" && parent.type !== \"OptionalMemberExpression\";\n return concat$d([path.call(print, \"object\"), shouldInline ? printMemberLookup(path, options, print) : group$b(indent$7(concat$d([softline$6, printMemberLookup(path, options, print)])))]);\n }\n\n case \"MetaProperty\":\n return concat$d([path.call(print, \"meta\"), \".\", path.call(print, \"property\")]);\n\n case \"BindExpression\":\n if (n.object) {\n parts.push(path.call(print, \"object\"));\n }\n\n parts.push(group$b(indent$7(concat$d([softline$6, printBindExpressionCallee(path, options, print)]))));\n return concat$d(parts);\n\n case \"Identifier\":\n {\n return concat$d([n.name, printOptionalToken(path), printTypeAnnotation(path, options, print)]);\n }\n\n case \"V8IntrinsicIdentifier\":\n return concat$d([\"%\", n.name]);\n\n case \"SpreadElement\":\n case \"SpreadElementPattern\":\n case \"SpreadProperty\":\n case \"SpreadPropertyPattern\":\n case \"RestElement\":\n case \"ObjectTypeSpreadProperty\":\n return concat$d([\"...\", path.call(print, \"argument\"), printTypeAnnotation(path, options, print)]);\n\n case \"FunctionDeclaration\":\n case \"FunctionExpression\":\n parts.push(printFunctionDeclaration(path, print, options));\n\n if (!n.body) {\n parts.push(semi);\n }\n\n return concat$d(parts);\n\n case \"ArrowFunctionExpression\":\n {\n if (n.async) {\n parts.push(\"async \");\n }\n\n if (shouldPrintParamsWithoutParens(path, options)) {\n parts.push(path.call(print, \"params\", 0));\n } else {\n parts.push(group$b(concat$d([printFunctionParams(path, print, options,\n /* expandLast */\n args && (args.expandLastArg || args.expandFirstArg),\n /* printTypeParams */\n true), printReturnType(path, print, options)])));\n }\n\n const dangling = comments.printDanglingComments(path, options,\n /* sameIndent */\n true, comment => {\n const nextCharacter = getNextNonSpaceNonCommentCharacterIndex$3(options.originalText, comment, options.locEnd);\n return options.originalText.slice(nextCharacter, nextCharacter + 2) === \"=>\";\n });\n\n if (dangling) {\n parts.push(\" \", dangling);\n }\n\n parts.push(\" =>\");\n const body = path.call(bodyPath => print(bodyPath, args), \"body\"); // We want to always keep these types of nodes on the same line\n // as the arrow.\n\n if (!hasLeadingOwnLineComment$1(options.originalText, n.body, options) && (n.body.type === \"ArrayExpression\" || n.body.type === \"ObjectExpression\" || n.body.type === \"BlockStatement\" || isJSXNode$1(n.body) || isTemplateOnItsOwnLine$1(n.body, options.originalText, options) || n.body.type === \"ArrowFunctionExpression\" || n.body.type === \"DoExpression\")) {\n return group$b(concat$d([concat$d(parts), \" \", body]));\n } // We handle sequence expressions as the body of arrows specially,\n // so that the required parentheses end up on their own lines.\n\n\n if (n.body.type === \"SequenceExpression\") {\n return group$b(concat$d([concat$d(parts), group$b(concat$d([\" (\", indent$7(concat$d([softline$6, body])), softline$6, \")\"]))]));\n } // if the arrow function is expanded as last argument, we are adding a\n // level of indentation and need to add a softline to align the closing )\n // with the opening (, or if it's inside a JSXExpression (e.g. an attribute)\n // we should align the expression's closing } with the line with the opening {.\n\n\n const shouldAddSoftLine = (args && args.expandLastArg || path.getParentNode().type === \"JSXExpressionContainer\") && !(n.comments && n.comments.length);\n const printTrailingComma = args && args.expandLastArg && shouldPrintComma$1(options, \"all\"); // In order to avoid confusion between\n // a => a ? a : a\n // a <= a ? a : a\n\n const shouldAddParens = n.body.type === \"ConditionalExpression\" && !startsWithNoLookaheadToken$1(n.body,\n /* forbidFunctionAndClass */\n false);\n return group$b(concat$d([concat$d(parts), group$b(concat$d([indent$7(concat$d([line$9, shouldAddParens ? ifBreak$6(\"\", \"(\") : \"\", body, shouldAddParens ? ifBreak$6(\"\", \")\") : \"\"])), shouldAddSoftLine ? concat$d([ifBreak$6(printTrailingComma ? \",\" : \"\"), softline$6]) : \"\"]))]));\n }\n\n case \"YieldExpression\":\n parts.push(\"yield\");\n\n if (n.delegate) {\n parts.push(\"*\");\n }\n\n if (n.argument) {\n parts.push(\" \", path.call(print, \"argument\"));\n }\n\n return concat$d(parts);\n\n case \"AwaitExpression\":\n {\n parts.push(\"await \", path.call(print, \"argument\"));\n const parent = path.getParentNode();\n\n if ((parent.type === \"CallExpression\" || parent.type === \"OptionalCallExpression\") && parent.callee === n || (parent.type === \"MemberExpression\" || parent.type === \"OptionalMemberExpression\") && parent.object === n) {\n return group$b(concat$d([indent$7(concat$d([softline$6, concat$d(parts)])), softline$6]));\n }\n\n return concat$d(parts);\n }\n\n case \"ImportSpecifier\":\n if (n.importKind) {\n parts.push(path.call(print, \"importKind\"), \" \");\n }\n\n parts.push(path.call(print, \"imported\"));\n\n if (n.local && n.local.name !== n.imported.name) {\n parts.push(\" as \", path.call(print, \"local\"));\n }\n\n return concat$d(parts);\n\n case \"ExportSpecifier\":\n parts.push(path.call(print, \"local\"));\n\n if (n.exported && n.exported.name !== n.local.name) {\n parts.push(\" as \", path.call(print, \"exported\"));\n }\n\n return concat$d(parts);\n\n case \"ImportNamespaceSpecifier\":\n parts.push(\"* as \");\n parts.push(path.call(print, \"local\"));\n return concat$d(parts);\n\n case \"ImportDefaultSpecifier\":\n return path.call(print, \"local\");\n\n case \"TSExportAssignment\":\n return concat$d([\"export = \", path.call(print, \"expression\"), semi]);\n\n case \"ExportDefaultDeclaration\":\n case \"ExportNamedDeclaration\":\n return printExportDeclaration(path, options, print);\n\n case \"ExportAllDeclaration\":\n parts.push(\"export \");\n\n if (n.exportKind === \"type\") {\n parts.push(\"type \");\n }\n\n parts.push(\"* \");\n\n if (n.exported) {\n parts.push(\"as \", path.call(print, \"exported\"), \" \");\n }\n\n parts.push(\"from \", path.call(print, \"source\"), semi);\n return concat$d(parts);\n\n case \"ExportNamespaceSpecifier\":\n case \"ExportDefaultSpecifier\":\n return path.call(print, \"exported\");\n\n case \"ImportDeclaration\":\n {\n parts.push(\"import \");\n\n if (n.importKind && n.importKind !== \"value\") {\n parts.push(n.importKind + \" \");\n }\n\n const standalones = [];\n const grouped = [];\n\n if (n.specifiers && n.specifiers.length > 0) {\n path.each(specifierPath => {\n const value = specifierPath.getValue();\n\n if (value.type === \"ImportDefaultSpecifier\" || value.type === \"ImportNamespaceSpecifier\") {\n standalones.push(print(specifierPath));\n } else {\n grouped.push(print(specifierPath));\n }\n }, \"specifiers\");\n\n if (standalones.length > 0) {\n parts.push(join$9(\", \", standalones));\n }\n\n if (standalones.length > 0 && grouped.length > 0) {\n parts.push(\", \");\n }\n\n if (grouped.length === 1 && standalones.length === 0 && n.specifiers && !n.specifiers.some(node => node.comments)) {\n parts.push(concat$d([\"{\", options.bracketSpacing ? \" \" : \"\", concat$d(grouped), options.bracketSpacing ? \" \" : \"\", \"}\"]));\n } else if (grouped.length >= 1) {\n parts.push(group$b(concat$d([\"{\", indent$7(concat$d([options.bracketSpacing ? line$9 : softline$6, join$9(concat$d([\",\", line$9]), grouped)])), ifBreak$6(shouldPrintComma$1(options) ? \",\" : \"\"), options.bracketSpacing ? line$9 : softline$6, \"}\"])));\n }\n\n parts.push(\" from \");\n } else if (n.importKind && n.importKind === \"type\" || // import {} from 'x'\n /{\\s*}/.test(options.originalText.slice(options.locStart(n), options.locStart(n.source)))) {\n parts.push(\"{} from \");\n }\n\n parts.push(path.call(print, \"source\"), semi);\n return concat$d(parts);\n }\n\n case \"Import\":\n return \"import\";\n\n case \"TSModuleBlock\":\n case \"BlockStatement\":\n {\n const naked = path.call(bodyPath => {\n return printStatementSequence(bodyPath, options, print);\n }, \"body\");\n const hasContent = n.body.find(node => node.type !== \"EmptyStatement\");\n const hasDirectives = n.directives && n.directives.length > 0;\n const parent = path.getParentNode();\n const parentParent = path.getParentNode(1);\n\n if (!hasContent && !hasDirectives && !hasDanglingComments$1(n) && (parent.type === \"ArrowFunctionExpression\" || parent.type === \"FunctionExpression\" || parent.type === \"FunctionDeclaration\" || parent.type === \"ObjectMethod\" || parent.type === \"ClassMethod\" || parent.type === \"ClassPrivateMethod\" || parent.type === \"ForStatement\" || parent.type === \"WhileStatement\" || parent.type === \"DoWhileStatement\" || parent.type === \"DoExpression\" || parent.type === \"CatchClause\" && !parentParent.finalizer || parent.type === \"TSModuleDeclaration\")) {\n return \"{}\";\n }\n\n parts.push(\"{\"); // Babel 6\n\n if (hasDirectives) {\n path.each(childPath => {\n parts.push(indent$7(concat$d([hardline$9, print(childPath), semi])));\n\n if (isNextLineEmpty$4(options.originalText, childPath.getValue(), options.locEnd)) {\n parts.push(hardline$9);\n }\n }, \"directives\");\n }\n\n if (hasContent) {\n parts.push(indent$7(concat$d([hardline$9, naked])));\n }\n\n parts.push(comments.printDanglingComments(path, options));\n parts.push(hardline$9, \"}\");\n return concat$d(parts);\n }\n\n case \"ReturnStatement\":\n return concat$d([\"return\", printReturnAndThrowArgument(path, options, print)]);\n\n case \"NewExpression\":\n case \"OptionalCallExpression\":\n case \"CallExpression\":\n {\n const isNew = n.type === \"NewExpression\";\n const optional = printOptionalToken(path);\n\n if ( // We want to keep CommonJS- and AMD-style require calls, and AMD-style\n // define calls, as a unit.\n // e.g. `define([\"some/lib\", (lib) => {`\n !isNew && n.callee.type === \"Identifier\" && (n.callee.name === \"require\" || n.callee.name === \"define\") || // Template literals as single arguments\n n.arguments.length === 1 && isTemplateOnItsOwnLine$1(n.arguments[0], options.originalText, options) || // Keep test declarations on a single line\n // e.g. `it('long name', () => {`\n !isNew && isTestCall$1(n, path.getParentNode())) {\n return concat$d([isNew ? \"new \" : \"\", path.call(print, \"callee\"), optional, printFunctionTypeParameters(path, options, print), concat$d([\"(\", join$9(\", \", path.map(print, \"arguments\")), \")\"])]);\n } // Inline Flow annotation comments following Identifiers in Call nodes need to\n // stay with the Identifier. For example:\n //\n // foo /*:: */(bar);\n //\n // Here, we ensure that such comments stay between the Identifier and the Callee.\n\n\n const isIdentifierWithFlowAnnotation = n.callee.type === \"Identifier\" && hasFlowAnnotationComment$1(n.callee.trailingComments);\n\n if (isIdentifierWithFlowAnnotation) {\n n.callee.trailingComments[0].printed = true;\n } // We detect calls on member lookups and possibly print them in a\n // special chain format. See `printMemberChain` for more info.\n\n\n if (!isNew && isMemberish$1(n.callee) && !path.call(path => needsParens_1(path, options), \"callee\")) {\n return printMemberChain(path, options, print);\n }\n\n const contents = concat$d([isNew ? \"new \" : \"\", path.call(print, \"callee\"), optional, isIdentifierWithFlowAnnotation ? \"/*:: \".concat(n.callee.trailingComments[0].value.slice(2).trim(), \" */\") : \"\", printFunctionTypeParameters(path, options, print), printArgumentsList(path, options, print)]); // We group here when the callee is itself a call expression.\n // See `isLongCurriedCallExpression` for more info.\n\n if (isCallOrOptionalCallExpression$1(n.callee)) {\n return group$b(contents);\n }\n\n return contents;\n }\n\n case \"TSInterfaceDeclaration\":\n if (n.declare) {\n parts.push(\"declare \");\n }\n\n parts.push(n.abstract ? \"abstract \" : \"\", printTypeScriptModifiers(path, options, print), \"interface \", path.call(print, \"id\"), n.typeParameters ? path.call(print, \"typeParameters\") : \"\", \" \");\n\n if (n.extends && n.extends.length) {\n parts.push(group$b(indent$7(concat$d([softline$6, \"extends \", (n.extends.length === 1 ? identity$2 : indent$7)(join$9(concat$d([\",\", line$9]), path.map(print, \"extends\"))), \" \"]))));\n }\n\n parts.push(path.call(print, \"body\"));\n return concat$d(parts);\n\n case \"ObjectTypeInternalSlot\":\n return concat$d([n.static ? \"static \" : \"\", \"[[\", path.call(print, \"id\"), \"]]\", printOptionalToken(path), n.method ? \"\" : \": \", path.call(print, \"value\")]);\n\n case \"ObjectExpression\":\n case \"ObjectPattern\":\n case \"ObjectTypeAnnotation\":\n case \"TSInterfaceBody\":\n case \"TSTypeLiteral\":\n {\n let propertiesField;\n\n if (n.type === \"TSTypeLiteral\") {\n propertiesField = \"members\";\n } else if (n.type === \"TSInterfaceBody\") {\n propertiesField = \"body\";\n } else {\n propertiesField = \"properties\";\n }\n\n const isTypeAnnotation = n.type === \"ObjectTypeAnnotation\";\n const fields = [];\n\n if (isTypeAnnotation) {\n fields.push(\"indexers\", \"callProperties\", \"internalSlots\");\n }\n\n fields.push(propertiesField);\n const firstProperty = fields.map(field => n[field][0]).sort((a, b) => options.locStart(a) - options.locStart(b))[0];\n const parent = path.getParentNode(0);\n const isFlowInterfaceLikeBody = isTypeAnnotation && parent && (parent.type === \"InterfaceDeclaration\" || parent.type === \"DeclareInterface\" || parent.type === \"DeclareClass\") && path.getName() === \"body\";\n const shouldBreak = n.type === \"TSInterfaceBody\" || isFlowInterfaceLikeBody || n.type === \"ObjectPattern\" && parent.type !== \"FunctionDeclaration\" && parent.type !== \"FunctionExpression\" && parent.type !== \"ArrowFunctionExpression\" && parent.type !== \"ObjectMethod\" && parent.type !== \"ClassMethod\" && parent.type !== \"ClassPrivateMethod\" && parent.type !== \"AssignmentPattern\" && parent.type !== \"CatchClause\" && n.properties.some(property => property.value && (property.value.type === \"ObjectPattern\" || property.value.type === \"ArrayPattern\")) || n.type !== \"ObjectPattern\" && firstProperty && hasNewlineInRange$3(options.originalText, options.locStart(n), options.locStart(firstProperty));\n const separator = isFlowInterfaceLikeBody ? \";\" : n.type === \"TSInterfaceBody\" || n.type === \"TSTypeLiteral\" ? ifBreak$6(semi, \";\") : \",\";\n const leftBrace = n.exact ? \"{|\" : \"{\";\n const rightBrace = n.exact ? \"|}\" : \"}\"; // Unfortunately, things are grouped together in the ast can be\n // interleaved in the source code. So we need to reorder them before\n // printing them.\n\n const propsAndLoc = [];\n fields.forEach(field => {\n path.each(childPath => {\n const node = childPath.getValue();\n propsAndLoc.push({\n node,\n printed: print(childPath),\n loc: options.locStart(node)\n });\n }, field);\n });\n let separatorParts = [];\n const props = propsAndLoc.sort((a, b) => a.loc - b.loc).map(prop => {\n const result = concat$d(separatorParts.concat(group$b(prop.printed)));\n separatorParts = [separator, line$9];\n\n if ((prop.node.type === \"TSPropertySignature\" || prop.node.type === \"TSMethodSignature\" || prop.node.type === \"TSConstructSignatureDeclaration\") && hasNodeIgnoreComment$2(prop.node)) {\n separatorParts.shift();\n }\n\n if (isNextLineEmpty$4(options.originalText, prop.node, options.locEnd)) {\n separatorParts.push(hardline$9);\n }\n\n return result;\n });\n\n if (n.inexact) {\n let printed;\n\n if (hasDanglingComments$1(n)) {\n const hasLineComments = !n.comments.every(comments$1.isBlockComment);\n const printedDanglingComments = comments.printDanglingComments(path, options,\n /* sameIndent */\n true);\n printed = concat$d([printedDanglingComments, hasLineComments || hasNewline$5(options.originalText, options.locEnd(n.comments[n.comments.length - 1])) ? hardline$9 : line$9, \"...\"]);\n } else {\n printed = \"...\";\n }\n\n props.push(concat$d(separatorParts.concat(printed)));\n }\n\n const lastElem = getLast$3(n[propertiesField]);\n const canHaveTrailingSeparator = !(n.inexact || lastElem && (lastElem.type === \"RestElement\" || hasNodeIgnoreComment$2(lastElem)));\n let content;\n\n if (props.length === 0) {\n if (!hasDanglingComments$1(n)) {\n return concat$d([leftBrace, rightBrace, printTypeAnnotation(path, options, print)]);\n }\n\n content = group$b(concat$d([leftBrace, comments.printDanglingComments(path, options), softline$6, rightBrace, printOptionalToken(path), printTypeAnnotation(path, options, print)]));\n } else {\n content = concat$d([leftBrace, indent$7(concat$d([options.bracketSpacing ? line$9 : softline$6, concat$d(props)])), ifBreak$6(canHaveTrailingSeparator && (separator !== \",\" || shouldPrintComma$1(options)) ? separator : \"\"), concat$d([options.bracketSpacing ? line$9 : softline$6, rightBrace]), printOptionalToken(path), printTypeAnnotation(path, options, print)]);\n } // If we inline the object as first argument of the parent, we don't want\n // to create another group so that the object breaks before the return\n // type\n\n\n if (path.match(node => node.type === \"ObjectPattern\" && !node.decorators, (node, name, number) => shouldHugArguments(node) && (name === \"params\" || name === \"parameters\") && number === 0) || path.match(shouldHugType, (node, name) => name === \"typeAnnotation\", (node, name) => name === \"typeAnnotation\", (node, name, number) => shouldHugArguments(node) && (name === \"params\" || name === \"parameters\") && number === 0)) {\n return content;\n }\n\n return group$b(content, {\n shouldBreak\n });\n }\n // Babel 6\n\n case \"ObjectProperty\": // Non-standard AST node type.\n\n case \"Property\":\n if (n.method || n.kind === \"get\" || n.kind === \"set\") {\n return printMethod(path, options, print);\n }\n\n if (n.shorthand) {\n parts.push(path.call(print, \"value\"));\n } else {\n parts.push(printAssignment(n.key, printPropertyKey(path, options, print), \":\", n.value, path.call(print, \"value\"), options));\n }\n\n return concat$d(parts);\n // Babel 6\n\n case \"ClassMethod\":\n case \"ClassPrivateMethod\":\n case \"MethodDefinition\":\n case \"TSAbstractMethodDefinition\":\n case \"TSDeclareMethod\":\n if (n.decorators && n.decorators.length !== 0) {\n parts.push(printDecorators(path, options, print));\n }\n\n if (n.accessibility) {\n parts.push(n.accessibility + \" \");\n }\n\n if (n.static) {\n parts.push(\"static \");\n }\n\n if (n.type === \"TSAbstractMethodDefinition\" || n.abstract) {\n parts.push(\"abstract \");\n }\n\n parts.push(printMethod(path, options, print));\n return concat$d(parts);\n\n case \"ObjectMethod\":\n return printMethod(path, options, print);\n\n case \"Decorator\":\n return concat$d([\"@\", path.call(print, \"expression\"), path.call(print, \"callee\")]);\n\n case \"ArrayExpression\":\n case \"ArrayPattern\":\n if (n.elements.length === 0) {\n if (!hasDanglingComments$1(n)) {\n parts.push(\"[]\");\n } else {\n parts.push(group$b(concat$d([\"[\", comments.printDanglingComments(path, options), softline$6, \"]\"])));\n }\n } else {\n const lastElem = getLast$3(n.elements);\n const canHaveTrailingComma = !(lastElem && lastElem.type === \"RestElement\"); // JavaScript allows you to have empty elements in an array which\n // changes its length based on the number of commas. The algorithm\n // is that if the last argument is null, we need to force insert\n // a comma to ensure JavaScript recognizes it.\n // [,].length === 1\n // [1,].length === 1\n // [1,,].length === 2\n //\n // Note that getLast returns null if the array is empty, but\n // we already check for an empty array just above so we are safe\n\n const needsForcedTrailingComma = canHaveTrailingComma && lastElem === null;\n const shouldBreak = n.elements.length > 1 && n.elements.every((element, i, elements) => {\n const elementType = element && element.type;\n\n if (elementType !== \"ArrayExpression\" && elementType !== \"ObjectExpression\") {\n return false;\n }\n\n const nextElement = elements[i + 1];\n\n if (nextElement && elementType !== nextElement.type) {\n return false;\n }\n\n const itemsKey = elementType === \"ArrayExpression\" ? \"elements\" : \"properties\";\n return element[itemsKey] && element[itemsKey].length > 1;\n });\n parts.push(group$b(concat$d([\"[\", indent$7(concat$d([softline$6, printArrayItems(path, options, \"elements\", print)])), needsForcedTrailingComma ? \",\" : \"\", ifBreak$6(canHaveTrailingComma && !needsForcedTrailingComma && shouldPrintComma$1(options) ? \",\" : \"\"), comments.printDanglingComments(path, options,\n /* sameIndent */\n true), softline$6, \"]\"]), {\n shouldBreak\n }));\n }\n\n parts.push(printOptionalToken(path), printTypeAnnotation(path, options, print));\n return concat$d(parts);\n\n case \"SequenceExpression\":\n {\n const parent = path.getParentNode(0);\n\n if (parent.type === \"ExpressionStatement\" || parent.type === \"ForStatement\") {\n // For ExpressionStatements and for-loop heads, which are among\n // the few places a SequenceExpression appears unparenthesized, we want\n // to indent expressions after the first.\n const parts = [];\n path.each(p => {\n if (p.getName() === 0) {\n parts.push(print(p));\n } else {\n parts.push(\",\", indent$7(concat$d([line$9, print(p)])));\n }\n }, \"expressions\");\n return group$b(concat$d(parts));\n }\n\n return group$b(concat$d([join$9(concat$d([\",\", line$9]), path.map(print, \"expressions\"))]));\n }\n\n case \"ThisExpression\":\n return \"this\";\n\n case \"Super\":\n return \"super\";\n\n case \"NullLiteral\":\n // Babel 6 Literal split\n return \"null\";\n\n case \"RegExpLiteral\":\n // Babel 6 Literal split\n return printRegex(n);\n\n case \"NumericLiteral\":\n // Babel 6 Literal split\n return printNumber$2(n.extra.raw);\n\n case \"BigIntLiteral\":\n // babel: n.extra.raw, typescript: n.raw, flow: n.bigint\n return (n.bigint || (n.extra ? n.extra.raw : n.raw)).toLowerCase();\n\n case \"BooleanLiteral\": // Babel 6 Literal split\n\n case \"StringLiteral\": // Babel 6 Literal split\n\n case \"Literal\":\n {\n if (n.regex) {\n return printRegex(n.regex);\n }\n\n if (typeof n.value === \"number\") {\n return printNumber$2(n.raw);\n }\n\n if (typeof n.value !== \"string\") {\n return \"\" + n.value;\n } // TypeScript workaround for https://github.com/JamesHenry/typescript-estree/issues/2\n // See corresponding workaround in needs-parens.js\n\n\n const grandParent = path.getParentNode(1);\n const isTypeScriptDirective = options.parser === \"typescript\" && typeof n.value === \"string\" && grandParent && (grandParent.type === \"Program\" || grandParent.type === \"BlockStatement\");\n return nodeStr(n, options, isTypeScriptDirective);\n }\n\n case \"Directive\":\n return path.call(print, \"value\");\n // Babel 6\n\n case \"DirectiveLiteral\":\n return nodeStr(n, options);\n\n case \"UnaryExpression\":\n parts.push(n.operator);\n\n if (/[a-z]$/.test(n.operator)) {\n parts.push(\" \");\n }\n\n if (n.argument.comments && n.argument.comments.length > 0) {\n parts.push(group$b(concat$d([\"(\", indent$7(concat$d([softline$6, path.call(print, \"argument\")])), softline$6, \")\"])));\n } else {\n parts.push(path.call(print, \"argument\"));\n }\n\n return concat$d(parts);\n\n case \"UpdateExpression\":\n parts.push(path.call(print, \"argument\"), n.operator);\n\n if (n.prefix) {\n parts.reverse();\n }\n\n return concat$d(parts);\n\n case \"ConditionalExpression\":\n return printTernaryOperator(path, options, print, {\n beforeParts: () => [path.call(print, \"test\")],\n afterParts: breakClosingParen => [breakClosingParen ? softline$6 : \"\"],\n shouldCheckJsx: true,\n conditionalNodeType: \"ConditionalExpression\",\n consequentNodePropertyName: \"consequent\",\n alternateNodePropertyName: \"alternate\",\n testNodePropertyNames: [\"test\"]\n });\n\n case \"VariableDeclaration\":\n {\n const printed = path.map(childPath => {\n return print(childPath);\n }, \"declarations\"); // We generally want to terminate all variable declarations with a\n // semicolon, except when they in the () part of for loops.\n\n const parentNode = path.getParentNode();\n const isParentForLoop = parentNode.type === \"ForStatement\" || parentNode.type === \"ForInStatement\" || parentNode.type === \"ForOfStatement\";\n const hasValue = n.declarations.some(decl => decl.init);\n let firstVariable;\n\n if (printed.length === 1 && !n.declarations[0].comments) {\n firstVariable = printed[0];\n } else if (printed.length > 0) {\n // Indent first var to comply with eslint one-var rule\n firstVariable = indent$7(printed[0]);\n }\n\n parts = [n.declare ? \"declare \" : \"\", n.kind, firstVariable ? concat$d([\" \", firstVariable]) : \"\", indent$7(concat$d(printed.slice(1).map(p => concat$d([\",\", hasValue && !isParentForLoop ? hardline$9 : line$9, p]))))];\n\n if (!(isParentForLoop && parentNode.body !== n)) {\n parts.push(semi);\n }\n\n return group$b(concat$d(parts));\n }\n\n case \"TSTypeAliasDeclaration\":\n {\n if (n.declare) {\n parts.push(\"declare \");\n }\n\n const printed = printAssignmentRight(n.id, n.typeAnnotation, n.typeAnnotation && path.call(print, \"typeAnnotation\"), options);\n parts.push(\"type \", path.call(print, \"id\"), path.call(print, \"typeParameters\"), \" =\", printed, semi);\n return group$b(concat$d(parts));\n }\n\n case \"VariableDeclarator\":\n return printAssignment(n.id, path.call(print, \"id\"), \" =\", n.init, n.init && path.call(print, \"init\"), options);\n\n case \"WithStatement\":\n return group$b(concat$d([\"with (\", path.call(print, \"object\"), \")\", adjustClause(n.body, path.call(print, \"body\"))]));\n\n case \"IfStatement\":\n {\n const con = adjustClause(n.consequent, path.call(print, \"consequent\"));\n const opening = group$b(concat$d([\"if (\", group$b(concat$d([indent$7(concat$d([softline$6, path.call(print, \"test\")])), softline$6])), \")\", con]));\n parts.push(opening);\n\n if (n.alternate) {\n const commentOnOwnLine = hasTrailingComment$1(n.consequent) && n.consequent.comments.some(comment => comment.trailing && !comments$1.isBlockComment(comment)) || needsHardlineAfterDanglingComment$1(n);\n const elseOnSameLine = n.consequent.type === \"BlockStatement\" && !commentOnOwnLine;\n parts.push(elseOnSameLine ? \" \" : hardline$9);\n\n if (hasDanglingComments$1(n)) {\n parts.push(comments.printDanglingComments(path, options, true), commentOnOwnLine ? hardline$9 : \" \");\n }\n\n parts.push(\"else\", group$b(adjustClause(n.alternate, path.call(print, \"alternate\"), n.alternate.type === \"IfStatement\")));\n }\n\n return concat$d(parts);\n }\n\n case \"ForStatement\":\n {\n const body = adjustClause(n.body, path.call(print, \"body\")); // We want to keep dangling comments above the loop to stay consistent.\n // Any comment positioned between the for statement and the parentheses\n // is going to be printed before the statement.\n\n const dangling = comments.printDanglingComments(path, options,\n /* sameLine */\n true);\n const printedComments = dangling ? concat$d([dangling, softline$6]) : \"\";\n\n if (!n.init && !n.test && !n.update) {\n return concat$d([printedComments, group$b(concat$d([\"for (;;)\", body]))]);\n }\n\n return concat$d([printedComments, group$b(concat$d([\"for (\", group$b(concat$d([indent$7(concat$d([softline$6, path.call(print, \"init\"), \";\", line$9, path.call(print, \"test\"), \";\", line$9, path.call(print, \"update\")])), softline$6])), \")\", body]))]);\n }\n\n case \"WhileStatement\":\n return group$b(concat$d([\"while (\", group$b(concat$d([indent$7(concat$d([softline$6, path.call(print, \"test\")])), softline$6])), \")\", adjustClause(n.body, path.call(print, \"body\"))]));\n\n case \"ForInStatement\":\n // Note: esprima can't actually parse \"for each (\".\n return group$b(concat$d([n.each ? \"for each (\" : \"for (\", path.call(print, \"left\"), \" in \", path.call(print, \"right\"), \")\", adjustClause(n.body, path.call(print, \"body\"))]));\n\n case \"ForOfStatement\":\n return group$b(concat$d([\"for\", n.await ? \" await\" : \"\", \" (\", path.call(print, \"left\"), \" of \", path.call(print, \"right\"), \")\", adjustClause(n.body, path.call(print, \"body\"))]));\n\n case \"DoWhileStatement\":\n {\n const clause = adjustClause(n.body, path.call(print, \"body\"));\n const doBody = group$b(concat$d([\"do\", clause]));\n parts = [doBody];\n\n if (n.body.type === \"BlockStatement\") {\n parts.push(\" \");\n } else {\n parts.push(hardline$9);\n }\n\n parts.push(\"while (\");\n parts.push(group$b(concat$d([indent$7(concat$d([softline$6, path.call(print, \"test\")])), softline$6])), \")\", semi);\n return concat$d(parts);\n }\n\n case \"DoExpression\":\n return concat$d([\"do \", path.call(print, \"body\")]);\n\n case \"BreakStatement\":\n parts.push(\"break\");\n\n if (n.label) {\n parts.push(\" \", path.call(print, \"label\"));\n }\n\n parts.push(semi);\n return concat$d(parts);\n\n case \"ContinueStatement\":\n parts.push(\"continue\");\n\n if (n.label) {\n parts.push(\" \", path.call(print, \"label\"));\n }\n\n parts.push(semi);\n return concat$d(parts);\n\n case \"LabeledStatement\":\n if (n.body.type === \"EmptyStatement\") {\n return concat$d([path.call(print, \"label\"), \":;\"]);\n }\n\n return concat$d([path.call(print, \"label\"), \": \", path.call(print, \"body\")]);\n\n case \"TryStatement\":\n return concat$d([\"try \", path.call(print, \"block\"), n.handler ? concat$d([\" \", path.call(print, \"handler\")]) : \"\", n.finalizer ? concat$d([\" finally \", path.call(print, \"finalizer\")]) : \"\"]);\n\n case \"CatchClause\":\n if (n.param) {\n const hasComments = n.param.comments && n.param.comments.some(comment => !comments$1.isBlockComment(comment) || comment.leading && hasNewline$5(options.originalText, options.locEnd(comment)) || comment.trailing && hasNewline$5(options.originalText, options.locStart(comment), {\n backwards: true\n }));\n const param = path.call(print, \"param\");\n return concat$d([\"catch \", hasComments ? concat$d([\"(\", indent$7(concat$d([softline$6, param])), softline$6, \") \"]) : concat$d([\"(\", param, \") \"]), path.call(print, \"body\")]);\n }\n\n return concat$d([\"catch \", path.call(print, \"body\")]);\n\n case \"ThrowStatement\":\n return concat$d([\"throw\", printReturnAndThrowArgument(path, options, print)]);\n // Note: ignoring n.lexical because it has no printing consequences.\n\n case \"SwitchStatement\":\n return concat$d([group$b(concat$d([\"switch (\", indent$7(concat$d([softline$6, path.call(print, \"discriminant\")])), softline$6, \")\"])), \" {\", n.cases.length > 0 ? indent$7(concat$d([hardline$9, join$9(hardline$9, path.map(casePath => {\n const caseNode = casePath.getValue();\n return concat$d([casePath.call(print), n.cases.indexOf(caseNode) !== n.cases.length - 1 && isNextLineEmpty$4(options.originalText, caseNode, options.locEnd) ? hardline$9 : \"\"]);\n }, \"cases\"))])) : \"\", hardline$9, \"}\"]);\n\n case \"SwitchCase\":\n {\n if (n.test) {\n parts.push(\"case \", path.call(print, \"test\"), \":\");\n } else {\n parts.push(\"default:\");\n }\n\n const consequent = n.consequent.filter(node => node.type !== \"EmptyStatement\");\n\n if (consequent.length > 0) {\n const cons = path.call(consequentPath => {\n return printStatementSequence(consequentPath, options, print);\n }, \"consequent\");\n parts.push(consequent.length === 1 && consequent[0].type === \"BlockStatement\" ? concat$d([\" \", cons]) : indent$7(concat$d([hardline$9, cons])));\n }\n\n return concat$d(parts);\n }\n // JSX extensions below.\n\n case \"DebuggerStatement\":\n return concat$d([\"debugger\", semi]);\n\n case \"JSXAttribute\":\n parts.push(path.call(print, \"name\"));\n\n if (n.value) {\n let res;\n\n if (isStringLiteral$1(n.value)) {\n const raw = rawText$1(n.value); // Unescape all quotes so we get an accurate preferred quote\n\n let final = raw.replace(/'/g, \"'\").replace(/"/g, '\"');\n const quote = getPreferredQuote$1(final, options.jsxSingleQuote ? \"'\" : '\"');\n const escape = quote === \"'\" ? \"'\" : \""\";\n final = final.slice(1, -1).replace(new RegExp(quote, \"g\"), escape);\n res = concat$d([quote, final, quote]);\n } else {\n res = path.call(print, \"value\");\n }\n\n parts.push(\"=\", res);\n }\n\n return concat$d(parts);\n\n case \"JSXIdentifier\":\n return \"\" + n.name;\n\n case \"JSXNamespacedName\":\n return join$9(\":\", [path.call(print, \"namespace\"), path.call(print, \"name\")]);\n\n case \"JSXMemberExpression\":\n return join$9(\".\", [path.call(print, \"object\"), path.call(print, \"property\")]);\n\n case \"TSQualifiedName\":\n return join$9(\".\", [path.call(print, \"left\"), path.call(print, \"right\")]);\n\n case \"JSXSpreadAttribute\":\n case \"JSXSpreadChild\":\n {\n return concat$d([\"{\", path.call(p => {\n const printed = concat$d([\"...\", print(p)]);\n const n = p.getValue();\n\n if (!n.comments || !n.comments.length) {\n return printed;\n }\n\n return concat$d([indent$7(concat$d([softline$6, comments.printComments(p, () => printed, options)])), softline$6]);\n }, n.type === \"JSXSpreadAttribute\" ? \"argument\" : \"expression\"), \"}\"]);\n }\n\n case \"JSXExpressionContainer\":\n {\n const parent = path.getParentNode(0);\n const hasComments = n.expression.comments && n.expression.comments.length > 0;\n const shouldInline = n.expression.type === \"JSXEmptyExpression\" || !hasComments && (n.expression.type === \"ArrayExpression\" || n.expression.type === \"ObjectExpression\" || n.expression.type === \"ArrowFunctionExpression\" || n.expression.type === \"CallExpression\" || n.expression.type === \"OptionalCallExpression\" || n.expression.type === \"FunctionExpression\" || n.expression.type === \"TemplateLiteral\" || n.expression.type === \"TaggedTemplateExpression\" || n.expression.type === \"DoExpression\" || isJSXNode$1(parent) && (n.expression.type === \"ConditionalExpression\" || isBinaryish$1(n.expression)));\n\n if (shouldInline) {\n return group$b(concat$d([\"{\", path.call(print, \"expression\"), lineSuffixBoundary$1, \"}\"]));\n }\n\n return group$b(concat$d([\"{\", indent$7(concat$d([softline$6, path.call(print, \"expression\")])), softline$6, lineSuffixBoundary$1, \"}\"]));\n }\n\n case \"JSXFragment\":\n case \"JSXElement\":\n {\n const elem = comments.printComments(path, () => printJSXElement(path, options, print), options);\n return maybeWrapJSXElementInParens(path, elem, options);\n }\n\n case \"JSXOpeningElement\":\n {\n const n = path.getValue();\n const nameHasComments = n.name && n.name.comments && n.name.comments.length > 0 || n.typeParameters && n.typeParameters.comments && n.typeParameters.comments.length > 0; // Don't break self-closing elements with no attributes and no comments\n\n if (n.selfClosing && !n.attributes.length && !nameHasComments) {\n return concat$d([\"<\", path.call(print, \"name\"), path.call(print, \"typeParameters\"), \" />\"]);\n } // don't break up opening elements with a single long text attribute\n\n\n if (n.attributes && n.attributes.length === 1 && n.attributes[0].value && isStringLiteral$1(n.attributes[0].value) && !n.attributes[0].value.value.includes(\"\\n\") && // We should break for the following cases:\n // \n // \n !nameHasComments && (!n.attributes[0].comments || !n.attributes[0].comments.length)) {\n return group$b(concat$d([\"<\", path.call(print, \"name\"), path.call(print, \"typeParameters\"), \" \", concat$d(path.map(print, \"attributes\")), n.selfClosing ? \" />\" : \">\"]));\n }\n\n const lastAttrHasTrailingComments = n.attributes.length && hasTrailingComment$1(getLast$3(n.attributes));\n const bracketSameLine = // Simple tags (no attributes and no comment in tag name) should be\n // kept unbroken regardless of `jsxBracketSameLine`\n !n.attributes.length && !nameHasComments || options.jsxBracketSameLine && ( // We should print the bracket in a new line for the following cases:\n // \n // \n !nameHasComments || n.attributes.length) && !lastAttrHasTrailingComments; // We should print the opening element expanded if any prop value is a\n // string literal with newlines\n\n const shouldBreak = n.attributes && n.attributes.some(attr => attr.value && isStringLiteral$1(attr.value) && attr.value.value.includes(\"\\n\"));\n return group$b(concat$d([\"<\", path.call(print, \"name\"), path.call(print, \"typeParameters\"), concat$d([indent$7(concat$d(path.map(attr => concat$d([line$9, print(attr)]), \"attributes\"))), n.selfClosing ? line$9 : bracketSameLine ? \">\" : softline$6]), n.selfClosing ? \"/>\" : bracketSameLine ? \"\" : \">\"]), {\n shouldBreak\n });\n }\n\n case \"JSXClosingElement\":\n return concat$d([\"\"]);\n\n case \"JSXOpeningFragment\":\n case \"JSXClosingFragment\":\n {\n const hasComment = n.comments && n.comments.length;\n const hasOwnLineComment = hasComment && !n.comments.every(comments$1.isBlockComment);\n const isOpeningFragment = n.type === \"JSXOpeningFragment\";\n return concat$d([isOpeningFragment ? \"<\" : \"\"]);\n }\n\n case \"JSXText\":\n /* istanbul ignore next */\n throw new Error(\"JSXTest should be handled by JSXElement\");\n\n case \"JSXEmptyExpression\":\n {\n const requiresHardline = n.comments && !n.comments.every(comments$1.isBlockComment);\n return concat$d([comments.printDanglingComments(path, options,\n /* sameIndent */\n !requiresHardline), requiresHardline ? hardline$9 : \"\"]);\n }\n\n case \"ClassBody\":\n if (!n.comments && n.body.length === 0) {\n return \"{}\";\n }\n\n return concat$d([\"{\", n.body.length > 0 ? indent$7(concat$d([hardline$9, path.call(bodyPath => {\n return printStatementSequence(bodyPath, options, print);\n }, \"body\")])) : comments.printDanglingComments(path, options), hardline$9, \"}\"]);\n\n case \"ClassProperty\":\n case \"TSAbstractClassProperty\":\n case \"ClassPrivateProperty\":\n {\n if (n.decorators && n.decorators.length !== 0) {\n parts.push(printDecorators(path, options, print));\n }\n\n if (n.accessibility) {\n parts.push(n.accessibility + \" \");\n }\n\n if (n.declare) {\n parts.push(\"declare \");\n }\n\n if (n.static) {\n parts.push(\"static \");\n }\n\n if (n.type === \"TSAbstractClassProperty\" || n.abstract) {\n parts.push(\"abstract \");\n }\n\n if (n.readonly) {\n parts.push(\"readonly \");\n }\n\n const variance = getFlowVariance$1(n);\n\n if (variance) {\n parts.push(variance);\n }\n\n parts.push(printPropertyKey(path, options, print), printOptionalToken(path), printTypeAnnotation(path, options, print));\n\n if (n.value) {\n parts.push(\" =\", printAssignmentRight(n.key, n.value, path.call(print, \"value\"), options));\n }\n\n parts.push(semi);\n return group$b(concat$d(parts));\n }\n\n case \"ClassDeclaration\":\n case \"ClassExpression\":\n if (n.declare) {\n parts.push(\"declare \");\n }\n\n parts.push(concat$d(printClass(path, options, print)));\n return concat$d(parts);\n\n case \"TSInterfaceHeritage\":\n case \"TSExpressionWithTypeArguments\":\n // Babel AST\n parts.push(path.call(print, \"expression\"));\n\n if (n.typeParameters) {\n parts.push(path.call(print, \"typeParameters\"));\n }\n\n return concat$d(parts);\n\n case \"TemplateElement\":\n return join$9(literalline$4, n.value.raw.split(/\\r?\\n/g));\n\n case \"TemplateLiteral\":\n {\n let expressions = path.map(print, \"expressions\");\n const parentNode = path.getParentNode();\n\n if (isJestEachTemplateLiteral$1(n, parentNode)) {\n const printed = printJestEachTemplateLiteral(n, expressions, options);\n\n if (printed) {\n return printed;\n }\n }\n\n const isSimple = isSimpleTemplateLiteral$1(n);\n\n if (isSimple) {\n expressions = expressions.map(doc => printDocToString$2(doc, Object.assign({}, options, {\n printWidth: Infinity\n })).formatted);\n }\n\n parts.push(lineSuffixBoundary$1, \"`\");\n path.each(childPath => {\n const i = childPath.getName();\n parts.push(print(childPath));\n\n if (i < expressions.length) {\n // For a template literal of the following form:\n // `someQuery {\n // ${call({\n // a,\n // b,\n // })}\n // }`\n // the expression is on its own line (there is a \\n in the previous\n // quasi literal), therefore we want to indent the JavaScript\n // expression inside at the beginning of ${ instead of the beginning\n // of the `.\n const {\n tabWidth\n } = options;\n const quasi = childPath.getValue();\n const indentSize = getIndentSize$2(quasi.value.raw, tabWidth);\n let printed = expressions[i];\n\n if (!isSimple) {\n // Breaks at the template element boundaries (${ and }) are preferred to breaking\n // in the middle of a MemberExpression\n if (n.expressions[i].comments && n.expressions[i].comments.length || n.expressions[i].type === \"MemberExpression\" || n.expressions[i].type === \"OptionalMemberExpression\" || n.expressions[i].type === \"ConditionalExpression\" || n.expressions[i].type === \"SequenceExpression\" || n.expressions[i].type === \"TSAsExpression\" || isBinaryish$1(n.expressions[i])) {\n printed = concat$d([indent$7(concat$d([softline$6, printed])), softline$6]);\n }\n }\n\n const aligned = indentSize === 0 && quasi.value.raw.endsWith(\"\\n\") ? align$1(-Infinity, printed) : addAlignmentToDoc$2(printed, indentSize, tabWidth);\n parts.push(group$b(concat$d([\"${\", aligned, lineSuffixBoundary$1, \"}\"])));\n }\n }, \"quasis\");\n parts.push(\"`\");\n return concat$d(parts);\n }\n // These types are unprintable because they serve as abstract\n // supertypes for other (printable) types.\n\n case \"TaggedTemplateExpression\":\n return concat$d([path.call(print, \"tag\"), path.call(print, \"typeParameters\"), path.call(print, \"quasi\")]);\n\n case \"Node\":\n case \"Printable\":\n case \"SourceLocation\":\n case \"Position\":\n case \"Statement\":\n case \"Function\":\n case \"Pattern\":\n case \"Expression\":\n case \"Declaration\":\n case \"Specifier\":\n case \"NamedSpecifier\":\n case \"Comment\":\n case \"MemberTypeAnnotation\": // Flow\n\n case \"Type\":\n /* istanbul ignore next */\n throw new Error(\"unprintable type: \" + JSON.stringify(n.type));\n // Type Annotations for Facebook Flow, typically stripped out or\n // transformed away before printing.\n\n case \"TypeAnnotation\":\n case \"TSTypeAnnotation\":\n if (n.typeAnnotation) {\n return path.call(print, \"typeAnnotation\");\n }\n /* istanbul ignore next */\n\n\n return \"\";\n\n case \"TSTupleType\":\n case \"TupleTypeAnnotation\":\n {\n const typesField = n.type === \"TSTupleType\" ? \"elementTypes\" : \"types\";\n const hasRest = n[typesField].length > 0 && getLast$3(n[typesField]).type === \"TSRestType\";\n return group$b(concat$d([\"[\", indent$7(concat$d([softline$6, printArrayItems(path, options, typesField, print)])), ifBreak$6(shouldPrintComma$1(options, \"all\") && !hasRest ? \",\" : \"\"), comments.printDanglingComments(path, options,\n /* sameIndent */\n true), softline$6, \"]\"]));\n }\n\n case \"ExistsTypeAnnotation\":\n return \"*\";\n\n case \"EmptyTypeAnnotation\":\n return \"empty\";\n\n case \"AnyTypeAnnotation\":\n return \"any\";\n\n case \"MixedTypeAnnotation\":\n return \"mixed\";\n\n case \"ArrayTypeAnnotation\":\n return concat$d([path.call(print, \"elementType\"), \"[]\"]);\n\n case \"BooleanTypeAnnotation\":\n return \"boolean\";\n\n case \"BooleanLiteralTypeAnnotation\":\n return \"\" + n.value;\n\n case \"DeclareClass\":\n return printFlowDeclaration(path, printClass(path, options, print));\n\n case \"TSDeclareFunction\":\n // For TypeScript the TSDeclareFunction node shares the AST\n // structure with FunctionDeclaration\n return concat$d([n.declare ? \"declare \" : \"\", printFunctionDeclaration(path, print, options), semi]);\n\n case \"DeclareFunction\":\n return printFlowDeclaration(path, [\"function \", path.call(print, \"id\"), n.predicate ? \" \" : \"\", path.call(print, \"predicate\"), semi]);\n\n case \"DeclareModule\":\n return printFlowDeclaration(path, [\"module \", path.call(print, \"id\"), \" \", path.call(print, \"body\")]);\n\n case \"DeclareModuleExports\":\n return printFlowDeclaration(path, [\"module.exports\", \": \", path.call(print, \"typeAnnotation\"), semi]);\n\n case \"DeclareVariable\":\n return printFlowDeclaration(path, [\"var \", path.call(print, \"id\"), semi]);\n\n case \"DeclareExportAllDeclaration\":\n return concat$d([\"declare export * from \", path.call(print, \"source\")]);\n\n case \"DeclareExportDeclaration\":\n return concat$d([\"declare \", printExportDeclaration(path, options, print)]);\n\n case \"DeclareOpaqueType\":\n case \"OpaqueType\":\n {\n parts.push(\"opaque type \", path.call(print, \"id\"), path.call(print, \"typeParameters\"));\n\n if (n.supertype) {\n parts.push(\": \", path.call(print, \"supertype\"));\n }\n\n if (n.impltype) {\n parts.push(\" = \", path.call(print, \"impltype\"));\n }\n\n parts.push(semi);\n\n if (n.type === \"DeclareOpaqueType\") {\n return printFlowDeclaration(path, parts);\n }\n\n return concat$d(parts);\n }\n\n case \"EnumDeclaration\":\n return concat$d([\"enum \", path.call(print, \"id\"), \" \", path.call(print, \"body\")]);\n\n case \"EnumBooleanBody\":\n case \"EnumNumberBody\":\n case \"EnumStringBody\":\n case \"EnumSymbolBody\":\n {\n if (n.type === \"EnumSymbolBody\" || n.explicitType) {\n let type = null;\n\n switch (n.type) {\n case \"EnumBooleanBody\":\n type = \"boolean\";\n break;\n\n case \"EnumNumberBody\":\n type = \"number\";\n break;\n\n case \"EnumStringBody\":\n type = \"string\";\n break;\n\n case \"EnumSymbolBody\":\n type = \"symbol\";\n break;\n }\n\n parts.push(\"of \", type, \" \");\n }\n\n if (n.members.length === 0) {\n parts.push(group$b(concat$d([\"{\", comments.printDanglingComments(path, options), softline$6, \"}\"])));\n } else {\n parts.push(group$b(concat$d([\"{\", indent$7(concat$d([hardline$9, printArrayItems(path, options, \"members\", print), shouldPrintComma$1(options) ? \",\" : \"\"])), comments.printDanglingComments(path, options,\n /* sameIndent */\n true), hardline$9, \"}\"])));\n }\n\n return concat$d(parts);\n }\n\n case \"EnumBooleanMember\":\n case \"EnumNumberMember\":\n case \"EnumStringMember\":\n return concat$d([path.call(print, \"id\"), \" = \", typeof n.init === \"object\" ? path.call(print, \"init\") : String(n.init)]);\n\n case \"EnumDefaultedMember\":\n return path.call(print, \"id\");\n\n case \"FunctionTypeAnnotation\":\n case \"TSFunctionType\":\n {\n // FunctionTypeAnnotation is ambiguous:\n // declare function foo(a: B): void; OR\n // var A: (a: B) => void;\n const parent = path.getParentNode(0);\n const parentParent = path.getParentNode(1);\n const parentParentParent = path.getParentNode(2);\n let isArrowFunctionTypeAnnotation = n.type === \"TSFunctionType\" || !((parent.type === \"ObjectTypeProperty\" || parent.type === \"ObjectTypeInternalSlot\") && !getFlowVariance$1(parent) && !parent.optional && options.locStart(parent) === options.locStart(n) || parent.type === \"ObjectTypeCallProperty\" || parentParentParent && parentParentParent.type === \"DeclareFunction\");\n let needsColon = isArrowFunctionTypeAnnotation && (parent.type === \"TypeAnnotation\" || parent.type === \"TSTypeAnnotation\"); // Sadly we can't put it inside of FastPath::needsColon because we are\n // printing \":\" as part of the expression and it would put parenthesis\n // around :(\n\n const needsParens = needsColon && isArrowFunctionTypeAnnotation && (parent.type === \"TypeAnnotation\" || parent.type === \"TSTypeAnnotation\") && parentParent.type === \"ArrowFunctionExpression\";\n\n if (isObjectTypePropertyAFunction$1(parent, options)) {\n isArrowFunctionTypeAnnotation = true;\n needsColon = true;\n }\n\n if (needsParens) {\n parts.push(\"(\");\n }\n\n parts.push(printFunctionParams(path, print, options,\n /* expandArg */\n false,\n /* printTypeParams */\n true)); // The returnType is not wrapped in a TypeAnnotation, so the colon\n // needs to be added separately.\n\n if (n.returnType || n.predicate || n.typeAnnotation) {\n parts.push(isArrowFunctionTypeAnnotation ? \" => \" : \": \", path.call(print, \"returnType\"), path.call(print, \"predicate\"), path.call(print, \"typeAnnotation\"));\n }\n\n if (needsParens) {\n parts.push(\")\");\n }\n\n return group$b(concat$d(parts));\n }\n\n case \"TSRestType\":\n return concat$d([\"...\", path.call(print, \"typeAnnotation\")]);\n\n case \"TSOptionalType\":\n return concat$d([path.call(print, \"typeAnnotation\"), \"?\"]);\n\n case \"FunctionTypeParam\":\n return concat$d([path.call(print, \"name\"), printOptionalToken(path), n.name ? \": \" : \"\", path.call(print, \"typeAnnotation\")]);\n\n case \"GenericTypeAnnotation\":\n return concat$d([path.call(print, \"id\"), path.call(print, \"typeParameters\")]);\n\n case \"DeclareInterface\":\n case \"InterfaceDeclaration\":\n case \"InterfaceTypeAnnotation\":\n {\n if (n.type === \"DeclareInterface\" || n.declare) {\n parts.push(\"declare \");\n }\n\n parts.push(\"interface\");\n\n if (n.type === \"DeclareInterface\" || n.type === \"InterfaceDeclaration\") {\n parts.push(\" \", path.call(print, \"id\"), path.call(print, \"typeParameters\"));\n }\n\n if (n.extends.length > 0) {\n parts.push(group$b(indent$7(concat$d([line$9, \"extends \", (n.extends.length === 1 ? identity$2 : indent$7)(join$9(concat$d([\",\", line$9]), path.map(print, \"extends\")))]))));\n }\n\n parts.push(\" \", path.call(print, \"body\"));\n return group$b(concat$d(parts));\n }\n\n case \"ClassImplements\":\n case \"InterfaceExtends\":\n return concat$d([path.call(print, \"id\"), path.call(print, \"typeParameters\")]);\n\n case \"TSClassImplements\":\n return concat$d([path.call(print, \"expression\"), path.call(print, \"typeParameters\")]);\n\n case \"TSIntersectionType\":\n case \"IntersectionTypeAnnotation\":\n {\n const types = path.map(print, \"types\");\n const result = [];\n let wasIndented = false;\n\n for (let i = 0; i < types.length; ++i) {\n if (i === 0) {\n result.push(types[i]);\n } else if (isObjectType$1(n.types[i - 1]) && isObjectType$1(n.types[i])) {\n // If both are objects, don't indent\n result.push(concat$d([\" & \", wasIndented ? indent$7(types[i]) : types[i]]));\n } else if (!isObjectType$1(n.types[i - 1]) && !isObjectType$1(n.types[i])) {\n // If no object is involved, go to the next line if it breaks\n result.push(indent$7(concat$d([\" &\", line$9, types[i]])));\n } else {\n // If you go from object to non-object or vis-versa, then inline it\n if (i > 1) {\n wasIndented = true;\n }\n\n result.push(\" & \", i > 1 ? indent$7(types[i]) : types[i]);\n }\n }\n\n return group$b(concat$d(result));\n }\n\n case \"TSUnionType\":\n case \"UnionTypeAnnotation\":\n {\n // single-line variation\n // A | B | C\n // multi-line variation\n // | A\n // | B\n // | C\n const parent = path.getParentNode(); // If there's a leading comment, the parent is doing the indentation\n\n const shouldIndent = parent.type !== \"TypeParameterInstantiation\" && parent.type !== \"TSTypeParameterInstantiation\" && parent.type !== \"GenericTypeAnnotation\" && parent.type !== \"TSTypeReference\" && parent.type !== \"TSTypeAssertion\" && parent.type !== \"TupleTypeAnnotation\" && parent.type !== \"TSTupleType\" && !(parent.type === \"FunctionTypeParam\" && !parent.name) && !((parent.type === \"TypeAlias\" || parent.type === \"VariableDeclarator\" || parent.type === \"TSTypeAliasDeclaration\") && hasLeadingOwnLineComment$1(options.originalText, n, options)); // {\n // a: string\n // } | null | void\n // should be inlined and not be printed in the multi-line variant\n\n const shouldHug = shouldHugType(n); // We want to align the children but without its comment, so it looks like\n // | child1\n // // comment\n // | child2\n\n const printed = path.map(typePath => {\n let printedType = typePath.call(print);\n\n if (!shouldHug) {\n printedType = align$1(2, printedType);\n }\n\n return comments.printComments(typePath, () => printedType, options);\n }, \"types\");\n\n if (shouldHug) {\n return join$9(\" | \", printed);\n }\n\n const shouldAddStartLine = shouldIndent && !hasLeadingOwnLineComment$1(options.originalText, n, options);\n const code = concat$d([ifBreak$6(concat$d([shouldAddStartLine ? line$9 : \"\", \"| \"])), join$9(concat$d([line$9, \"| \"]), printed)]);\n\n if (needsParens_1(path, options)) {\n return group$b(concat$d([indent$7(code), softline$6]));\n }\n\n if (parent.type === \"TupleTypeAnnotation\" && parent.types.length > 1 || parent.type === \"TSTupleType\" && parent.elementTypes.length > 1) {\n return group$b(concat$d([indent$7(concat$d([ifBreak$6(concat$d([\"(\", softline$6])), code])), softline$6, ifBreak$6(\")\")]));\n }\n\n return group$b(shouldIndent ? indent$7(code) : code);\n }\n\n case \"NullableTypeAnnotation\":\n return concat$d([\"?\", path.call(print, \"typeAnnotation\")]);\n\n case \"TSNullKeyword\":\n case \"NullLiteralTypeAnnotation\":\n return \"null\";\n\n case \"ThisTypeAnnotation\":\n return \"this\";\n\n case \"NumberTypeAnnotation\":\n return \"number\";\n\n case \"SymbolTypeAnnotation\":\n return \"symbol\";\n\n case \"ObjectTypeCallProperty\":\n if (n.static) {\n parts.push(\"static \");\n }\n\n parts.push(path.call(print, \"value\"));\n return concat$d(parts);\n\n case \"ObjectTypeIndexer\":\n {\n const variance = getFlowVariance$1(n);\n return concat$d([variance || \"\", \"[\", path.call(print, \"id\"), n.id ? \": \" : \"\", path.call(print, \"key\"), \"]: \", path.call(print, \"value\")]);\n }\n\n case \"ObjectTypeProperty\":\n {\n const variance = getFlowVariance$1(n);\n let modifier = \"\";\n\n if (n.proto) {\n modifier = \"proto \";\n } else if (n.static) {\n modifier = \"static \";\n }\n\n return concat$d([modifier, isGetterOrSetter$1(n) ? n.kind + \" \" : \"\", variance || \"\", printPropertyKey(path, options, print), printOptionalToken(path), isFunctionNotation$1(n, options) ? \"\" : \": \", path.call(print, \"value\")]);\n }\n\n case \"QualifiedTypeIdentifier\":\n return concat$d([path.call(print, \"qualification\"), \".\", path.call(print, \"id\")]);\n\n case \"StringLiteralTypeAnnotation\":\n return nodeStr(n, options);\n\n case \"NumberLiteralTypeAnnotation\":\n assert.strictEqual(typeof n.value, \"number\");\n\n if (n.extra != null) {\n return printNumber$2(n.extra.raw);\n }\n\n return printNumber$2(n.raw);\n\n case \"StringTypeAnnotation\":\n return \"string\";\n\n case \"DeclareTypeAlias\":\n case \"TypeAlias\":\n {\n if (n.type === \"DeclareTypeAlias\" || n.declare) {\n parts.push(\"declare \");\n }\n\n const printed = printAssignmentRight(n.id, n.right, path.call(print, \"right\"), options);\n parts.push(\"type \", path.call(print, \"id\"), path.call(print, \"typeParameters\"), \" =\", printed, semi);\n return group$b(concat$d(parts));\n }\n\n case \"TypeCastExpression\":\n {\n return concat$d([\"(\", path.call(print, \"expression\"), printTypeAnnotation(path, options, print), \")\"]);\n }\n\n case \"TypeParameterDeclaration\":\n case \"TypeParameterInstantiation\":\n {\n const value = path.getValue();\n const commentStart = value.range ? options.originalText.slice(0, value.range[0]).lastIndexOf(\"/*\") : -1; // As noted in the TypeCastExpression comments above, we're able to use a normal whitespace regex here\n // because we know for sure that this is a type definition.\n\n const commentSyntax = commentStart >= 0 && options.originalText.slice(commentStart).match(/^\\/\\*\\s*::/);\n\n if (commentSyntax) {\n return concat$d([\"/*:: \", printTypeParameters(path, options, print, \"params\"), \" */\"]);\n }\n\n return printTypeParameters(path, options, print, \"params\");\n }\n\n case \"TSTypeParameterDeclaration\":\n case \"TSTypeParameterInstantiation\":\n return printTypeParameters(path, options, print, \"params\");\n\n case \"TSTypeParameter\":\n case \"TypeParameter\":\n {\n const parent = path.getParentNode();\n\n if (parent.type === \"TSMappedType\") {\n parts.push(\"[\", path.call(print, \"name\"));\n\n if (n.constraint) {\n parts.push(\" in \", path.call(print, \"constraint\"));\n }\n\n parts.push(\"]\");\n return concat$d(parts);\n }\n\n const variance = getFlowVariance$1(n);\n\n if (variance) {\n parts.push(variance);\n }\n\n parts.push(path.call(print, \"name\"));\n\n if (n.bound) {\n parts.push(\": \");\n parts.push(path.call(print, \"bound\"));\n }\n\n if (n.constraint) {\n parts.push(\" extends \", path.call(print, \"constraint\"));\n }\n\n if (n.default) {\n parts.push(\" = \", path.call(print, \"default\"));\n } // Keep comma if the file extension is .tsx and\n // has one type parameter that isn't extend with any types.\n // Because, otherwise formatted result will be invalid as tsx.\n\n\n const grandParent = path.getNode(2);\n\n if (parent.params && parent.params.length === 1 && isTSXFile$1(options) && !n.constraint && grandParent.type === \"ArrowFunctionExpression\") {\n parts.push(\",\");\n }\n\n return concat$d(parts);\n }\n\n case \"TypeofTypeAnnotation\":\n return concat$d([\"typeof \", path.call(print, \"argument\")]);\n\n case \"VoidTypeAnnotation\":\n return \"void\";\n\n case \"InferredPredicate\":\n return \"%checks\";\n // Unhandled types below. If encountered, nodes of these types should\n // be either left alone or desugared into AST types that are fully\n // supported by the pretty-printer.\n\n case \"DeclaredPredicate\":\n return concat$d([\"%checks(\", path.call(print, \"value\"), \")\"]);\n\n case \"TSAbstractKeyword\":\n return \"abstract\";\n\n case \"TSAnyKeyword\":\n return \"any\";\n\n case \"TSAsyncKeyword\":\n return \"async\";\n\n case \"TSBooleanKeyword\":\n return \"boolean\";\n\n case \"TSBigIntKeyword\":\n return \"bigint\";\n\n case \"TSConstKeyword\":\n return \"const\";\n\n case \"TSDeclareKeyword\":\n return \"declare\";\n\n case \"TSExportKeyword\":\n return \"export\";\n\n case \"TSNeverKeyword\":\n return \"never\";\n\n case \"TSNumberKeyword\":\n return \"number\";\n\n case \"TSObjectKeyword\":\n return \"object\";\n\n case \"TSProtectedKeyword\":\n return \"protected\";\n\n case \"TSPrivateKeyword\":\n return \"private\";\n\n case \"TSPublicKeyword\":\n return \"public\";\n\n case \"TSReadonlyKeyword\":\n return \"readonly\";\n\n case \"TSSymbolKeyword\":\n return \"symbol\";\n\n case \"TSStaticKeyword\":\n return \"static\";\n\n case \"TSStringKeyword\":\n return \"string\";\n\n case \"TSUndefinedKeyword\":\n return \"undefined\";\n\n case \"TSUnknownKeyword\":\n return \"unknown\";\n\n case \"TSVoidKeyword\":\n return \"void\";\n\n case \"TSAsExpression\":\n return concat$d([path.call(print, \"expression\"), \" as \", path.call(print, \"typeAnnotation\")]);\n\n case \"TSArrayType\":\n return concat$d([path.call(print, \"elementType\"), \"[]\"]);\n\n case \"TSPropertySignature\":\n {\n if (n.export) {\n parts.push(\"export \");\n }\n\n if (n.accessibility) {\n parts.push(n.accessibility + \" \");\n }\n\n if (n.static) {\n parts.push(\"static \");\n }\n\n if (n.readonly) {\n parts.push(\"readonly \");\n }\n\n parts.push(printPropertyKey(path, options, print), printOptionalToken(path));\n\n if (n.typeAnnotation) {\n parts.push(\": \");\n parts.push(path.call(print, \"typeAnnotation\"));\n } // This isn't valid semantically, but it's in the AST so we can print it.\n\n\n if (n.initializer) {\n parts.push(\" = \", path.call(print, \"initializer\"));\n }\n\n return concat$d(parts);\n }\n\n case \"TSParameterProperty\":\n if (n.accessibility) {\n parts.push(n.accessibility + \" \");\n }\n\n if (n.export) {\n parts.push(\"export \");\n }\n\n if (n.static) {\n parts.push(\"static \");\n }\n\n if (n.readonly) {\n parts.push(\"readonly \");\n }\n\n parts.push(path.call(print, \"parameter\"));\n return concat$d(parts);\n\n case \"TSTypeReference\":\n return concat$d([path.call(print, \"typeName\"), printTypeParameters(path, options, print, \"typeParameters\")]);\n\n case \"TSTypeQuery\":\n return concat$d([\"typeof \", path.call(print, \"exprName\")]);\n\n case \"TSIndexSignature\":\n {\n const parent = path.getParentNode(); // The typescript parser accepts multiple parameters here. If you're\n // using them, it makes sense to have a trailing comma. But if you\n // aren't, this is more like a computed property name than an array.\n // So we leave off the trailing comma when there's just one parameter.\n\n const trailingComma = n.parameters.length > 1 ? ifBreak$6(shouldPrintComma$1(options) ? \",\" : \"\") : \"\";\n const parametersGroup = group$b(concat$d([indent$7(concat$d([softline$6, join$9(concat$d([\", \", softline$6]), path.map(print, \"parameters\"))])), trailingComma, softline$6]));\n return concat$d([n.export ? \"export \" : \"\", n.accessibility ? concat$d([n.accessibility, \" \"]) : \"\", n.static ? \"static \" : \"\", n.readonly ? \"readonly \" : \"\", \"[\", n.parameters ? parametersGroup : \"\", n.typeAnnotation ? \"]: \" : \"]\", n.typeAnnotation ? path.call(print, \"typeAnnotation\") : \"\", parent.type === \"ClassBody\" ? semi : \"\"]);\n }\n\n case \"TSTypePredicate\":\n return concat$d([n.asserts ? \"asserts \" : \"\", path.call(print, \"parameterName\"), n.typeAnnotation ? concat$d([\" is \", path.call(print, \"typeAnnotation\")]) : \"\"]);\n\n case \"TSNonNullExpression\":\n return concat$d([path.call(print, \"expression\"), \"!\"]);\n\n case \"TSThisType\":\n return \"this\";\n\n case \"TSImportType\":\n return concat$d([!n.isTypeOf ? \"\" : \"typeof \", \"import(\", path.call(print, n.parameter ? \"parameter\" : \"argument\"), \")\", !n.qualifier ? \"\" : concat$d([\".\", path.call(print, \"qualifier\")]), printTypeParameters(path, options, print, \"typeParameters\")]);\n\n case \"TSLiteralType\":\n return path.call(print, \"literal\");\n\n case \"TSIndexedAccessType\":\n return concat$d([path.call(print, \"objectType\"), \"[\", path.call(print, \"indexType\"), \"]\"]);\n\n case \"TSConstructSignatureDeclaration\":\n case \"TSCallSignatureDeclaration\":\n case \"TSConstructorType\":\n {\n if (n.type !== \"TSCallSignatureDeclaration\") {\n parts.push(\"new \");\n }\n\n parts.push(group$b(printFunctionParams(path, print, options,\n /* expandArg */\n false,\n /* printTypeParams */\n true)));\n\n if (n.returnType || n.typeAnnotation) {\n const isType = n.type === \"TSConstructorType\";\n parts.push(isType ? \" => \" : \": \", path.call(print, \"returnType\"), path.call(print, \"typeAnnotation\"));\n }\n\n return concat$d(parts);\n }\n\n case \"TSTypeOperator\":\n return concat$d([n.operator, \" \", path.call(print, \"typeAnnotation\")]);\n\n case \"TSMappedType\":\n {\n const shouldBreak = hasNewlineInRange$3(options.originalText, options.locStart(n), options.locEnd(n));\n return group$b(concat$d([\"{\", indent$7(concat$d([options.bracketSpacing ? line$9 : softline$6, n.readonly ? concat$d([getTypeScriptMappedTypeModifier$1(n.readonly, \"readonly\"), \" \"]) : \"\", printTypeScriptModifiers(path, options, print), path.call(print, \"typeParameter\"), n.optional ? getTypeScriptMappedTypeModifier$1(n.optional, \"?\") : \"\", n.typeAnnotation ? \": \" : \"\", path.call(print, \"typeAnnotation\"), ifBreak$6(semi, \"\")])), comments.printDanglingComments(path, options,\n /* sameIndent */\n true), options.bracketSpacing ? line$9 : softline$6, \"}\"]), {\n shouldBreak\n });\n }\n\n case \"TSMethodSignature\":\n parts.push(n.accessibility ? concat$d([n.accessibility, \" \"]) : \"\", n.export ? \"export \" : \"\", n.static ? \"static \" : \"\", n.readonly ? \"readonly \" : \"\", n.computed ? \"[\" : \"\", path.call(print, \"key\"), n.computed ? \"]\" : \"\", printOptionalToken(path), printFunctionParams(path, print, options,\n /* expandArg */\n false,\n /* printTypeParams */\n true));\n\n if (n.returnType || n.typeAnnotation) {\n parts.push(\": \", path.call(print, \"returnType\"), path.call(print, \"typeAnnotation\"));\n }\n\n return group$b(concat$d(parts));\n\n case \"TSNamespaceExportDeclaration\":\n parts.push(\"export as namespace \", path.call(print, \"id\"));\n\n if (options.semi) {\n parts.push(\";\");\n }\n\n return group$b(concat$d(parts));\n\n case \"TSEnumDeclaration\":\n if (n.declare) {\n parts.push(\"declare \");\n }\n\n if (n.modifiers) {\n parts.push(printTypeScriptModifiers(path, options, print));\n }\n\n if (n.const) {\n parts.push(\"const \");\n }\n\n parts.push(\"enum \", path.call(print, \"id\"), \" \");\n\n if (n.members.length === 0) {\n parts.push(group$b(concat$d([\"{\", comments.printDanglingComments(path, options), softline$6, \"}\"])));\n } else {\n parts.push(group$b(concat$d([\"{\", indent$7(concat$d([hardline$9, printArrayItems(path, options, \"members\", print), shouldPrintComma$1(options, \"es5\") ? \",\" : \"\"])), comments.printDanglingComments(path, options,\n /* sameIndent */\n true), hardline$9, \"}\"])));\n }\n\n return concat$d(parts);\n\n case \"TSEnumMember\":\n parts.push(path.call(print, \"id\"));\n\n if (n.initializer) {\n parts.push(\" = \", path.call(print, \"initializer\"));\n }\n\n return concat$d(parts);\n\n case \"TSImportEqualsDeclaration\":\n if (n.isExport) {\n parts.push(\"export \");\n }\n\n parts.push(\"import \", path.call(print, \"id\"), \" = \", path.call(print, \"moduleReference\"));\n\n if (options.semi) {\n parts.push(\";\");\n }\n\n return group$b(concat$d(parts));\n\n case \"TSExternalModuleReference\":\n return concat$d([\"require(\", path.call(print, \"expression\"), \")\"]);\n\n case \"TSModuleDeclaration\":\n {\n const parent = path.getParentNode();\n const isExternalModule = isLiteral$1(n.id);\n const parentIsDeclaration = parent.type === \"TSModuleDeclaration\";\n const bodyIsDeclaration = n.body && n.body.type === \"TSModuleDeclaration\";\n\n if (parentIsDeclaration) {\n parts.push(\".\");\n } else {\n if (n.declare) {\n parts.push(\"declare \");\n }\n\n parts.push(printTypeScriptModifiers(path, options, print));\n const textBetweenNodeAndItsId = options.originalText.slice(options.locStart(n), options.locStart(n.id)); // Global declaration looks like this:\n // (declare)? global { ... }\n\n const isGlobalDeclaration = n.id.type === \"Identifier\" && n.id.name === \"global\" && !/namespace|module/.test(textBetweenNodeAndItsId);\n\n if (!isGlobalDeclaration) {\n parts.push(isExternalModule || /(^|\\s)module(\\s|$)/.test(textBetweenNodeAndItsId) ? \"module \" : \"namespace \");\n }\n }\n\n parts.push(path.call(print, \"id\"));\n\n if (bodyIsDeclaration) {\n parts.push(path.call(print, \"body\"));\n } else if (n.body) {\n parts.push(\" \", group$b(path.call(print, \"body\")));\n } else {\n parts.push(semi);\n }\n\n return concat$d(parts);\n }\n\n case \"PrivateName\":\n return concat$d([\"#\", path.call(print, \"id\")]);\n // TODO: Temporary auto-generated node type. To remove when typescript-estree has proper support for private fields.\n\n case \"TSPrivateIdentifier\":\n return n.escapedText;\n\n case \"TSConditionalType\":\n return printTernaryOperator(path, options, print, {\n beforeParts: () => [path.call(print, \"checkType\"), \" \", \"extends\", \" \", path.call(print, \"extendsType\")],\n afterParts: () => [],\n shouldCheckJsx: false,\n conditionalNodeType: \"TSConditionalType\",\n consequentNodePropertyName: \"trueType\",\n alternateNodePropertyName: \"falseType\",\n testNodePropertyNames: [\"checkType\", \"extendsType\"]\n });\n\n case \"TSInferType\":\n return concat$d([\"infer\", \" \", path.call(print, \"typeParameter\")]);\n\n case \"InterpreterDirective\":\n parts.push(\"#!\", n.value, hardline$9);\n\n if (isNextLineEmpty$4(options.originalText, n, options.locEnd)) {\n parts.push(hardline$9);\n }\n\n return concat$d(parts);\n\n case \"NGRoot\":\n return concat$d([].concat(path.call(print, \"node\"), !n.node.comments || n.node.comments.length === 0 ? [] : concat$d([\" //\", n.node.comments[0].value.trimEnd()])));\n\n case \"NGChainedExpression\":\n return group$b(join$9(concat$d([\";\", line$9]), path.map(childPath => hasNgSideEffect$1(childPath) ? print(childPath) : concat$d([\"(\", print(childPath), \")\"]), \"expressions\")));\n\n case \"NGEmptyExpression\":\n return \"\";\n\n case \"NGQuotedExpression\":\n return concat$d([n.prefix, \": \", n.value.trim()]);\n\n case \"NGMicrosyntax\":\n return concat$d(path.map((childPath, index) => concat$d([index === 0 ? \"\" : isNgForOf$1(childPath.getValue(), index, n) ? \" \" : concat$d([\";\", line$9]), print(childPath)]), \"body\"));\n\n case \"NGMicrosyntaxKey\":\n return /^[a-z_$][a-z0-9_$]*(-[a-z_$][a-z0-9_$])*$/i.test(n.name) ? n.name : JSON.stringify(n.name);\n\n case \"NGMicrosyntaxExpression\":\n return concat$d([path.call(print, \"expression\"), n.alias === null ? \"\" : concat$d([\" as \", path.call(print, \"alias\")])]);\n\n case \"NGMicrosyntaxKeyedExpression\":\n {\n const index = path.getName();\n const parentNode = path.getParentNode();\n const shouldNotPrintColon = isNgForOf$1(n, index, parentNode) || (index === 1 && (n.key.name === \"then\" || n.key.name === \"else\") || index === 2 && n.key.name === \"else\" && parentNode.body[index - 1].type === \"NGMicrosyntaxKeyedExpression\" && parentNode.body[index - 1].key.name === \"then\") && parentNode.body[0].type === \"NGMicrosyntaxExpression\";\n return concat$d([path.call(print, \"key\"), shouldNotPrintColon ? \" \" : \": \", path.call(print, \"expression\")]);\n }\n\n case \"NGMicrosyntaxLet\":\n return concat$d([\"let \", path.call(print, \"key\"), n.value === null ? \"\" : concat$d([\" = \", path.call(print, \"value\")])]);\n\n case \"NGMicrosyntaxAs\":\n return concat$d([path.call(print, \"key\"), \" as \", path.call(print, \"alias\")]);\n\n case \"ArgumentPlaceholder\":\n return \"?\";\n // These are not valid TypeScript. Printing them just for the sake of error recovery.\n\n case \"TSJSDocAllType\":\n return \"*\";\n\n case \"TSJSDocUnknownType\":\n return \"?\";\n\n case \"TSJSDocNullableType\":\n return concat$d([\"?\", path.call(print, \"typeAnnotation\")]);\n\n case \"TSJSDocNonNullableType\":\n return concat$d([\"!\", path.call(print, \"typeAnnotation\")]);\n\n case \"TSJSDocFunctionType\":\n return concat$d([\"function(\", // The parameters could be here, but typescript-estree doesn't convert them anyway (throws an error).\n \"): \", path.call(print, \"typeAnnotation\")]);\n\n default:\n /* istanbul ignore next */\n throw new Error(\"unknown type: \" + JSON.stringify(n.type));\n }\n }\n\n function printStatementSequence(path, options, print) {\n const printed = [];\n const bodyNode = path.getNode();\n const isClass = bodyNode.type === \"ClassBody\";\n path.map((stmtPath, i) => {\n const stmt = stmtPath.getValue(); // Just in case the AST has been modified to contain falsy\n // \"statements,\" it's safer simply to skip them.\n\n /* istanbul ignore if */\n\n if (!stmt) {\n return;\n } // Skip printing EmptyStatement nodes to avoid leaving stray\n // semicolons lying around.\n\n\n if (stmt.type === \"EmptyStatement\") {\n return;\n }\n\n const stmtPrinted = print(stmtPath);\n const text = options.originalText;\n const parts = []; // in no-semi mode, prepend statement with semicolon if it might break ASI\n // don't prepend the only JSX element in a program with semicolon\n\n if (!options.semi && !isClass && !isTheOnlyJSXElementInMarkdown$1(options, stmtPath) && stmtNeedsASIProtection(stmtPath, options)) {\n if (stmt.comments && stmt.comments.some(comment => comment.leading)) {\n parts.push(print(stmtPath, {\n needsSemi: true\n }));\n } else {\n parts.push(\";\", stmtPrinted);\n }\n } else {\n parts.push(stmtPrinted);\n }\n\n if (!options.semi && isClass) {\n if (classPropMayCauseASIProblems$1(stmtPath)) {\n parts.push(\";\");\n } else if (stmt.type === \"ClassProperty\") {\n const nextChild = bodyNode.body[i + 1];\n\n if (classChildNeedsASIProtection$1(nextChild)) {\n parts.push(\";\");\n }\n }\n }\n\n if (isNextLineEmpty$4(text, stmt, options.locEnd) && !isLastStatement$1(stmtPath)) {\n parts.push(hardline$9);\n }\n\n printed.push(concat$d(parts));\n });\n return join$9(hardline$9, printed);\n }\n\n function printPropertyKey(path, options, print) {\n const node = path.getNode();\n\n if (node.computed) {\n return concat$d([\"[\", path.call(print, \"key\"), \"]\"]);\n }\n\n const parent = path.getParentNode();\n const {\n key\n } = node;\n\n if (node.type === \"ClassPrivateProperty\" && // flow has `Identifier` key, and babel has `PrivateName` key\n key.type === \"Identifier\") {\n return concat$d([\"#\", path.call(print, \"key\")]);\n }\n\n if (options.quoteProps === \"consistent\" && !needsQuoteProps.has(parent)) {\n const objectHasStringProp = (parent.properties || parent.body || parent.members).some(prop => !prop.computed && prop.key && isStringLiteral$1(prop.key) && !isStringPropSafeToCoerceToIdentifier$1(prop, options));\n needsQuoteProps.set(parent, objectHasStringProp);\n }\n\n if (key.type === \"Identifier\" && (options.parser === \"json\" || options.quoteProps === \"consistent\" && needsQuoteProps.get(parent))) {\n // a -> \"a\"\n const prop = printString$2(JSON.stringify(key.name), options);\n return path.call(keyPath => comments.printComments(keyPath, () => prop, options), \"key\");\n }\n\n if (isStringPropSafeToCoerceToIdentifier$1(node, options) && (options.quoteProps === \"as-needed\" || options.quoteProps === \"consistent\" && !needsQuoteProps.get(parent))) {\n // 'a' -> a\n return path.call(keyPath => comments.printComments(keyPath, () => key.value, options), \"key\");\n }\n\n return path.call(print, \"key\");\n }\n\n function printMethod(path, options, print) {\n const node = path.getNode();\n const {\n kind\n } = node;\n const value = node.value || node;\n const parts = [];\n\n if (!kind || kind === \"init\" || kind === \"method\" || kind === \"constructor\") {\n if (value.async) {\n parts.push(\"async \");\n }\n\n if (value.generator) {\n parts.push(\"*\");\n }\n } else {\n assert.ok(kind === \"get\" || kind === \"set\");\n parts.push(kind, \" \");\n }\n\n parts.push(printPropertyKey(path, options, print), node.optional || node.key.optional ? \"?\" : \"\", node === value ? printMethodInternal(path, options, print) : path.call(path => printMethodInternal(path, options, print), \"value\"));\n return concat$d(parts);\n }\n\n function printMethodInternal(path, options, print) {\n const parts = [printFunctionTypeParameters(path, options, print), group$b(concat$d([printFunctionParams(path, print, options), printReturnType(path, print, options)]))];\n\n if (path.getNode().body) {\n parts.push(\" \", path.call(print, \"body\"));\n } else {\n parts.push(options.semi ? \";\" : \"\");\n }\n\n return concat$d(parts);\n }\n\n function couldGroupArg(arg) {\n return arg.type === \"ObjectExpression\" && (arg.properties.length > 0 || arg.comments) || arg.type === \"ArrayExpression\" && (arg.elements.length > 0 || arg.comments) || arg.type === \"TSTypeAssertion\" && couldGroupArg(arg.expression) || arg.type === \"TSAsExpression\" && couldGroupArg(arg.expression) || arg.type === \"FunctionExpression\" || arg.type === \"ArrowFunctionExpression\" && ( // we want to avoid breaking inside composite return types but not simple keywords\n // https://github.com/prettier/prettier/issues/4070\n // export class Thing implements OtherThing {\n // do: (type: Type) => Provider = memoize(\n // (type: ObjectType): Provider => {}\n // );\n // }\n // https://github.com/prettier/prettier/issues/6099\n // app.get(\"/\", (req, res): void => {\n // res.send(\"Hello World!\");\n // });\n !arg.returnType || !arg.returnType.typeAnnotation || arg.returnType.typeAnnotation.type !== \"TSTypeReference\") && (arg.body.type === \"BlockStatement\" || arg.body.type === \"ArrowFunctionExpression\" || arg.body.type === \"ObjectExpression\" || arg.body.type === \"ArrayExpression\" || arg.body.type === \"CallExpression\" || arg.body.type === \"OptionalCallExpression\" || arg.body.type === \"ConditionalExpression\" || isJSXNode$1(arg.body));\n }\n\n function shouldGroupLastArg(args) {\n const lastArg = getLast$3(args);\n const penultimateArg = getPenultimate$1(args);\n return !hasLeadingComment$3(lastArg) && !hasTrailingComment$1(lastArg) && couldGroupArg(lastArg) && ( // If the last two arguments are of the same type,\n // disable last element expansion.\n !penultimateArg || penultimateArg.type !== lastArg.type);\n }\n\n function shouldGroupFirstArg(args) {\n if (args.length !== 2) {\n return false;\n }\n\n const [firstArg, secondArg] = args;\n return (!firstArg.comments || !firstArg.comments.length) && (firstArg.type === \"FunctionExpression\" || firstArg.type === \"ArrowFunctionExpression\" && firstArg.body.type === \"BlockStatement\") && secondArg.type !== \"FunctionExpression\" && secondArg.type !== \"ArrowFunctionExpression\" && secondArg.type !== \"ConditionalExpression\" && !couldGroupArg(secondArg);\n }\n\n function printJestEachTemplateLiteral(node, expressions, options) {\n /**\n * a | b | expected\n * ${1} | ${1} | ${2}\n * ${1} | ${2} | ${3}\n * ${2} | ${1} | ${3}\n */\n const headerNames = node.quasis[0].value.raw.trim().split(/\\s*\\|\\s*/);\n\n if (headerNames.length > 1 || headerNames.some(headerName => headerName.length !== 0)) {\n const parts = [];\n const stringifiedExpressions = expressions.map(doc => \"${\" + printDocToString$2(doc, Object.assign({}, options, {\n printWidth: Infinity,\n endOfLine: \"lf\"\n })).formatted + \"}\");\n const tableBody = [{\n hasLineBreak: false,\n cells: []\n }];\n\n for (let i = 1; i < node.quasis.length; i++) {\n const row = tableBody[tableBody.length - 1];\n const correspondingExpression = stringifiedExpressions[i - 1];\n row.cells.push(correspondingExpression);\n\n if (correspondingExpression.includes(\"\\n\")) {\n row.hasLineBreak = true;\n }\n\n if (node.quasis[i].value.raw.includes(\"\\n\")) {\n tableBody.push({\n hasLineBreak: false,\n cells: []\n });\n }\n }\n\n const maxColumnCount = Math.max(headerNames.length, ...tableBody.map(row => row.cells.length));\n const maxColumnWidths = Array.from({\n length: maxColumnCount\n }).fill(0);\n const table = [{\n cells: headerNames\n }, ...tableBody.filter(row => row.cells.length !== 0)];\n\n for (const {\n cells\n } of table.filter(row => !row.hasLineBreak)) {\n cells.forEach((cell, index) => {\n maxColumnWidths[index] = Math.max(maxColumnWidths[index], getStringWidth$3(cell));\n });\n }\n\n parts.push(lineSuffixBoundary$1, \"`\", indent$7(concat$d([hardline$9, join$9(hardline$9, table.map(row => join$9(\" | \", row.cells.map((cell, index) => row.hasLineBreak ? cell : cell + \" \".repeat(maxColumnWidths[index] - getStringWidth$3(cell))))))])), hardline$9, \"`\");\n return concat$d(parts);\n }\n }\n\n function printArgumentsList(path, options, print) {\n const node = path.getValue();\n const args = node.arguments;\n\n if (args.length === 0) {\n return concat$d([\"(\", comments.printDanglingComments(path, options,\n /* sameIndent */\n true), \")\"]);\n } // useEffect(() => { ... }, [foo, bar, baz])\n\n\n if (args.length === 2 && args[0].type === \"ArrowFunctionExpression\" && args[0].params.length === 0 && args[0].body.type === \"BlockStatement\" && args[1].type === \"ArrayExpression\" && !args.find(arg => arg.comments)) {\n return concat$d([\"(\", path.call(print, \"arguments\", 0), \", \", path.call(print, \"arguments\", 1), \")\"]);\n } // func(\n // ({\n // a,\n // b\n // }) => {}\n // );\n\n\n function shouldBreakForArrowFunctionInArguments(arg, argPath) {\n if (!arg || arg.type !== \"ArrowFunctionExpression\" || !arg.body || arg.body.type !== \"BlockStatement\" || !arg.params || arg.params.length < 1) {\n return false;\n }\n\n let shouldBreak = false;\n argPath.each(paramPath => {\n const printed = concat$d([print(paramPath)]);\n shouldBreak = shouldBreak || willBreak$1(printed);\n }, \"params\");\n return shouldBreak;\n }\n\n let anyArgEmptyLine = false;\n let shouldBreakForArrowFunction = false;\n let hasEmptyLineFollowingFirstArg = false;\n const lastArgIndex = args.length - 1;\n const printedArguments = path.map((argPath, index) => {\n const arg = argPath.getNode();\n const parts = [print(argPath)];\n\n if (index === lastArgIndex) ; else if (isNextLineEmpty$4(options.originalText, arg, options.locEnd)) {\n if (index === 0) {\n hasEmptyLineFollowingFirstArg = true;\n }\n\n anyArgEmptyLine = true;\n parts.push(\",\", hardline$9, hardline$9);\n } else {\n parts.push(\",\", line$9);\n }\n\n shouldBreakForArrowFunction = shouldBreakForArrowFunctionInArguments(arg, argPath);\n return concat$d(parts);\n }, \"arguments\");\n const maybeTrailingComma = // Dynamic imports cannot have trailing commas\n !(node.callee && node.callee.type === \"Import\") && shouldPrintComma$1(options, \"all\") ? \",\" : \"\";\n\n function allArgsBrokenOut() {\n return group$b(concat$d([\"(\", indent$7(concat$d([line$9, concat$d(printedArguments)])), maybeTrailingComma, line$9, \")\"]), {\n shouldBreak: true\n });\n }\n\n if (path.getParentNode().type !== \"Decorator\" && isFunctionCompositionArgs$1(args)) {\n return allArgsBrokenOut();\n }\n\n const shouldGroupFirst = shouldGroupFirstArg(args);\n const shouldGroupLast = shouldGroupLastArg(args);\n\n if (shouldGroupFirst || shouldGroupLast) {\n const shouldBreak = (shouldGroupFirst ? printedArguments.slice(1).some(willBreak$1) : printedArguments.slice(0, -1).some(willBreak$1)) || anyArgEmptyLine || shouldBreakForArrowFunction; // We want to print the last argument with a special flag\n\n let printedExpanded;\n let i = 0;\n path.each(argPath => {\n if (shouldGroupFirst && i === 0) {\n printedExpanded = [concat$d([argPath.call(p => print(p, {\n expandFirstArg: true\n })), printedArguments.length > 1 ? \",\" : \"\", hasEmptyLineFollowingFirstArg ? hardline$9 : line$9, hasEmptyLineFollowingFirstArg ? hardline$9 : \"\"])].concat(printedArguments.slice(1));\n }\n\n if (shouldGroupLast && i === args.length - 1) {\n printedExpanded = printedArguments.slice(0, -1).concat(argPath.call(p => print(p, {\n expandLastArg: true\n })));\n }\n\n i++;\n }, \"arguments\");\n const somePrintedArgumentsWillBreak = printedArguments.some(willBreak$1);\n const simpleConcat = concat$d([\"(\", concat$d(printedExpanded), \")\"]);\n return concat$d([somePrintedArgumentsWillBreak ? breakParent$3 : \"\", conditionalGroup$1([!somePrintedArgumentsWillBreak && !node.typeArguments && !node.typeParameters ? simpleConcat : ifBreak$6(allArgsBrokenOut(), simpleConcat), shouldGroupFirst ? concat$d([\"(\", group$b(printedExpanded[0], {\n shouldBreak: true\n }), concat$d(printedExpanded.slice(1)), \")\"]) : concat$d([\"(\", concat$d(printedArguments.slice(0, -1)), group$b(getLast$3(printedExpanded), {\n shouldBreak: true\n }), \")\"]), allArgsBrokenOut()], {\n shouldBreak\n })]);\n }\n\n const contents = concat$d([\"(\", indent$7(concat$d([softline$6, concat$d(printedArguments)])), ifBreak$6(maybeTrailingComma), softline$6, \")\"]);\n\n if (isLongCurriedCallExpression$1(path)) {\n // By not wrapping the arguments in a group, the printer prioritizes\n // breaking up these arguments rather than the args of the parent call.\n return contents;\n }\n\n return group$b(contents, {\n shouldBreak: printedArguments.some(willBreak$1) || anyArgEmptyLine\n });\n }\n\n function printTypeAnnotation(path, options, print) {\n const node = path.getValue();\n\n if (!node.typeAnnotation) {\n return \"\";\n }\n\n const parentNode = path.getParentNode();\n const isDefinite = node.definite || parentNode && parentNode.type === \"VariableDeclarator\" && parentNode.definite;\n const isFunctionDeclarationIdentifier = parentNode.type === \"DeclareFunction\" && parentNode.id === node;\n\n if (isFlowAnnotationComment$1(options.originalText, node.typeAnnotation, options)) {\n return concat$d([\" /*: \", path.call(print, \"typeAnnotation\"), \" */\"]);\n }\n\n return concat$d([isFunctionDeclarationIdentifier ? \"\" : isDefinite ? \"!: \" : \": \", path.call(print, \"typeAnnotation\")]);\n }\n\n function printFunctionTypeParameters(path, options, print) {\n const fun = path.getValue();\n\n if (fun.typeArguments) {\n return path.call(print, \"typeArguments\");\n }\n\n if (fun.typeParameters) {\n return path.call(print, \"typeParameters\");\n }\n\n return \"\";\n }\n\n function printFunctionParams(path, print, options, expandArg, printTypeParams) {\n const fun = path.getValue();\n const parent = path.getParentNode();\n const paramsField = fun.parameters ? \"parameters\" : \"params\";\n const isParametersInTestCall = isTestCall$1(parent);\n const shouldHugParameters = shouldHugArguments(fun);\n const shouldExpandParameters = expandArg && !(fun[paramsField] && fun[paramsField].some(n => n.comments));\n const typeParams = printTypeParams ? printFunctionTypeParameters(path, options, print) : \"\";\n let printed = [];\n\n if (fun[paramsField]) {\n const lastArgIndex = fun[paramsField].length - 1;\n printed = path.map((childPath, index) => {\n const parts = [];\n const param = childPath.getValue();\n parts.push(print(childPath));\n\n if (index === lastArgIndex) {\n if (fun.rest) {\n parts.push(\",\", line$9);\n }\n } else if (isParametersInTestCall || shouldHugParameters || shouldExpandParameters) {\n parts.push(\", \");\n } else if (isNextLineEmpty$4(options.originalText, param, options.locEnd)) {\n parts.push(\",\", hardline$9, hardline$9);\n } else {\n parts.push(\",\", line$9);\n }\n\n return concat$d(parts);\n }, paramsField);\n }\n\n if (fun.rest) {\n printed.push(concat$d([\"...\", path.call(print, \"rest\")]));\n }\n\n if (printed.length === 0) {\n return concat$d([typeParams, \"(\", comments.printDanglingComments(path, options,\n /* sameIndent */\n true, comment => getNextNonSpaceNonCommentCharacter$1(options.originalText, comment, options.locEnd) === \")\"), \")\"]);\n }\n\n const lastParam = getLast$3(fun[paramsField]); // If the parent is a call with the first/last argument expansion and this is the\n // params of the first/last argument, we don't want the arguments to break and instead\n // want the whole expression to be on a new line.\n //\n // Good: Bad:\n // verylongcall( verylongcall((\n // (a, b) => { a,\n // } b,\n // }) ) => {\n // })\n\n if (shouldExpandParameters) {\n return group$b(concat$d([removeLines$2(typeParams), \"(\", concat$d(printed.map(removeLines$2)), \")\"]));\n } // Single object destructuring should hug\n //\n // function({\n // a,\n // b,\n // c\n // }) {}\n\n\n const hasNotParameterDecorator = fun[paramsField].every(param => !param.decorators);\n\n if (shouldHugParameters && hasNotParameterDecorator) {\n return concat$d([typeParams, \"(\", concat$d(printed), \")\"]);\n } // don't break in specs, eg; `it(\"should maintain parens around done even when long\", (done) => {})`\n\n\n if (isParametersInTestCall) {\n return concat$d([typeParams, \"(\", concat$d(printed), \")\"]);\n }\n\n const isFlowShorthandWithOneArg = (isObjectTypePropertyAFunction$1(parent, options) || isTypeAnnotationAFunction$1(parent, options) || parent.type === \"TypeAlias\" || parent.type === \"UnionTypeAnnotation\" || parent.type === \"TSUnionType\" || parent.type === \"IntersectionTypeAnnotation\" || parent.type === \"FunctionTypeAnnotation\" && parent.returnType === fun) && fun[paramsField].length === 1 && fun[paramsField][0].name === null && fun[paramsField][0].typeAnnotation && fun.typeParameters === null && isSimpleFlowType$1(fun[paramsField][0].typeAnnotation) && !fun.rest;\n\n if (isFlowShorthandWithOneArg) {\n if (options.arrowParens === \"always\") {\n return concat$d([\"(\", concat$d(printed), \")\"]);\n }\n\n return concat$d(printed);\n }\n\n const canHaveTrailingComma = !(lastParam && lastParam.type === \"RestElement\") && !fun.rest;\n return concat$d([typeParams, \"(\", indent$7(concat$d([softline$6, concat$d(printed)])), ifBreak$6(canHaveTrailingComma && shouldPrintComma$1(options, \"all\") ? \",\" : \"\"), softline$6, \")\"]);\n }\n\n function shouldPrintParamsWithoutParens(path, options) {\n if (options.arrowParens === \"always\") {\n return false;\n }\n\n if (options.arrowParens === \"avoid\") {\n const node = path.getValue();\n return canPrintParamsWithoutParens(node);\n } // Fallback default; should be unreachable\n\n\n return false;\n }\n\n function canPrintParamsWithoutParens(node) {\n return node.params.length === 1 && !node.rest && !node.typeParameters && !hasDanglingComments$1(node) && node.params[0].type === \"Identifier\" && !node.params[0].typeAnnotation && !node.params[0].comments && !node.params[0].optional && !node.predicate && !node.returnType;\n }\n\n function printFunctionDeclaration(path, print, options) {\n const n = path.getValue();\n const parts = [];\n\n if (n.async) {\n parts.push(\"async \");\n }\n\n if (n.generator) {\n parts.push(\"function* \");\n } else {\n parts.push(\"function \");\n }\n\n if (n.id) {\n parts.push(path.call(print, \"id\"));\n }\n\n parts.push(printFunctionTypeParameters(path, options, print), group$b(concat$d([printFunctionParams(path, print, options), printReturnType(path, print, options)])), n.body ? \" \" : \"\", path.call(print, \"body\"));\n return concat$d(parts);\n }\n\n function printReturnType(path, print, options) {\n const n = path.getValue();\n const returnType = path.call(print, \"returnType\");\n\n if (n.returnType && isFlowAnnotationComment$1(options.originalText, n.returnType, options)) {\n return concat$d([\" /*: \", returnType, \" */\"]);\n }\n\n const parts = [returnType]; // prepend colon to TypeScript type annotation\n\n if (n.returnType && n.returnType.typeAnnotation) {\n parts.unshift(\": \");\n }\n\n if (n.predicate) {\n // The return type will already add the colon, but otherwise we\n // need to do it ourselves\n parts.push(n.returnType ? \" \" : \": \", path.call(print, \"predicate\"));\n }\n\n return concat$d(parts);\n }\n\n function printExportDeclaration(path, options, print) {\n const decl = path.getValue();\n const semi = options.semi ? \";\" : \"\";\n const parts = [\"export \"];\n const isDefault = decl.default || decl.type === \"ExportDefaultDeclaration\";\n\n if (isDefault) {\n parts.push(\"default \");\n }\n\n parts.push(comments.printDanglingComments(path, options,\n /* sameIndent */\n true));\n\n if (needsHardlineAfterDanglingComment$1(decl)) {\n parts.push(hardline$9);\n }\n\n if (decl.declaration) {\n parts.push(path.call(print, \"declaration\"));\n\n if (isDefault && decl.declaration.type !== \"ClassDeclaration\" && decl.declaration.type !== \"FunctionDeclaration\" && decl.declaration.type !== \"TSInterfaceDeclaration\" && decl.declaration.type !== \"DeclareClass\" && decl.declaration.type !== \"DeclareFunction\" && decl.declaration.type !== \"TSDeclareFunction\") {\n parts.push(semi);\n }\n } else {\n if (decl.specifiers && decl.specifiers.length > 0) {\n const specifiers = [];\n const defaultSpecifiers = [];\n const namespaceSpecifiers = [];\n path.each(specifierPath => {\n const specifierType = path.getValue().type;\n\n if (specifierType === \"ExportSpecifier\") {\n specifiers.push(print(specifierPath));\n } else if (specifierType === \"ExportDefaultSpecifier\") {\n defaultSpecifiers.push(print(specifierPath));\n } else if (specifierType === \"ExportNamespaceSpecifier\") {\n namespaceSpecifiers.push(concat$d([\"* as \", print(specifierPath)]));\n }\n }, \"specifiers\");\n const isNamespaceFollowed = namespaceSpecifiers.length !== 0 && specifiers.length !== 0;\n const isDefaultFollowed = defaultSpecifiers.length !== 0 && (namespaceSpecifiers.length !== 0 || specifiers.length !== 0);\n const canBreak = specifiers.length > 1 || defaultSpecifiers.length > 0 || decl.specifiers && decl.specifiers.some(node => node.comments);\n let printed = \"\";\n\n if (specifiers.length !== 0) {\n if (canBreak) {\n printed = group$b(concat$d([\"{\", indent$7(concat$d([options.bracketSpacing ? line$9 : softline$6, join$9(concat$d([\",\", line$9]), specifiers)])), ifBreak$6(shouldPrintComma$1(options) ? \",\" : \"\"), options.bracketSpacing ? line$9 : softline$6, \"}\"]));\n } else {\n printed = concat$d([\"{\", options.bracketSpacing ? \" \" : \"\", concat$d(specifiers), options.bracketSpacing ? \" \" : \"\", \"}\"]);\n }\n }\n\n parts.push(decl.exportKind === \"type\" ? \"type \" : \"\", concat$d(defaultSpecifiers), concat$d([isDefaultFollowed ? \", \" : \"\"]), concat$d(namespaceSpecifiers), concat$d([isNamespaceFollowed ? \", \" : \"\"]), printed);\n } else {\n parts.push(\"{}\");\n }\n\n if (decl.source) {\n parts.push(\" from \", path.call(print, \"source\"));\n }\n\n parts.push(semi);\n }\n\n return concat$d(parts);\n }\n\n function printFlowDeclaration(path, parts) {\n const parentExportDecl = getParentExportDeclaration$1(path);\n\n if (parentExportDecl) {\n assert.strictEqual(parentExportDecl.type, \"DeclareExportDeclaration\");\n } else {\n // If the parent node has type DeclareExportDeclaration, then it\n // will be responsible for printing the \"declare\" token. Otherwise\n // it needs to be printed with this non-exported declaration node.\n parts.unshift(\"declare \");\n }\n\n return concat$d(parts);\n }\n\n function printTypeScriptModifiers(path, options, print) {\n const n = path.getValue();\n\n if (!n.modifiers || !n.modifiers.length) {\n return \"\";\n }\n\n return concat$d([join$9(\" \", path.map(print, \"modifiers\")), \" \"]);\n }\n\n function printTypeParameters(path, options, print, paramsKey) {\n const n = path.getValue();\n\n if (!n[paramsKey]) {\n return \"\";\n } // for TypeParameterDeclaration typeParameters is a single node\n\n\n if (!Array.isArray(n[paramsKey])) {\n return path.call(print, paramsKey);\n }\n\n const grandparent = path.getNode(2);\n const greatGrandParent = path.getNode(3);\n const greatGreatGrandParent = path.getNode(4);\n const isParameterInTestCall = grandparent != null && isTestCall$1(grandparent);\n const shouldInline = isParameterInTestCall || n[paramsKey].length === 0 || n[paramsKey].length === 1 && (shouldHugType(n[paramsKey][0]) || n[paramsKey][0].type === \"GenericTypeAnnotation\" && shouldHugType(n[paramsKey][0].id) || n[paramsKey][0].type === \"TSTypeReference\" && shouldHugType(n[paramsKey][0].typeName) || n[paramsKey][0].type === \"NullableTypeAnnotation\" || // See https://github.com/prettier/prettier/pull/6467 for the context.\n greatGreatGrandParent && greatGreatGrandParent.type === \"VariableDeclarator\" && grandparent.type === \"TSTypeAnnotation\" && greatGrandParent.type !== \"ArrowFunctionExpression\" && n[paramsKey][0].type !== \"TSUnionType\" && n[paramsKey][0].type !== \"UnionTypeAnnotation\" && n[paramsKey][0].type !== \"TSIntersectionType\" && n[paramsKey][0].type !== \"IntersectionTypeAnnotation\" && n[paramsKey][0].type !== \"TSConditionalType\" && n[paramsKey][0].type !== \"TSMappedType\" && n[paramsKey][0].type !== \"TSTypeOperator\" && n[paramsKey][0].type !== \"TSIndexedAccessType\" && n[paramsKey][0].type !== \"TSArrayType\");\n\n function printDanglingCommentsForInline(n) {\n if (!hasDanglingComments$1(n)) {\n return \"\";\n }\n\n const hasOnlyBlockComments = n.comments.every(comments$1.isBlockComment);\n const printed = comments.printDanglingComments(path, options,\n /* sameIndent */\n hasOnlyBlockComments);\n\n if (hasOnlyBlockComments) {\n return printed;\n }\n\n return concat$d([printed, hardline$9]);\n }\n\n if (shouldInline) {\n return concat$d([\"<\", join$9(\", \", path.map(print, paramsKey)), printDanglingCommentsForInline(n), \">\"]);\n }\n\n return group$b(concat$d([\"<\", indent$7(concat$d([softline$6, join$9(concat$d([\",\", line$9]), path.map(print, paramsKey))])), ifBreak$6(options.parser !== \"typescript\" && options.parser !== \"babel-ts\" && shouldPrintComma$1(options, \"all\") ? \",\" : \"\"), softline$6, \">\"]));\n }\n\n function printClass(path, options, print) {\n const n = path.getValue();\n const parts = [];\n\n if (n.abstract) {\n parts.push(\"abstract \");\n }\n\n parts.push(\"class\");\n\n if (n.id) {\n parts.push(\" \", path.call(print, \"id\"));\n }\n\n parts.push(path.call(print, \"typeParameters\"));\n const partsGroup = [];\n\n if (n.superClass) {\n const printed = concat$d([\"extends \", path.call(print, \"superClass\"), path.call(print, \"superTypeParameters\")]); // Keep old behaviour of extends in same line\n // If there is only on extends and there are not comments\n\n if ((!n.implements || n.implements.length === 0) && (!n.superClass.comments || n.superClass.comments.length === 0)) {\n parts.push(concat$d([\" \", path.call(superClass => comments.printComments(superClass, () => printed, options), \"superClass\")]));\n } else {\n partsGroup.push(group$b(concat$d([line$9, path.call(superClass => comments.printComments(superClass, () => printed, options), \"superClass\")])));\n }\n } else if (n.extends && n.extends.length > 0) {\n parts.push(\" extends \", join$9(\", \", path.map(print, \"extends\")));\n }\n\n if (n.mixins && n.mixins.length > 0) {\n partsGroup.push(line$9, \"mixins \", group$b(indent$7(join$9(concat$d([\",\", line$9]), path.map(print, \"mixins\")))));\n }\n\n if (n.implements && n.implements.length > 0) {\n partsGroup.push(line$9, \"implements\", group$b(indent$7(concat$d([line$9, join$9(concat$d([\",\", line$9]), path.map(print, \"implements\"))]))));\n }\n\n if (partsGroup.length > 0) {\n parts.push(group$b(indent$7(concat$d(partsGroup))));\n }\n\n if (n.body && n.body.comments && hasLeadingOwnLineComment$1(options.originalText, n.body, options)) {\n parts.push(hardline$9);\n } else {\n parts.push(\" \");\n }\n\n parts.push(path.call(print, \"body\"));\n return parts;\n }\n\n function printOptionalToken(path) {\n const node = path.getValue();\n\n if (!node.optional || // It's an optional computed method parsed by typescript-estree.\n // \"?\" is printed in `printMethod`.\n node.type === \"Identifier\" && node === path.getParentNode().key) {\n return \"\";\n }\n\n if (node.type === \"OptionalCallExpression\" || node.type === \"OptionalMemberExpression\" && node.computed) {\n return \"?.\";\n }\n\n return \"?\";\n }\n\n function printMemberLookup(path, options, print) {\n const property = path.call(print, \"property\");\n const n = path.getValue();\n const optional = printOptionalToken(path);\n\n if (!n.computed) {\n return concat$d([optional, \".\", property]);\n }\n\n if (!n.property || isNumericLiteral$1(n.property)) {\n return concat$d([optional, \"[\", property, \"]\"]);\n }\n\n return group$b(concat$d([optional, \"[\", indent$7(concat$d([softline$6, property])), softline$6, \"]\"]));\n }\n\n function printBindExpressionCallee(path, options, print) {\n return concat$d([\"::\", path.call(print, \"callee\")]);\n } // We detect calls on member expressions specially to format a\n // common pattern better. The pattern we are looking for is this:\n //\n // arr\n // .map(x => x + 1)\n // .filter(x => x > 10)\n // .some(x => x % 2)\n //\n // The way it is structured in the AST is via a nested sequence of\n // MemberExpression and CallExpression. We need to traverse the AST\n // and make groups out of it to print it in the desired way.\n\n\n function printMemberChain(path, options, print) {\n // The first phase is to linearize the AST by traversing it down.\n //\n // a().b()\n // has the following AST structure:\n // CallExpression(MemberExpression(CallExpression(Identifier)))\n // and we transform it into\n // [Identifier, CallExpression, MemberExpression, CallExpression]\n const printedNodes = []; // Here we try to retain one typed empty line after each call expression or\n // the first group whether it is in parentheses or not\n\n function shouldInsertEmptyLineAfter(node) {\n const {\n originalText\n } = options;\n const nextCharIndex = getNextNonSpaceNonCommentCharacterIndex$3(originalText, node, options.locEnd);\n const nextChar = originalText.charAt(nextCharIndex); // if it is cut off by a parenthesis, we only account for one typed empty\n // line after that parenthesis\n\n if (nextChar === \")\") {\n return isNextLineEmptyAfterIndex$2(originalText, nextCharIndex + 1, options.locEnd);\n }\n\n return isNextLineEmpty$4(originalText, node, options.locEnd);\n }\n\n function rec(path) {\n const node = path.getValue();\n\n if ((node.type === \"CallExpression\" || node.type === \"OptionalCallExpression\") && (isMemberish$1(node.callee) || node.callee.type === \"CallExpression\" || node.callee.type === \"OptionalCallExpression\")) {\n printedNodes.unshift({\n node,\n printed: concat$d([comments.printComments(path, () => concat$d([printOptionalToken(path), printFunctionTypeParameters(path, options, print), printArgumentsList(path, options, print)]), options), shouldInsertEmptyLineAfter(node) ? hardline$9 : \"\"])\n });\n path.call(callee => rec(callee), \"callee\");\n } else if (isMemberish$1(node)) {\n printedNodes.unshift({\n node,\n needsParens: needsParens_1(path, options),\n printed: comments.printComments(path, () => node.type === \"OptionalMemberExpression\" || node.type === \"MemberExpression\" ? printMemberLookup(path, options, print) : printBindExpressionCallee(path, options, print), options)\n });\n path.call(object => rec(object), \"object\");\n } else if (node.type === \"TSNonNullExpression\") {\n printedNodes.unshift({\n node,\n printed: comments.printComments(path, () => \"!\", options)\n });\n path.call(expression => rec(expression), \"expression\");\n } else {\n printedNodes.unshift({\n node,\n printed: path.call(print)\n });\n }\n } // Note: the comments of the root node have already been printed, so we\n // need to extract this first call without printing them as they would\n // if handled inside of the recursive call.\n\n\n const node = path.getValue();\n printedNodes.unshift({\n node,\n printed: concat$d([printOptionalToken(path), printFunctionTypeParameters(path, options, print), printArgumentsList(path, options, print)])\n });\n path.call(callee => rec(callee), \"callee\"); // Once we have a linear list of printed nodes, we want to create groups out\n // of it.\n //\n // a().b.c().d().e\n // will be grouped as\n // [\n // [Identifier, CallExpression],\n // [MemberExpression, MemberExpression, CallExpression],\n // [MemberExpression, CallExpression],\n // [MemberExpression],\n // ]\n // so that we can print it as\n // a()\n // .b.c()\n // .d()\n // .e\n // The first group is the first node followed by\n // - as many CallExpression as possible\n // < fn()()() >.something()\n // - as many array accessors as possible\n // < fn()[0][1][2] >.something()\n // - then, as many MemberExpression as possible but the last one\n // < this.items >.something()\n\n const groups = [];\n let currentGroup = [printedNodes[0]];\n let i = 1;\n\n for (; i < printedNodes.length; ++i) {\n if (printedNodes[i].node.type === \"TSNonNullExpression\" || printedNodes[i].node.type === \"OptionalCallExpression\" || printedNodes[i].node.type === \"CallExpression\" || (printedNodes[i].node.type === \"MemberExpression\" || printedNodes[i].node.type === \"OptionalMemberExpression\") && printedNodes[i].node.computed && isNumericLiteral$1(printedNodes[i].node.property)) {\n currentGroup.push(printedNodes[i]);\n } else {\n break;\n }\n }\n\n if (printedNodes[0].node.type !== \"CallExpression\" && printedNodes[0].node.type !== \"OptionalCallExpression\") {\n for (; i + 1 < printedNodes.length; ++i) {\n if (isMemberish$1(printedNodes[i].node) && isMemberish$1(printedNodes[i + 1].node)) {\n currentGroup.push(printedNodes[i]);\n } else {\n break;\n }\n }\n }\n\n groups.push(currentGroup);\n currentGroup = []; // Then, each following group is a sequence of MemberExpression followed by\n // a sequence of CallExpression. To compute it, we keep adding things to the\n // group until we has seen a CallExpression in the past and reach a\n // MemberExpression\n\n let hasSeenCallExpression = false;\n\n for (; i < printedNodes.length; ++i) {\n if (hasSeenCallExpression && isMemberish$1(printedNodes[i].node)) {\n // [0] should be appended at the end of the group instead of the\n // beginning of the next one\n if (printedNodes[i].node.computed && isNumericLiteral$1(printedNodes[i].node.property)) {\n currentGroup.push(printedNodes[i]);\n continue;\n }\n\n groups.push(currentGroup);\n currentGroup = [];\n hasSeenCallExpression = false;\n }\n\n if (printedNodes[i].node.type === \"CallExpression\" || printedNodes[i].node.type === \"OptionalCallExpression\") {\n hasSeenCallExpression = true;\n }\n\n currentGroup.push(printedNodes[i]);\n\n if (printedNodes[i].node.comments && printedNodes[i].node.comments.some(comment => comment.trailing)) {\n groups.push(currentGroup);\n currentGroup = [];\n hasSeenCallExpression = false;\n }\n }\n\n if (currentGroup.length > 0) {\n groups.push(currentGroup);\n } // There are cases like Object.keys(), Observable.of(), _.values() where\n // they are the subject of all the chained calls and therefore should\n // be kept on the same line:\n //\n // Object.keys(items)\n // .filter(x => x)\n // .map(x => x)\n //\n // In order to detect those cases, we use an heuristic: if the first\n // node is an identifier with the name starting with a capital\n // letter or just a sequence of _$. The rationale is that they are\n // likely to be factories.\n\n\n function isFactory(name) {\n return /^[A-Z]|^[_$]+$/.test(name);\n } // In case the Identifier is shorter than tab width, we can keep the\n // first call in a single line, if it's an ExpressionStatement.\n //\n // d3.scaleLinear()\n // .domain([0, 100])\n // .range([0, width]);\n //\n\n\n function isShort(name) {\n return name.length <= options.tabWidth;\n }\n\n function shouldNotWrap(groups) {\n const parent = path.getParentNode();\n const isExpression = parent && parent.type === \"ExpressionStatement\";\n const hasComputed = groups[1].length && groups[1][0].node.computed;\n\n if (groups[0].length === 1) {\n const firstNode = groups[0][0].node;\n return firstNode.type === \"ThisExpression\" || firstNode.type === \"Identifier\" && (isFactory(firstNode.name) || isExpression && isShort(firstNode.name) || hasComputed);\n }\n\n const lastNode = getLast$3(groups[0]).node;\n return (lastNode.type === \"MemberExpression\" || lastNode.type === \"OptionalMemberExpression\") && lastNode.property.type === \"Identifier\" && (isFactory(lastNode.property.name) || hasComputed);\n }\n\n const shouldMerge = groups.length >= 2 && !groups[1][0].node.comments && shouldNotWrap(groups);\n\n function printGroup(printedGroup) {\n const printed = printedGroup.map(tuple => tuple.printed); // Checks if the last node (i.e. the parent node) needs parens and print\n // accordingly\n\n if (printedGroup.length > 0 && printedGroup[printedGroup.length - 1].needsParens) {\n return concat$d([\"(\", ...printed, \")\"]);\n }\n\n return concat$d(printed);\n }\n\n function printIndentedGroup(groups) {\n if (groups.length === 0) {\n return \"\";\n }\n\n return indent$7(group$b(concat$d([hardline$9, join$9(hardline$9, groups.map(printGroup))])));\n }\n\n const printedGroups = groups.map(printGroup);\n const oneLine = concat$d(printedGroups);\n const cutoff = shouldMerge ? 3 : 2;\n const flatGroups = groups.reduce((res, group) => res.concat(group), []);\n const hasComment = flatGroups.slice(1, -1).some(node => hasLeadingComment$3(node.node)) || flatGroups.slice(0, -1).some(node => hasTrailingComment$1(node.node)) || groups[cutoff] && hasLeadingComment$3(groups[cutoff][0].node); // If we only have a single `.`, we shouldn't do anything fancy and just\n // render everything concatenated together.\n\n if (groups.length <= cutoff && !hasComment) {\n if (isLongCurriedCallExpression$1(path)) {\n return oneLine;\n }\n\n return group$b(oneLine);\n } // Find out the last node in the first group and check if it has an\n // empty line after\n\n\n const lastNodeBeforeIndent = getLast$3(shouldMerge ? groups.slice(1, 2)[0] : groups[0]).node;\n const shouldHaveEmptyLineBeforeIndent = lastNodeBeforeIndent.type !== \"CallExpression\" && lastNodeBeforeIndent.type !== \"OptionalCallExpression\" && shouldInsertEmptyLineAfter(lastNodeBeforeIndent);\n const expanded = concat$d([printGroup(groups[0]), shouldMerge ? concat$d(groups.slice(1, 2).map(printGroup)) : \"\", shouldHaveEmptyLineBeforeIndent ? hardline$9 : \"\", printIndentedGroup(groups.slice(shouldMerge ? 2 : 1))]);\n const callExpressions = printedNodes.map(({\n node\n }) => node).filter(isCallOrOptionalCallExpression$1); // We don't want to print in one line if the chain has:\n // * A comment.\n // * Non-trivial arguments.\n // * Any group but the last one has a hard line.\n // If the last group is a function it's okay to inline if it fits.\n\n if (hasComment || callExpressions.length > 2 && callExpressions.some(expr => !expr.arguments.every(arg => isSimpleCallArgument$1(arg, 0))) || printedGroups.slice(0, -1).some(willBreak$1) ||\n /**\n * scopes.filter(scope => scope.value !== '').map((scope, i) => {\n * // multi line content\n * })\n */\n ((lastGroupDoc, lastGroupNode) => isCallOrOptionalCallExpression$1(lastGroupNode) && willBreak$1(lastGroupDoc))(getLast$3(printedGroups), getLast$3(getLast$3(groups)).node) && callExpressions.slice(0, -1).some(n => n.arguments.some(isFunctionOrArrowExpression$1))) {\n return group$b(expanded);\n }\n\n return concat$d([// We only need to check `oneLine` because if `expanded` is chosen\n // that means that the parent group has already been broken\n // naturally\n willBreak$1(oneLine) || shouldHaveEmptyLineBeforeIndent ? breakParent$3 : \"\", conditionalGroup$1([oneLine, expanded])]);\n }\n\n function separatorNoWhitespace(isFacebookTranslationTag, child, childNode, nextNode) {\n if (isFacebookTranslationTag) {\n return \"\";\n }\n\n if (childNode.type === \"JSXElement\" && !childNode.closingElement || nextNode && nextNode.type === \"JSXElement\" && !nextNode.closingElement) {\n return child.length === 1 ? softline$6 : hardline$9;\n }\n\n return softline$6;\n }\n\n function separatorWithWhitespace(isFacebookTranslationTag, child, childNode, nextNode) {\n if (isFacebookTranslationTag) {\n return hardline$9;\n }\n\n if (child.length === 1) {\n return childNode.type === \"JSXElement\" && !childNode.closingElement || nextNode && nextNode.type === \"JSXElement\" && !nextNode.closingElement ? hardline$9 : softline$6;\n }\n\n return hardline$9;\n } // JSX Children are strange, mostly for two reasons:\n // 1. JSX reads newlines into string values, instead of skipping them like JS\n // 2. up to one whitespace between elements within a line is significant,\n // but not between lines.\n //\n // Leading, trailing, and lone whitespace all need to\n // turn themselves into the rather ugly `{' '}` when breaking.\n //\n // We print JSX using the `fill` doc primitive.\n // This requires that we give it an array of alternating\n // content and whitespace elements.\n // To ensure this we add dummy `\"\"` content elements as needed.\n\n\n function printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag) {\n const n = path.getValue();\n const children = []; // using `map` instead of `each` because it provides `i`\n\n path.map((childPath, i) => {\n const child = childPath.getValue();\n\n if (isLiteral$1(child)) {\n const text = rawText$1(child); // Contains a non-whitespace character\n\n if (isMeaningfulJSXText$1(child)) {\n const words = text.split(matchJsxWhitespaceRegex$1); // Starts with whitespace\n\n if (words[0] === \"\") {\n children.push(\"\");\n words.shift();\n\n if (/\\n/.test(words[0])) {\n const next = n.children[i + 1];\n children.push(separatorWithWhitespace(isFacebookTranslationTag, words[1], child, next));\n } else {\n children.push(jsxWhitespace);\n }\n\n words.shift();\n }\n\n let endWhitespace; // Ends with whitespace\n\n if (getLast$3(words) === \"\") {\n words.pop();\n endWhitespace = words.pop();\n } // This was whitespace only without a new line.\n\n\n if (words.length === 0) {\n return;\n }\n\n words.forEach((word, i) => {\n if (i % 2 === 1) {\n children.push(line$9);\n } else {\n children.push(word);\n }\n });\n\n if (endWhitespace !== undefined) {\n if (/\\n/.test(endWhitespace)) {\n const next = n.children[i + 1];\n children.push(separatorWithWhitespace(isFacebookTranslationTag, getLast$3(children), child, next));\n } else {\n children.push(jsxWhitespace);\n }\n } else {\n const next = n.children[i + 1];\n children.push(separatorNoWhitespace(isFacebookTranslationTag, getLast$3(children), child, next));\n }\n } else if (/\\n/.test(text)) {\n // Keep (up to one) blank line between tags/expressions/text.\n // Note: We don't keep blank lines between text elements.\n if (text.match(/\\n/g).length > 1) {\n children.push(\"\");\n children.push(hardline$9);\n }\n } else {\n children.push(\"\");\n children.push(jsxWhitespace);\n }\n } else {\n const printedChild = print(childPath);\n children.push(printedChild);\n const next = n.children[i + 1];\n const directlyFollowedByMeaningfulText = next && isMeaningfulJSXText$1(next);\n\n if (directlyFollowedByMeaningfulText) {\n const firstWord = rawText$1(next).trim().split(matchJsxWhitespaceRegex$1)[0];\n children.push(separatorNoWhitespace(isFacebookTranslationTag, firstWord, child, next));\n } else {\n children.push(hardline$9);\n }\n }\n }, \"children\");\n return children;\n } // JSX expands children from the inside-out, instead of the outside-in.\n // This is both to break children before attributes,\n // and to ensure that when children break, their parents do as well.\n //\n // Any element that is written without any newlines and fits on a single line\n // is left that way.\n // Not only that, any user-written-line containing multiple JSX siblings\n // should also be kept on one line if possible,\n // so each user-written-line is wrapped in its own group.\n //\n // Elements that contain newlines or don't fit on a single line (recursively)\n // are fully-split, using hardline and shouldBreak: true.\n //\n // To support that case properly, all leading and trailing spaces\n // are stripped from the list of children, and replaced with a single hardline.\n\n\n function printJSXElement(path, options, print) {\n const n = path.getValue();\n\n if (n.type === \"JSXElement\" && isEmptyJSXElement$1(n)) {\n return concat$d([path.call(print, \"openingElement\"), path.call(print, \"closingElement\")]);\n }\n\n const openingLines = n.type === \"JSXElement\" ? path.call(print, \"openingElement\") : path.call(print, \"openingFragment\");\n const closingLines = n.type === \"JSXElement\" ? path.call(print, \"closingElement\") : path.call(print, \"closingFragment\");\n\n if (n.children.length === 1 && n.children[0].type === \"JSXExpressionContainer\" && (n.children[0].expression.type === \"TemplateLiteral\" || n.children[0].expression.type === \"TaggedTemplateExpression\")) {\n return concat$d([openingLines, concat$d(path.map(print, \"children\")), closingLines]);\n } // Convert `{\" \"}` to text nodes containing a space.\n // This makes it easy to turn them into `jsxWhitespace` which\n // can then print as either a space or `{\" \"}` when breaking.\n\n\n n.children = n.children.map(child => {\n if (isJSXWhitespaceExpression$1(child)) {\n return {\n type: \"JSXText\",\n value: \" \",\n raw: \" \"\n };\n }\n\n return child;\n });\n const containsTag = n.children.filter(isJSXNode$1).length > 0;\n const containsMultipleExpressions = n.children.filter(child => child.type === \"JSXExpressionContainer\").length > 1;\n const containsMultipleAttributes = n.type === \"JSXElement\" && n.openingElement.attributes.length > 1; // Record any breaks. Should never go from true to false, only false to true.\n\n let forcedBreak = willBreak$1(openingLines) || containsTag || containsMultipleAttributes || containsMultipleExpressions;\n const isMdxBlock = path.getParentNode().rootMarker === \"mdx\";\n const rawJsxWhitespace = options.singleQuote ? \"{' '}\" : '{\" \"}';\n const jsxWhitespace = isMdxBlock ? concat$d([\" \"]) : ifBreak$6(concat$d([rawJsxWhitespace, softline$6]), \" \");\n const isFacebookTranslationTag = n.openingElement && n.openingElement.name && n.openingElement.name.name === \"fbt\";\n const children = printJSXChildren(path, options, print, jsxWhitespace, isFacebookTranslationTag);\n const containsText = n.children.some(child => isMeaningfulJSXText$1(child)); // We can end up we multiple whitespace elements with empty string\n // content between them.\n // We need to remove empty whitespace and softlines before JSX whitespace\n // to get the correct output.\n\n for (let i = children.length - 2; i >= 0; i--) {\n const isPairOfEmptyStrings = children[i] === \"\" && children[i + 1] === \"\";\n const isPairOfHardlines = children[i] === hardline$9 && children[i + 1] === \"\" && children[i + 2] === hardline$9;\n const isLineFollowedByJSXWhitespace = (children[i] === softline$6 || children[i] === hardline$9) && children[i + 1] === \"\" && children[i + 2] === jsxWhitespace;\n const isJSXWhitespaceFollowedByLine = children[i] === jsxWhitespace && children[i + 1] === \"\" && (children[i + 2] === softline$6 || children[i + 2] === hardline$9);\n const isDoubleJSXWhitespace = children[i] === jsxWhitespace && children[i + 1] === \"\" && children[i + 2] === jsxWhitespace;\n const isPairOfHardOrSoftLines = children[i] === softline$6 && children[i + 1] === \"\" && children[i + 2] === hardline$9 || children[i] === hardline$9 && children[i + 1] === \"\" && children[i + 2] === softline$6;\n\n if (isPairOfHardlines && containsText || isPairOfEmptyStrings || isLineFollowedByJSXWhitespace || isDoubleJSXWhitespace || isPairOfHardOrSoftLines) {\n children.splice(i, 2);\n } else if (isJSXWhitespaceFollowedByLine) {\n children.splice(i + 1, 2);\n }\n } // Trim trailing lines (or empty strings)\n\n\n while (children.length && (isLineNext$1(getLast$3(children)) || isEmpty$1(getLast$3(children)))) {\n children.pop();\n } // Trim leading lines (or empty strings)\n\n\n while (children.length && (isLineNext$1(children[0]) || isEmpty$1(children[0])) && (isLineNext$1(children[1]) || isEmpty$1(children[1]))) {\n children.shift();\n children.shift();\n } // Tweak how we format children if outputting this element over multiple lines.\n // Also detect whether we will force this element to output over multiple lines.\n\n\n const multilineChildren = [];\n children.forEach((child, i) => {\n // There are a number of situations where we need to ensure we display\n // whitespace as `{\" \"}` when outputting this element over multiple lines.\n if (child === jsxWhitespace) {\n if (i === 1 && children[i - 1] === \"\") {\n if (children.length === 2) {\n // Solitary whitespace\n multilineChildren.push(rawJsxWhitespace);\n return;\n } // Leading whitespace\n\n\n multilineChildren.push(concat$d([rawJsxWhitespace, hardline$9]));\n return;\n } else if (i === children.length - 1) {\n // Trailing whitespace\n multilineChildren.push(rawJsxWhitespace);\n return;\n } else if (children[i - 1] === \"\" && children[i - 2] === hardline$9) {\n // Whitespace after line break\n multilineChildren.push(rawJsxWhitespace);\n return;\n }\n }\n\n multilineChildren.push(child);\n\n if (willBreak$1(child)) {\n forcedBreak = true;\n }\n }); // If there is text we use `fill` to fit as much onto each line as possible.\n // When there is no text (just tags and expressions) we use `group`\n // to output each on a separate line.\n\n const content = containsText ? fill$4(multilineChildren) : group$b(concat$d(multilineChildren), {\n shouldBreak: true\n });\n\n if (isMdxBlock) {\n return content;\n }\n\n const multiLineElem = group$b(concat$d([openingLines, indent$7(concat$d([hardline$9, content])), hardline$9, closingLines]));\n\n if (forcedBreak) {\n return multiLineElem;\n }\n\n return conditionalGroup$1([group$b(concat$d([openingLines, concat$d(children), closingLines])), multiLineElem]);\n }\n\n function maybeWrapJSXElementInParens(path, elem, options) {\n const parent = path.getParentNode();\n\n if (!parent) {\n return elem;\n }\n\n const NO_WRAP_PARENTS = {\n ArrayExpression: true,\n JSXAttribute: true,\n JSXElement: true,\n JSXExpressionContainer: true,\n JSXFragment: true,\n ExpressionStatement: true,\n CallExpression: true,\n OptionalCallExpression: true,\n ConditionalExpression: true,\n JsExpressionRoot: true\n };\n\n if (NO_WRAP_PARENTS[parent.type]) {\n return elem;\n }\n\n const shouldBreak = path.match(undefined, node => node.type === \"ArrowFunctionExpression\", isCallOrOptionalCallExpression$1, node => node.type === \"JSXExpressionContainer\");\n const needsParens = needsParens_1(path, options);\n return group$b(concat$d([needsParens ? \"\" : ifBreak$6(\"(\"), indent$7(concat$d([softline$6, elem])), softline$6, needsParens ? \"\" : ifBreak$6(\")\")]), {\n shouldBreak\n });\n }\n\n function shouldInlineLogicalExpression(node) {\n if (node.type !== \"LogicalExpression\") {\n return false;\n }\n\n if (node.right.type === \"ObjectExpression\" && node.right.properties.length !== 0) {\n return true;\n }\n\n if (node.right.type === \"ArrayExpression\" && node.right.elements.length !== 0) {\n return true;\n }\n\n if (isJSXNode$1(node.right)) {\n return true;\n }\n\n return false;\n } // For binary expressions to be consistent, we need to group\n // subsequent operators with the same precedence level under a single\n // group. Otherwise they will be nested such that some of them break\n // onto new lines but not all. Operators with the same precedence\n // level should either all break or not. Because we group them by\n // precedence level and the AST is structured based on precedence\n // level, things are naturally broken up correctly, i.e. `&&` is\n // broken before `+`.\n\n\n function printBinaryishExpressions(path, print, options, isNested, isInsideParenthesis) {\n let parts = [];\n const node = path.getValue(); // We treat BinaryExpression and LogicalExpression nodes the same.\n\n if (isBinaryish$1(node)) {\n // Put all operators with the same precedence level in the same\n // group. The reason we only need to do this with the `left`\n // expression is because given an expression like `1 + 2 - 3`, it\n // is always parsed like `((1 + 2) - 3)`, meaning the `left` side\n // is where the rest of the expression will exist. Binary\n // expressions on the right side mean they have a difference\n // precedence level and should be treated as a separate group, so\n // print them normally. (This doesn't hold for the `**` operator,\n // which is unique in that it is right-associative.)\n if (shouldFlatten$1(node.operator, node.left.operator)) {\n // Flatten them out by recursively calling this function.\n parts = parts.concat(path.call(left => printBinaryishExpressions(left, print, options,\n /* isNested */\n true, isInsideParenthesis), \"left\"));\n } else {\n parts.push(path.call(print, \"left\"));\n }\n\n const shouldInline = shouldInlineLogicalExpression(node);\n const lineBeforeOperator = (node.operator === \"|>\" || node.type === \"NGPipeExpression\" || node.operator === \"|\" && options.parser === \"__vue_expression\") && !hasLeadingOwnLineComment$1(options.originalText, node.right, options);\n const operator = node.type === \"NGPipeExpression\" ? \"|\" : node.operator;\n const rightSuffix = node.type === \"NGPipeExpression\" && node.arguments.length !== 0 ? group$b(indent$7(concat$d([softline$6, \": \", join$9(concat$d([softline$6, \":\", ifBreak$6(\" \")]), path.map(print, \"arguments\").map(arg => align$1(2, group$b(arg))))]))) : \"\";\n const right = shouldInline ? concat$d([operator, \" \", path.call(print, \"right\"), rightSuffix]) : concat$d([lineBeforeOperator ? softline$6 : \"\", operator, lineBeforeOperator ? \" \" : line$9, path.call(print, \"right\"), rightSuffix]); // If there's only a single binary expression, we want to create a group\n // in order to avoid having a small right part like -1 be on its own line.\n\n const parent = path.getParentNode();\n const shouldGroup = !(isInsideParenthesis && node.type === \"LogicalExpression\") && parent.type !== node.type && node.left.type !== node.type && node.right.type !== node.type;\n parts.push(\" \", shouldGroup ? group$b(right) : right); // The root comments are already printed, but we need to manually print\n // the other ones since we don't call the normal print on BinaryExpression,\n // only for the left and right parts\n\n if (isNested && node.comments) {\n parts = comments.printComments(path, () => concat$d(parts), options);\n }\n } else {\n // Our stopping case. Simply print the node normally.\n parts.push(path.call(print));\n }\n\n return parts;\n }\n\n function printAssignmentRight(leftNode, rightNode, printedRight, options) {\n if (hasLeadingOwnLineComment$1(options.originalText, rightNode, options)) {\n return indent$7(concat$d([line$9, printedRight]));\n }\n\n const canBreak = isBinaryish$1(rightNode) && !shouldInlineLogicalExpression(rightNode) || rightNode.type === \"ConditionalExpression\" && isBinaryish$1(rightNode.test) && !shouldInlineLogicalExpression(rightNode.test) || rightNode.type === \"StringLiteralTypeAnnotation\" || rightNode.type === \"ClassExpression\" && rightNode.decorators && rightNode.decorators.length || (leftNode.type === \"Identifier\" || isStringLiteral$1(leftNode) || leftNode.type === \"MemberExpression\") && (isStringLiteral$1(rightNode) || isMemberExpressionChain$1(rightNode)) && // do not put values on a separate line from the key in json\n options.parser !== \"json\" && options.parser !== \"json5\" || rightNode.type === \"SequenceExpression\";\n\n if (canBreak) {\n return group$b(indent$7(concat$d([line$9, printedRight])));\n }\n\n return concat$d([\" \", printedRight]);\n }\n\n function printAssignment(leftNode, printedLeft, operator, rightNode, printedRight, options) {\n if (!rightNode) {\n return printedLeft;\n }\n\n const printed = printAssignmentRight(leftNode, rightNode, printedRight, options);\n return group$b(concat$d([printedLeft, operator, printed]));\n }\n\n function adjustClause(node, clause, forceSpace) {\n if (node.type === \"EmptyStatement\") {\n return \";\";\n }\n\n if (node.type === \"BlockStatement\" || forceSpace) {\n return concat$d([\" \", clause]);\n }\n\n return indent$7(concat$d([line$9, clause]));\n }\n\n function nodeStr(node, options, isFlowOrTypeScriptDirectiveLiteral) {\n const raw = rawText$1(node);\n const isDirectiveLiteral = isFlowOrTypeScriptDirectiveLiteral || node.type === \"DirectiveLiteral\";\n return printString$2(raw, options, isDirectiveLiteral);\n }\n\n function printRegex(node) {\n const flags = node.flags.split(\"\").sort().join(\"\");\n return \"/\".concat(node.pattern, \"/\").concat(flags);\n }\n\n function exprNeedsASIProtection(path, options) {\n const node = path.getValue();\n const maybeASIProblem = needsParens_1(path, options) || node.type === \"ParenthesizedExpression\" || node.type === \"TypeCastExpression\" || node.type === \"ArrowFunctionExpression\" && !shouldPrintParamsWithoutParens(path, options) || node.type === \"ArrayExpression\" || node.type === \"ArrayPattern\" || node.type === \"UnaryExpression\" && node.prefix && (node.operator === \"+\" || node.operator === \"-\") || node.type === \"TemplateLiteral\" || node.type === \"TemplateElement\" || isJSXNode$1(node) || node.type === \"BindExpression\" && !node.object || node.type === \"RegExpLiteral\" || node.type === \"Literal\" && node.pattern || node.type === \"Literal\" && node.regex;\n\n if (maybeASIProblem) {\n return true;\n }\n\n if (!hasNakedLeftSide$2(node)) {\n return false;\n }\n\n return path.call(childPath => exprNeedsASIProtection(childPath, options), ...getLeftSidePathName$2(path, node));\n }\n\n function stmtNeedsASIProtection(path, options) {\n const node = path.getNode();\n\n if (node.type !== \"ExpressionStatement\") {\n return false;\n }\n\n return path.call(childPath => exprNeedsASIProtection(childPath, options), \"expression\");\n }\n\n function shouldHugType(node) {\n if (isSimpleFlowType$1(node) || isObjectType$1(node)) {\n return true;\n }\n\n if (node.type === \"UnionTypeAnnotation\" || node.type === \"TSUnionType\") {\n const voidCount = node.types.filter(n => n.type === \"VoidTypeAnnotation\" || n.type === \"TSVoidKeyword\" || n.type === \"NullLiteralTypeAnnotation\" || n.type === \"TSNullKeyword\").length;\n const hasObject = node.types.some(n => n.type === \"ObjectTypeAnnotation\" || n.type === \"TSTypeLiteral\" || // This is a bit aggressive but captures Array<{x}>\n n.type === \"GenericTypeAnnotation\" || n.type === \"TSTypeReference\");\n\n if (node.types.length - 1 === voidCount && hasObject) {\n return true;\n }\n }\n\n return false;\n }\n\n function shouldHugArguments(fun) {\n if (!fun || fun.rest) {\n return false;\n }\n\n const params = fun.params || fun.parameters;\n\n if (!params || params.length !== 1) {\n return false;\n }\n\n const param = params[0];\n return !param.comments && (param.type === \"ObjectPattern\" || param.type === \"ArrayPattern\" || param.type === \"Identifier\" && param.typeAnnotation && (param.typeAnnotation.type === \"TypeAnnotation\" || param.typeAnnotation.type === \"TSTypeAnnotation\") && isObjectType$1(param.typeAnnotation.typeAnnotation) || param.type === \"FunctionTypeParam\" && isObjectType$1(param.typeAnnotation) || param.type === \"AssignmentPattern\" && (param.left.type === \"ObjectPattern\" || param.left.type === \"ArrayPattern\") && (param.right.type === \"Identifier\" || param.right.type === \"ObjectExpression\" && param.right.properties.length === 0 || param.right.type === \"ArrayExpression\" && param.right.elements.length === 0));\n }\n\n function printArrayItems(path, options, printPath, print) {\n const printedElements = [];\n let separatorParts = [];\n path.each(childPath => {\n printedElements.push(concat$d(separatorParts));\n printedElements.push(group$b(print(childPath)));\n separatorParts = [\",\", line$9];\n\n if (childPath.getValue() && isNextLineEmpty$4(options.originalText, childPath.getValue(), options.locEnd)) {\n separatorParts.push(softline$6);\n }\n }, printPath);\n return concat$d(printedElements);\n }\n\n function printReturnAndThrowArgument(path, options, print) {\n const node = path.getValue();\n const semi = options.semi ? \";\" : \"\";\n const parts = [];\n\n if (node.argument) {\n if (returnArgumentHasLeadingComment$1(options, node.argument)) {\n parts.push(concat$d([\" (\", indent$7(concat$d([hardline$9, path.call(print, \"argument\")])), hardline$9, \")\"]));\n } else if (isBinaryish$1(node.argument) || node.argument.type === \"SequenceExpression\") {\n parts.push(group$b(concat$d([ifBreak$6(\" (\", \" \"), indent$7(concat$d([softline$6, path.call(print, \"argument\")])), softline$6, ifBreak$6(\")\")])));\n } else {\n parts.push(\" \", path.call(print, \"argument\"));\n }\n }\n\n const lastComment = Array.isArray(node.comments) && node.comments[node.comments.length - 1];\n const isLastCommentLine = lastComment && (lastComment.type === \"CommentLine\" || lastComment.type === \"Line\");\n\n if (isLastCommentLine) {\n parts.push(semi);\n }\n\n if (hasDanglingComments$1(node)) {\n parts.push(\" \", comments.printDanglingComments(path, options,\n /* sameIndent */\n true));\n }\n\n if (!isLastCommentLine) {\n parts.push(semi);\n }\n\n return concat$d(parts);\n }\n\n function willPrintOwnComments(path\n /*, options */\n ) {\n const node = path.getValue();\n const parent = path.getParentNode();\n return (node && (isJSXNode$1(node) || hasFlowShorthandAnnotationComment$2(node) || parent && (parent.type === \"CallExpression\" || parent.type === \"OptionalCallExpression\") && (hasFlowAnnotationComment$1(node.leadingComments) || hasFlowAnnotationComment$1(node.trailingComments))) || parent && (parent.type === \"JSXSpreadAttribute\" || parent.type === \"JSXSpreadChild\" || parent.type === \"UnionTypeAnnotation\" || parent.type === \"TSUnionType\" || (parent.type === \"ClassDeclaration\" || parent.type === \"ClassExpression\") && parent.superClass === node)) && (!hasIgnoreComment$4(path) || parent.type === \"UnionTypeAnnotation\" || parent.type === \"TSUnionType\");\n }\n\n function canAttachComment$1(node) {\n return node.type && node.type !== \"CommentBlock\" && node.type !== \"CommentLine\" && node.type !== \"Line\" && node.type !== \"Block\" && node.type !== \"EmptyStatement\" && node.type !== \"TemplateElement\" && node.type !== \"Import\";\n }\n\n function printComment$2(commentPath, options) {\n const comment = commentPath.getValue();\n\n switch (comment.type) {\n case \"CommentBlock\":\n case \"Block\":\n {\n if (isIndentableBlockComment(comment)) {\n const printed = printIndentableBlockComment(comment); // We need to prevent an edge case of a previous trailing comment\n // printed as a `lineSuffix` which causes the comments to be\n // interleaved. See https://github.com/prettier/prettier/issues/4412\n\n if (comment.trailing && !hasNewline$5(options.originalText, options.locStart(comment), {\n backwards: true\n })) {\n return concat$d([hardline$9, printed]);\n }\n\n return printed;\n }\n\n const commentEnd = options.locEnd(comment);\n const isInsideFlowComment = options.originalText.slice(commentEnd - 3, commentEnd) === \"*-/\";\n return \"/*\" + comment.value + (isInsideFlowComment ? \"*-/\" : \"*/\");\n }\n\n case \"CommentLine\":\n case \"Line\":\n // Print shebangs with the proper comment characters\n if (options.originalText.slice(options.locStart(comment)).startsWith(\"#!\")) {\n return \"#!\" + comment.value.trimEnd();\n }\n\n return \"//\" + comment.value.trimEnd();\n\n default:\n throw new Error(\"Not a comment: \" + JSON.stringify(comment));\n }\n }\n\n function isIndentableBlockComment(comment) {\n // If the comment has multiple lines and every line starts with a star\n // we can fix the indentation of each line. The stars in the `/*` and\n // `*/` delimiters are not included in the comment value, so add them\n // back first.\n const lines = \"*\".concat(comment.value, \"*\").split(\"\\n\");\n return lines.length > 1 && lines.every(line => line.trim()[0] === \"*\");\n }\n\n function printIndentableBlockComment(comment) {\n const lines = comment.value.split(\"\\n\");\n return concat$d([\"/*\", join$9(hardline$9, lines.map((line, index) => index === 0 ? line.trimEnd() : \" \" + (index < lines.length - 1 ? line.trim() : line.trimStart()))), \"*/\"]);\n }\n\n var printerEstree = {\n preprocess: preprocess_1$1,\n print: genericPrint$3,\n embed: embed_1$1,\n insertPragma: insertPragma$7,\n massageAstNode: clean_1$1,\n hasPrettierIgnore: hasPrettierIgnore$5,\n willPrintOwnComments,\n canAttachComment: canAttachComment$1,\n printComment: printComment$2,\n isBlockComment: comments$1.isBlockComment,\n handleComments: {\n ownLine: comments$1.handleOwnLineComment,\n endOfLine: comments$1.handleEndOfLineComment,\n remaining: comments$1.handleRemainingComment\n },\n getGapRegex: comments$1.getGapRegex,\n getCommentChildNodes: comments$1.getCommentChildNodes\n };\n\n const {\n concat: concat$e,\n hardline: hardline$a,\n indent: indent$8,\n join: join$a\n } = document.builders;\n\n function genericPrint$4(path, options, print) {\n const node = path.getValue();\n\n switch (node.type) {\n case \"JsonRoot\":\n return concat$e([path.call(print, \"node\"), hardline$a]);\n\n case \"ArrayExpression\":\n return node.elements.length === 0 ? \"[]\" : concat$e([\"[\", indent$8(concat$e([hardline$a, join$a(concat$e([\",\", hardline$a]), path.map(print, \"elements\"))])), hardline$a, \"]\"]);\n\n case \"ObjectExpression\":\n return node.properties.length === 0 ? \"{}\" : concat$e([\"{\", indent$8(concat$e([hardline$a, join$a(concat$e([\",\", hardline$a]), path.map(print, \"properties\"))])), hardline$a, \"}\"]);\n\n case \"ObjectProperty\":\n return concat$e([path.call(print, \"key\"), \": \", path.call(print, \"value\")]);\n\n case \"UnaryExpression\":\n return concat$e([node.operator === \"+\" ? \"\" : node.operator, path.call(print, \"argument\")]);\n\n case \"NullLiteral\":\n return \"null\";\n\n case \"BooleanLiteral\":\n return node.value ? \"true\" : \"false\";\n\n case \"StringLiteral\":\n case \"NumericLiteral\":\n return JSON.stringify(node.value);\n\n case \"Identifier\":\n return JSON.stringify(node.name);\n\n default:\n /* istanbul ignore next */\n throw new Error(\"unknown type: \" + JSON.stringify(node.type));\n }\n }\n\n function clean$5(node, newNode\n /*, parent*/\n ) {\n delete newNode.start;\n delete newNode.end;\n delete newNode.extra;\n delete newNode.loc;\n delete newNode.comments;\n delete newNode.errors;\n\n if (node.type === \"Identifier\") {\n return {\n type: \"StringLiteral\",\n value: node.name\n };\n }\n\n if (node.type === \"UnaryExpression\" && node.operator === \"+\") {\n return newNode.argument;\n }\n }\n\n var printerEstreeJson = {\n preprocess: preprocess_1$1,\n print: genericPrint$4,\n massageAstNode: clean$5\n };\n\n const CATEGORY_JAVASCRIPT = \"JavaScript\"; // format based on https://github.com/prettier/prettier/blob/master/src/main/core-options.js\n\n var options$5 = {\n arrowParens: {\n since: \"1.9.0\",\n category: CATEGORY_JAVASCRIPT,\n type: \"choice\",\n default: [{\n since: \"1.9.0\",\n value: \"avoid\"\n }, {\n since: \"2.0.0\",\n value: \"always\"\n }],\n description: \"Include parentheses around a sole arrow function parameter.\",\n choices: [{\n value: \"always\",\n description: \"Always include parens. Example: `(x) => x`\"\n }, {\n value: \"avoid\",\n description: \"Omit parens when possible. Example: `x => x`\"\n }]\n },\n bracketSpacing: commonOptions.bracketSpacing,\n jsxBracketSameLine: {\n since: \"0.17.0\",\n category: CATEGORY_JAVASCRIPT,\n type: \"boolean\",\n default: false,\n description: \"Put > on the last line instead of at a new line.\"\n },\n semi: {\n since: \"1.0.0\",\n category: CATEGORY_JAVASCRIPT,\n type: \"boolean\",\n default: true,\n description: \"Print semicolons.\",\n oppositeDescription: \"Do not print semicolons, except at the beginning of lines which may need them.\"\n },\n singleQuote: commonOptions.singleQuote,\n jsxSingleQuote: {\n since: \"1.15.0\",\n category: CATEGORY_JAVASCRIPT,\n type: \"boolean\",\n default: false,\n description: \"Use single quotes in JSX.\"\n },\n quoteProps: {\n since: \"1.17.0\",\n category: CATEGORY_JAVASCRIPT,\n type: \"choice\",\n default: \"as-needed\",\n description: \"Change when properties in objects are quoted.\",\n choices: [{\n value: \"as-needed\",\n description: \"Only add quotes around object properties where required.\"\n }, {\n value: \"consistent\",\n description: \"If at least one property in an object requires quotes, quote all properties.\"\n }, {\n value: \"preserve\",\n description: \"Respect the input use of quotes in object properties.\"\n }]\n },\n trailingComma: {\n since: \"0.0.0\",\n category: CATEGORY_JAVASCRIPT,\n type: \"choice\",\n default: [{\n since: \"0.0.0\",\n value: false\n }, {\n since: \"0.19.0\",\n value: \"none\"\n }, {\n since: \"2.0.0\",\n value: \"es5\"\n }],\n description: \"Print trailing commas wherever possible when multi-line.\",\n choices: [{\n value: \"es5\",\n description: \"Trailing commas where valid in ES5 (objects, arrays, etc.)\"\n }, {\n value: \"none\",\n description: \"No trailing commas.\"\n }, {\n value: \"all\",\n description: \"Trailing commas wherever possible (including function arguments).\"\n }]\n }\n };\n\n var name$9 = \"JavaScript\";\n var type$8 = \"programming\";\n var tmScope$8 = \"source.js\";\n var aceMode$8 = \"javascript\";\n var codemirrorMode$4 = \"javascript\";\n var codemirrorMimeType$4 = \"text/javascript\";\n var color$3 = \"#f1e05a\";\n var aliases$2 = [\n \t\"js\",\n \t\"node\"\n ];\n var extensions$8 = [\n \t\".js\",\n \t\"._js\",\n \t\".bones\",\n \t\".cjs\",\n \t\".es\",\n \t\".es6\",\n \t\".frag\",\n \t\".gs\",\n \t\".jake\",\n \t\".jsb\",\n \t\".jscad\",\n \t\".jsfl\",\n \t\".jsm\",\n \t\".jss\",\n \t\".mjs\",\n \t\".njs\",\n \t\".pac\",\n \t\".sjs\",\n \t\".ssjs\",\n \t\".xsjs\",\n \t\".xsjslib\"\n ];\n var filenames = [\n \t\"Jakefile\"\n ];\n var interpreters = [\n \t\"chakra\",\n \t\"d8\",\n \t\"gjs\",\n \t\"js\",\n \t\"node\",\n \t\"qjs\",\n \t\"rhino\",\n \t\"v8\",\n \t\"v8-shell\"\n ];\n var languageId$8 = 183;\n var JavaScript = {\n \tname: name$9,\n \ttype: type$8,\n \ttmScope: tmScope$8,\n \taceMode: aceMode$8,\n \tcodemirrorMode: codemirrorMode$4,\n \tcodemirrorMimeType: codemirrorMimeType$4,\n \tcolor: color$3,\n \taliases: aliases$2,\n \textensions: extensions$8,\n \tfilenames: filenames,\n \tinterpreters: interpreters,\n \tlanguageId: languageId$8\n };\n\n var JavaScript$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$9,\n type: type$8,\n tmScope: tmScope$8,\n aceMode: aceMode$8,\n codemirrorMode: codemirrorMode$4,\n codemirrorMimeType: codemirrorMimeType$4,\n color: color$3,\n aliases: aliases$2,\n extensions: extensions$8,\n filenames: filenames,\n interpreters: interpreters,\n languageId: languageId$8,\n 'default': JavaScript\n });\n\n var name$a = \"JSX\";\n var type$9 = \"programming\";\n var group$c = \"JavaScript\";\n var extensions$9 = [\n \t\".jsx\"\n ];\n var tmScope$9 = \"source.js.jsx\";\n var aceMode$9 = \"javascript\";\n var codemirrorMode$5 = \"jsx\";\n var codemirrorMimeType$5 = \"text/jsx\";\n var languageId$9 = 178;\n var JSX = {\n \tname: name$a,\n \ttype: type$9,\n \tgroup: group$c,\n \textensions: extensions$9,\n \ttmScope: tmScope$9,\n \taceMode: aceMode$9,\n \tcodemirrorMode: codemirrorMode$5,\n \tcodemirrorMimeType: codemirrorMimeType$5,\n \tlanguageId: languageId$9\n };\n\n var JSX$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$a,\n type: type$9,\n group: group$c,\n extensions: extensions$9,\n tmScope: tmScope$9,\n aceMode: aceMode$9,\n codemirrorMode: codemirrorMode$5,\n codemirrorMimeType: codemirrorMimeType$5,\n languageId: languageId$9,\n 'default': JSX\n });\n\n var name$b = \"TypeScript\";\n var type$a = \"programming\";\n var color$4 = \"#2b7489\";\n var aliases$3 = [\n \t\"ts\"\n ];\n var interpreters$1 = [\n \t\"deno\",\n \t\"ts-node\"\n ];\n var extensions$a = [\n \t\".ts\"\n ];\n var tmScope$a = \"source.ts\";\n var aceMode$a = \"typescript\";\n var codemirrorMode$6 = \"javascript\";\n var codemirrorMimeType$6 = \"application/typescript\";\n var languageId$a = 378;\n var TypeScript = {\n \tname: name$b,\n \ttype: type$a,\n \tcolor: color$4,\n \taliases: aliases$3,\n \tinterpreters: interpreters$1,\n \textensions: extensions$a,\n \ttmScope: tmScope$a,\n \taceMode: aceMode$a,\n \tcodemirrorMode: codemirrorMode$6,\n \tcodemirrorMimeType: codemirrorMimeType$6,\n \tlanguageId: languageId$a\n };\n\n var TypeScript$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$b,\n type: type$a,\n color: color$4,\n aliases: aliases$3,\n interpreters: interpreters$1,\n extensions: extensions$a,\n tmScope: tmScope$a,\n aceMode: aceMode$a,\n codemirrorMode: codemirrorMode$6,\n codemirrorMimeType: codemirrorMimeType$6,\n languageId: languageId$a,\n 'default': TypeScript\n });\n\n var name$c = \"TSX\";\n var type$b = \"programming\";\n var group$d = \"TypeScript\";\n var extensions$b = [\n \t\".tsx\"\n ];\n var tmScope$b = \"source.tsx\";\n var aceMode$b = \"javascript\";\n var codemirrorMode$7 = \"jsx\";\n var codemirrorMimeType$7 = \"text/jsx\";\n var languageId$b = 94901924;\n var TSX = {\n \tname: name$c,\n \ttype: type$b,\n \tgroup: group$d,\n \textensions: extensions$b,\n \ttmScope: tmScope$b,\n \taceMode: aceMode$b,\n \tcodemirrorMode: codemirrorMode$7,\n \tcodemirrorMimeType: codemirrorMimeType$7,\n \tlanguageId: languageId$b\n };\n\n var TSX$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$c,\n type: type$b,\n group: group$d,\n extensions: extensions$b,\n tmScope: tmScope$b,\n aceMode: aceMode$b,\n codemirrorMode: codemirrorMode$7,\n codemirrorMimeType: codemirrorMimeType$7,\n languageId: languageId$b,\n 'default': TSX\n });\n\n var name$d = \"JSON\";\n var type$c = \"data\";\n var tmScope$c = \"source.json\";\n var aceMode$c = \"json\";\n var codemirrorMode$8 = \"javascript\";\n var codemirrorMimeType$8 = \"application/json\";\n var searchable = false;\n var extensions$c = [\n \t\".json\",\n \t\".avsc\",\n \t\".geojson\",\n \t\".gltf\",\n \t\".har\",\n \t\".ice\",\n \t\".JSON-tmLanguage\",\n \t\".jsonl\",\n \t\".mcmeta\",\n \t\".tfstate\",\n \t\".tfstate.backup\",\n \t\".topojson\",\n \t\".webapp\",\n \t\".webmanifest\",\n \t\".yy\",\n \t\".yyp\"\n ];\n var filenames$1 = [\n \t\".arcconfig\",\n \t\".htmlhintrc\",\n \t\".tern-config\",\n \t\".tern-project\",\n \t\".watchmanconfig\",\n \t\"composer.lock\",\n \t\"mcmod.info\"\n ];\n var languageId$c = 174;\n var _JSON = {\n \tname: name$d,\n \ttype: type$c,\n \ttmScope: tmScope$c,\n \taceMode: aceMode$c,\n \tcodemirrorMode: codemirrorMode$8,\n \tcodemirrorMimeType: codemirrorMimeType$8,\n \tsearchable: searchable,\n \textensions: extensions$c,\n \tfilenames: filenames$1,\n \tlanguageId: languageId$c\n };\n\n var _JSON$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$d,\n type: type$c,\n tmScope: tmScope$c,\n aceMode: aceMode$c,\n codemirrorMode: codemirrorMode$8,\n codemirrorMimeType: codemirrorMimeType$8,\n searchable: searchable,\n extensions: extensions$c,\n filenames: filenames$1,\n languageId: languageId$c,\n 'default': _JSON\n });\n\n var name$e = \"JSON with Comments\";\n var type$d = \"data\";\n var group$e = \"JSON\";\n var tmScope$d = \"source.js\";\n var aceMode$d = \"javascript\";\n var codemirrorMode$9 = \"javascript\";\n var codemirrorMimeType$9 = \"text/javascript\";\n var aliases$4 = [\n \t\"jsonc\"\n ];\n var extensions$d = [\n \t\".jsonc\",\n \t\".sublime-build\",\n \t\".sublime-commands\",\n \t\".sublime-completions\",\n \t\".sublime-keymap\",\n \t\".sublime-macro\",\n \t\".sublime-menu\",\n \t\".sublime-mousemap\",\n \t\".sublime-project\",\n \t\".sublime-settings\",\n \t\".sublime-theme\",\n \t\".sublime-workspace\",\n \t\".sublime_metrics\",\n \t\".sublime_session\"\n ];\n var filenames$2 = [\n \t\".babelrc\",\n \t\".eslintrc.json\",\n \t\".jscsrc\",\n \t\".jshintrc\",\n \t\".jslintrc\",\n \t\"jsconfig.json\",\n \t\"language-configuration.json\",\n \t\"tsconfig.json\"\n ];\n var languageId$d = 423;\n var JSON_with_Comments = {\n \tname: name$e,\n \ttype: type$d,\n \tgroup: group$e,\n \ttmScope: tmScope$d,\n \taceMode: aceMode$d,\n \tcodemirrorMode: codemirrorMode$9,\n \tcodemirrorMimeType: codemirrorMimeType$9,\n \taliases: aliases$4,\n \textensions: extensions$d,\n \tfilenames: filenames$2,\n \tlanguageId: languageId$d\n };\n\n var JSON_with_Comments$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$e,\n type: type$d,\n group: group$e,\n tmScope: tmScope$d,\n aceMode: aceMode$d,\n codemirrorMode: codemirrorMode$9,\n codemirrorMimeType: codemirrorMimeType$9,\n aliases: aliases$4,\n extensions: extensions$d,\n filenames: filenames$2,\n languageId: languageId$d,\n 'default': JSON_with_Comments\n });\n\n var name$f = \"JSON5\";\n var type$e = \"data\";\n var extensions$e = [\n \t\".json5\"\n ];\n var tmScope$e = \"source.js\";\n var aceMode$e = \"javascript\";\n var codemirrorMode$a = \"javascript\";\n var codemirrorMimeType$a = \"application/json\";\n var languageId$e = 175;\n var JSON5 = {\n \tname: name$f,\n \ttype: type$e,\n \textensions: extensions$e,\n \ttmScope: tmScope$e,\n \taceMode: aceMode$e,\n \tcodemirrorMode: codemirrorMode$a,\n \tcodemirrorMimeType: codemirrorMimeType$a,\n \tlanguageId: languageId$e\n };\n\n var JSON5$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$f,\n type: type$e,\n extensions: extensions$e,\n tmScope: tmScope$e,\n aceMode: aceMode$e,\n codemirrorMode: codemirrorMode$a,\n codemirrorMimeType: codemirrorMimeType$a,\n languageId: languageId$e,\n 'default': JSON5\n });\n\n var require$$0$6 = getCjsExportFromNamespace(JavaScript$1);\n\n var require$$1$2 = getCjsExportFromNamespace(JSX$1);\n\n var require$$2$1 = getCjsExportFromNamespace(TypeScript$1);\n\n var require$$3$1 = getCjsExportFromNamespace(TSX$1);\n\n var require$$4 = getCjsExportFromNamespace(_JSON$1);\n\n var require$$5 = getCjsExportFromNamespace(JSON_with_Comments$1);\n\n var require$$6 = getCjsExportFromNamespace(JSON5$1);\n\n const languages$4 = [createLanguage(require$$0$6, data => ({\n since: \"0.0.0\",\n parsers: [\"babel\", \"flow\"],\n vscodeLanguageIds: [\"javascript\", \"mongo\"],\n interpreters: data.interpreters.concat([\"nodejs\"])\n })), createLanguage(require$$0$6, () => ({\n name: \"Flow\",\n since: \"0.0.0\",\n parsers: [\"babel\", \"flow\"],\n vscodeLanguageIds: [\"javascript\"],\n aliases: [],\n filenames: [],\n extensions: [\".js.flow\"]\n })), createLanguage(require$$1$2, () => ({\n since: \"0.0.0\",\n parsers: [\"babel\", \"flow\"],\n vscodeLanguageIds: [\"javascriptreact\"]\n })), createLanguage(require$$2$1, () => ({\n since: \"1.4.0\",\n parsers: [\"typescript\", \"babel-ts\"],\n vscodeLanguageIds: [\"typescript\"]\n })), createLanguage(require$$3$1, () => ({\n since: \"1.4.0\",\n parsers: [\"typescript\", \"babel-ts\"],\n vscodeLanguageIds: [\"typescriptreact\"]\n })), createLanguage(require$$4, () => ({\n name: \"JSON.stringify\",\n since: \"1.13.0\",\n parsers: [\"json-stringify\"],\n vscodeLanguageIds: [\"json\"],\n extensions: [],\n // .json file defaults to json instead of json-stringify\n filenames: [\"package.json\", \"package-lock.json\", \"composer.json\"]\n })), createLanguage(require$$4, data => ({\n since: \"1.5.0\",\n parsers: [\"json\"],\n vscodeLanguageIds: [\"json\"],\n filenames: data.filenames.concat([\".prettierrc\"])\n })), createLanguage(require$$5, data => ({\n since: \"1.5.0\",\n parsers: [\"json\"],\n vscodeLanguageIds: [\"jsonc\"],\n filenames: data.filenames.concat([\".eslintrc\"])\n })), createLanguage(require$$6, () => ({\n since: \"1.13.0\",\n parsers: [\"json5\"],\n vscodeLanguageIds: [\"json5\"]\n }))];\n const printers$4 = {\n estree: printerEstree,\n \"estree-json\": printerEstreeJson\n };\n var languageJs = {\n languages: languages$4,\n options: options$5,\n printers: printers$4\n };\n\n var json$1 = {\n \"cjkPattern\": \"[\\\\u02ea-\\\\u02eb\\\\u1100-\\\\u11ff\\\\u2e80-\\\\u2e99\\\\u2e9b-\\\\u2ef3\\\\u2f00-\\\\u2fd5\\\\u3000-\\\\u303f\\\\u3041-\\\\u3096\\\\u3099-\\\\u309f\\\\u30a1-\\\\u30fa\\\\u30fc-\\\\u30ff\\\\u3105-\\\\u312f\\\\u3131-\\\\u318e\\\\u3190-\\\\u3191\\\\u3196-\\\\u31ba\\\\u31c0-\\\\u31e3\\\\u31f0-\\\\u321e\\\\u322a-\\\\u3247\\\\u3260-\\\\u327e\\\\u328a-\\\\u32b0\\\\u32c0-\\\\u32cb\\\\u32d0-\\\\u3370\\\\u337b-\\\\u337f\\\\u33e0-\\\\u33fe\\\\u3400-\\\\u4db5\\\\u4e00-\\\\u9fef\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\uf900-\\\\ufa6d\\\\ufa70-\\\\ufad9\\\\ufe10-\\\\ufe1f\\\\ufe30-\\\\ufe6f\\\\uff00-\\\\uffef]|[\\\\ud840-\\\\ud868\\\\ud86a-\\\\ud86c\\\\ud86f-\\\\ud872\\\\ud874-\\\\ud879][\\\\udc00-\\\\udfff]|\\\\ud82c[\\\\udc00-\\\\udd1e\\\\udd50-\\\\udd52\\\\udd64-\\\\udd67]|\\\\ud83c[\\\\ude00\\\\ude50-\\\\ude51]|\\\\ud869[\\\\udc00-\\\\uded6\\\\udf00-\\\\udfff]|\\\\ud86d[\\\\udc00-\\\\udf34\\\\udf40-\\\\udfff]|\\\\ud86e[\\\\udc00-\\\\udc1d\\\\udc20-\\\\udfff]|\\\\ud873[\\\\udc00-\\\\udea1\\\\udeb0-\\\\udfff]|\\\\ud87a[\\\\udc00-\\\\udfe0]|\\\\ud87e[\\\\udc00-\\\\ude1d]\",\n \"kPattern\": \"[\\\\u1100-\\\\u11ff\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3013-\\\\u301f\\\\u302e-\\\\u3030\\\\u3037\\\\u30fb\\\\u3131-\\\\u318e\\\\u3200-\\\\u321e\\\\u3260-\\\\u327e\\\\ua960-\\\\ua97c\\\\uac00-\\\\ud7a3\\\\ud7b0-\\\\ud7c6\\\\ud7cb-\\\\ud7fb\\\\ufe45-\\\\ufe46\\\\uff61-\\\\uff65\\\\uffa0-\\\\uffbe\\\\uffc2-\\\\uffc7\\\\uffca-\\\\uffcf\\\\uffd2-\\\\uffd7\\\\uffda-\\\\uffdc]\",\n \"punctuationPattern\": \"[\\\\u0021-\\\\u002f\\\\u003a-\\\\u0040\\\\u005b-\\\\u0060\\\\u007b-\\\\u007e\\\\u00a1\\\\u00a7\\\\u00ab\\\\u00b6-\\\\u00b7\\\\u00bb\\\\u00bf\\\\u037e\\\\u0387\\\\u055a-\\\\u055f\\\\u0589-\\\\u058a\\\\u05be\\\\u05c0\\\\u05c3\\\\u05c6\\\\u05f3-\\\\u05f4\\\\u0609-\\\\u060a\\\\u060c-\\\\u060d\\\\u061b\\\\u061e-\\\\u061f\\\\u066a-\\\\u066d\\\\u06d4\\\\u0700-\\\\u070d\\\\u07f7-\\\\u07f9\\\\u0830-\\\\u083e\\\\u085e\\\\u0964-\\\\u0965\\\\u0970\\\\u09fd\\\\u0a76\\\\u0af0\\\\u0c77\\\\u0c84\\\\u0df4\\\\u0e4f\\\\u0e5a-\\\\u0e5b\\\\u0f04-\\\\u0f12\\\\u0f14\\\\u0f3a-\\\\u0f3d\\\\u0f85\\\\u0fd0-\\\\u0fd4\\\\u0fd9-\\\\u0fda\\\\u104a-\\\\u104f\\\\u10fb\\\\u1360-\\\\u1368\\\\u1400\\\\u166e\\\\u169b-\\\\u169c\\\\u16eb-\\\\u16ed\\\\u1735-\\\\u1736\\\\u17d4-\\\\u17d6\\\\u17d8-\\\\u17da\\\\u1800-\\\\u180a\\\\u1944-\\\\u1945\\\\u1a1e-\\\\u1a1f\\\\u1aa0-\\\\u1aa6\\\\u1aa8-\\\\u1aad\\\\u1b5a-\\\\u1b60\\\\u1bfc-\\\\u1bff\\\\u1c3b-\\\\u1c3f\\\\u1c7e-\\\\u1c7f\\\\u1cc0-\\\\u1cc7\\\\u1cd3\\\\u2010-\\\\u2027\\\\u2030-\\\\u2043\\\\u2045-\\\\u2051\\\\u2053-\\\\u205e\\\\u207d-\\\\u207e\\\\u208d-\\\\u208e\\\\u2308-\\\\u230b\\\\u2329-\\\\u232a\\\\u2768-\\\\u2775\\\\u27c5-\\\\u27c6\\\\u27e6-\\\\u27ef\\\\u2983-\\\\u2998\\\\u29d8-\\\\u29db\\\\u29fc-\\\\u29fd\\\\u2cf9-\\\\u2cfc\\\\u2cfe-\\\\u2cff\\\\u2d70\\\\u2e00-\\\\u2e2e\\\\u2e30-\\\\u2e4f\\\\u3001-\\\\u3003\\\\u3008-\\\\u3011\\\\u3014-\\\\u301f\\\\u3030\\\\u303d\\\\u30a0\\\\u30fb\\\\ua4fe-\\\\ua4ff\\\\ua60d-\\\\ua60f\\\\ua673\\\\ua67e\\\\ua6f2-\\\\ua6f7\\\\ua874-\\\\ua877\\\\ua8ce-\\\\ua8cf\\\\ua8f8-\\\\ua8fa\\\\ua8fc\\\\ua92e-\\\\ua92f\\\\ua95f\\\\ua9c1-\\\\ua9cd\\\\ua9de-\\\\ua9df\\\\uaa5c-\\\\uaa5f\\\\uaade-\\\\uaadf\\\\uaaf0-\\\\uaaf1\\\\uabeb\\\\ufd3e-\\\\ufd3f\\\\ufe10-\\\\ufe19\\\\ufe30-\\\\ufe52\\\\ufe54-\\\\ufe61\\\\ufe63\\\\ufe68\\\\ufe6a-\\\\ufe6b\\\\uff01-\\\\uff03\\\\uff05-\\\\uff0a\\\\uff0c-\\\\uff0f\\\\uff1a-\\\\uff1b\\\\uff1f-\\\\uff20\\\\uff3b-\\\\uff3d\\\\uff3f\\\\uff5b\\\\uff5d\\\\uff5f-\\\\uff65]|\\\\ud800[\\\\udd00-\\\\udd02\\\\udf9f\\\\udfd0]|\\\\ud801[\\\\udd6f]|\\\\ud802[\\\\udc57\\\\udd1f\\\\udd3f\\\\ude50-\\\\ude58\\\\ude7f\\\\udef0-\\\\udef6\\\\udf39-\\\\udf3f\\\\udf99-\\\\udf9c]|\\\\ud803[\\\\udf55-\\\\udf59]|\\\\ud804[\\\\udc47-\\\\udc4d\\\\udcbb-\\\\udcbc\\\\udcbe-\\\\udcc1\\\\udd40-\\\\udd43\\\\udd74-\\\\udd75\\\\uddc5-\\\\uddc8\\\\uddcd\\\\udddb\\\\udddd-\\\\udddf\\\\ude38-\\\\ude3d\\\\udea9]|\\\\ud805[\\\\udc4b-\\\\udc4f\\\\udc5b\\\\udc5d\\\\udcc6\\\\uddc1-\\\\uddd7\\\\ude41-\\\\ude43\\\\ude60-\\\\ude6c\\\\udf3c-\\\\udf3e]|\\\\ud806[\\\\udc3b\\\\udde2\\\\ude3f-\\\\ude46\\\\ude9a-\\\\ude9c\\\\ude9e-\\\\udea2]|\\\\ud807[\\\\udc41-\\\\udc45\\\\udc70-\\\\udc71\\\\udef7-\\\\udef8\\\\udfff]|\\\\ud809[\\\\udc70-\\\\udc74]|\\\\ud81a[\\\\ude6e-\\\\ude6f\\\\udef5\\\\udf37-\\\\udf3b\\\\udf44]|\\\\ud81b[\\\\ude97-\\\\ude9a\\\\udfe2]|\\\\ud82f[\\\\udc9f]|\\\\ud836[\\\\ude87-\\\\ude8b]|\\\\ud83a[\\\\udd5e-\\\\udd5f]\"\n };\n\n const {\n cjkPattern,\n kPattern,\n punctuationPattern\n } = json$1;\n const {\n getLast: getLast$4\n } = util$1;\n const INLINE_NODE_TYPES = [\"liquidNode\", \"inlineCode\", \"emphasis\", \"strong\", \"delete\", \"link\", \"linkReference\", \"image\", \"imageReference\", \"footnote\", \"footnoteReference\", \"sentence\", \"whitespace\", \"word\", \"break\", \"inlineMath\"];\n const INLINE_NODE_WRAPPER_TYPES = INLINE_NODE_TYPES.concat([\"tableCell\", \"paragraph\", \"heading\"]);\n const kRegex = new RegExp(kPattern);\n const punctuationRegex = new RegExp(punctuationPattern);\n /**\n * split text into whitespaces and words\n * @param {string} text\n * @return {Array<{ type: \"whitespace\", value: \" \" | \"\\n\" | \"\" } | { type: \"word\", value: string }>}\n */\n\n function splitText(text, options) {\n const KIND_NON_CJK = \"non-cjk\";\n const KIND_CJ_LETTER = \"cj-letter\";\n const KIND_K_LETTER = \"k-letter\";\n const KIND_CJK_PUNCTUATION = \"cjk-punctuation\";\n const nodes = [];\n (options.proseWrap === \"preserve\" ? text : text.replace(new RegExp(\"(\".concat(cjkPattern, \")\\n(\").concat(cjkPattern, \")\"), \"g\"), \"$1$2\")).split(/([ \\t\\n]+)/).forEach((token, index, tokens) => {\n // whitespace\n if (index % 2 === 1) {\n nodes.push({\n type: \"whitespace\",\n value: /\\n/.test(token) ? \"\\n\" : \" \"\n });\n return;\n } // word separated by whitespace\n\n\n if ((index === 0 || index === tokens.length - 1) && token === \"\") {\n return;\n }\n\n token.split(new RegExp(\"(\".concat(cjkPattern, \")\"))).forEach((innerToken, innerIndex, innerTokens) => {\n if ((innerIndex === 0 || innerIndex === innerTokens.length - 1) && innerToken === \"\") {\n return;\n } // non-CJK word\n\n\n if (innerIndex % 2 === 0) {\n if (innerToken !== \"\") {\n appendNode({\n type: \"word\",\n value: innerToken,\n kind: KIND_NON_CJK,\n hasLeadingPunctuation: punctuationRegex.test(innerToken[0]),\n hasTrailingPunctuation: punctuationRegex.test(getLast$4(innerToken))\n });\n }\n\n return;\n } // CJK character\n\n\n appendNode(punctuationRegex.test(innerToken) ? {\n type: \"word\",\n value: innerToken,\n kind: KIND_CJK_PUNCTUATION,\n hasLeadingPunctuation: true,\n hasTrailingPunctuation: true\n } : {\n type: \"word\",\n value: innerToken,\n kind: kRegex.test(innerToken) ? KIND_K_LETTER : KIND_CJ_LETTER,\n hasLeadingPunctuation: false,\n hasTrailingPunctuation: false\n });\n });\n });\n return nodes;\n\n function appendNode(node) {\n const lastNode = getLast$4(nodes);\n\n if (lastNode && lastNode.type === \"word\") {\n if (lastNode.kind === KIND_NON_CJK && node.kind === KIND_CJ_LETTER && !lastNode.hasTrailingPunctuation || lastNode.kind === KIND_CJ_LETTER && node.kind === KIND_NON_CJK && !node.hasLeadingPunctuation) {\n nodes.push({\n type: \"whitespace\",\n value: \" \"\n });\n } else if (!isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && // disallow leading/trailing full-width whitespace\n ![lastNode.value, node.value].some(value => /\\u3000/.test(value))) {\n nodes.push({\n type: \"whitespace\",\n value: \"\"\n });\n }\n }\n\n nodes.push(node);\n\n function isBetween(kind1, kind2) {\n return lastNode.kind === kind1 && node.kind === kind2 || lastNode.kind === kind2 && node.kind === kind1;\n }\n }\n }\n\n function getOrderedListItemInfo(orderListItem, originalText) {\n const [, numberText, marker, leadingSpaces] = originalText.slice(orderListItem.position.start.offset, orderListItem.position.end.offset).match(/^\\s*(\\d+)(\\.|\\))(\\s*)/);\n return {\n numberText,\n marker,\n leadingSpaces\n };\n }\n\n function hasGitDiffFriendlyOrderedList(node, options) {\n if (!node.ordered) {\n return false;\n }\n\n if (node.children.length < 2) {\n return false;\n }\n\n const firstNumber = Number(getOrderedListItemInfo(node.children[0], options.originalText).numberText);\n const secondNumber = Number(getOrderedListItemInfo(node.children[1], options.originalText).numberText);\n\n if (firstNumber === 0 && node.children.length > 2) {\n const thirdNumber = Number(getOrderedListItemInfo(node.children[2], options.originalText).numberText);\n return secondNumber === 1 && thirdNumber === 1;\n }\n\n return secondNumber === 1;\n } // workaround for https://github.com/remarkjs/remark/issues/351\n // leading and trailing newlines are stripped by remark\n\n\n function getFencedCodeBlockValue(node, originalText) {\n const text = originalText.slice(node.position.start.offset, node.position.end.offset);\n const leadingSpaceCount = text.match(/^\\s*/)[0].length;\n const replaceRegex = new RegExp(\"^\\\\s{0,\".concat(leadingSpaceCount, \"}\"));\n const lineContents = text.split(\"\\n\");\n const markerStyle = text[leadingSpaceCount]; // ` or ~\n\n const marker = text.slice(leadingSpaceCount).match(new RegExp(\"^[\".concat(markerStyle, \"]+\")))[0]; // https://spec.commonmark.org/0.28/#example-104: Closing fences may be indented by 0-3 spaces\n // https://spec.commonmark.org/0.28/#example-93: The closing code fence must be at least as long as the opening fence\n\n const hasEndMarker = new RegExp(\"^\\\\s{0,3}\".concat(marker)).test(lineContents[lineContents.length - 1].slice(getIndent(lineContents.length - 1)));\n return lineContents.slice(1, hasEndMarker ? -1 : undefined).map((x, i) => x.slice(getIndent(i + 1)).replace(replaceRegex, \"\")).join(\"\\n\");\n\n function getIndent(lineIndex) {\n return node.position.indent[lineIndex - 1] - 1;\n }\n }\n\n function mapAst(ast, handler) {\n return function preorder(node, index, parentStack) {\n parentStack = parentStack || [];\n const newNode = Object.assign({}, handler(node, index, parentStack));\n\n if (newNode.children) {\n newNode.children = newNode.children.map((child, index) => {\n return preorder(child, index, [newNode].concat(parentStack));\n });\n }\n\n return newNode;\n }(ast, null, null);\n }\n\n var utils$6 = {\n mapAst,\n splitText,\n punctuationPattern,\n getFencedCodeBlockValue,\n getOrderedListItemInfo,\n hasGitDiffFriendlyOrderedList,\n INLINE_NODE_TYPES,\n INLINE_NODE_WRAPPER_TYPES\n };\n\n const {\n builders: {\n hardline: hardline$b,\n literalline: literalline$5,\n concat: concat$f,\n markAsRoot: markAsRoot$3\n },\n utils: {\n mapDoc: mapDoc$4\n }\n } = document;\n const {\n getFencedCodeBlockValue: getFencedCodeBlockValue$1\n } = utils$6;\n\n function embed$4(path, print, textToDoc, options) {\n const node = path.getValue();\n\n if (node.type === \"code\" && node.lang !== null) {\n // only look for the first string so as to support [markdown-preview-enhanced](https://shd101wyy.github.io/markdown-preview-enhanced/#/code-chunk)\n const langMatch = node.lang.match(/^[A-Za-z0-9_-]+/);\n const lang = langMatch ? langMatch[0] : \"\";\n const parser = getParserName(lang);\n\n if (parser) {\n const styleUnit = options.__inJsTemplate ? \"~\" : \"`\";\n const style = styleUnit.repeat(Math.max(3, util$1.getMaxContinuousCount(node.value, styleUnit) + 1));\n const doc = textToDoc(getFencedCodeBlockValue$1(node, options.originalText), {\n parser\n });\n return markAsRoot$3(concat$f([style, node.lang, hardline$b, replaceNewlinesWithLiterallines(doc), style]));\n }\n }\n\n if (node.type === \"yaml\") {\n return markAsRoot$3(concat$f([\"---\", hardline$b, node.value && node.value.trim() ? replaceNewlinesWithLiterallines(textToDoc(node.value, {\n parser: \"yaml\"\n })) : \"\", \"---\"]));\n } // MDX\n\n\n switch (node.type) {\n case \"importExport\":\n return textToDoc(node.value, {\n parser: \"babel\"\n });\n\n case \"jsx\":\n return textToDoc(\"<$>\".concat(node.value, \"\"), {\n parser: \"__js_expression\",\n rootMarker: \"mdx\"\n });\n }\n\n return null;\n\n function getParserName(lang) {\n const supportInfo = support.getSupportInfo({\n plugins: options.plugins\n });\n const language = supportInfo.languages.find(language => language.name.toLowerCase() === lang || language.aliases && language.aliases.includes(lang) || language.extensions && language.extensions.find(ext => ext === \".\".concat(lang)));\n\n if (language) {\n return language.parsers[0];\n }\n\n return null;\n }\n\n function replaceNewlinesWithLiterallines(doc) {\n return mapDoc$4(doc, currentDoc => typeof currentDoc === \"string\" && currentDoc.includes(\"\\n\") ? concat$f(currentDoc.split(/(\\n)/g).map((v, i) => i % 2 === 0 ? v : literalline$5)) : currentDoc);\n }\n }\n\n var embed_1$2 = embed$4;\n\n const pragmas = [\"format\", \"prettier\"];\n\n function startWithPragma(text) {\n const pragma = \"@(\".concat(pragmas.join(\"|\"), \")\");\n const regex = new RegExp([\"\"), \"\")].join(\"|\"), \"m\");\n const matched = text.match(regex);\n return matched && matched.index === 0;\n }\n\n var pragma$4 = {\n startWithPragma,\n hasPragma: text => startWithPragma(frontMatter(text).content.trimStart()),\n insertPragma: text => {\n const extracted = frontMatter(text);\n const pragma = \"\");\n return extracted.frontMatter ? \"\".concat(extracted.frontMatter.raw, \"\\n\\n\").concat(pragma, \"\\n\\n\").concat(extracted.content) : \"\".concat(pragma, \"\\n\\n\").concat(extracted.content);\n }\n };\n\n const {\n getOrderedListItemInfo: getOrderedListItemInfo$1,\n mapAst: mapAst$1,\n splitText: splitText$1\n } = utils$6; // 0x0 ~ 0x10ffff\n // eslint-disable-next-line no-control-regex\n\n const isSingleCharRegex = /^([\\u0000-\\uffff]|[\\ud800-\\udbff][\\udc00-\\udfff])$/;\n\n function preprocess$2(ast, options) {\n ast = restoreUnescapedCharacter(ast, options);\n ast = mergeContinuousTexts(ast);\n ast = transformInlineCode(ast);\n ast = transformIndentedCodeblockAndMarkItsParentList(ast, options);\n ast = markAlignedList(ast, options);\n ast = splitTextIntoSentences(ast, options);\n ast = transformImportExport(ast);\n ast = mergeContinuousImportExport(ast);\n return ast;\n }\n\n function transformImportExport(ast) {\n return mapAst$1(ast, node => {\n if (node.type !== \"import\" && node.type !== \"export\") {\n return node;\n }\n\n return Object.assign({}, node, {\n type: \"importExport\"\n });\n });\n }\n\n function transformInlineCode(ast) {\n return mapAst$1(ast, node => {\n if (node.type !== \"inlineCode\") {\n return node;\n }\n\n return Object.assign({}, node, {\n value: node.value.replace(/\\s+/g, \" \")\n });\n });\n }\n\n function restoreUnescapedCharacter(ast, options) {\n return mapAst$1(ast, node => {\n return node.type !== \"text\" ? node : Object.assign({}, node, {\n value: node.value !== \"*\" && node.value !== \"_\" && node.value !== \"$\" && // handle these cases in printer\n isSingleCharRegex.test(node.value) && node.position.end.offset - node.position.start.offset !== node.value.length ? options.originalText.slice(node.position.start.offset, node.position.end.offset) : node.value\n });\n });\n }\n\n function mergeContinuousImportExport(ast) {\n return mergeChildren(ast, (prevNode, node) => prevNode.type === \"importExport\" && node.type === \"importExport\", (prevNode, node) => ({\n type: \"importExport\",\n value: prevNode.value + \"\\n\\n\" + node.value,\n position: {\n start: prevNode.position.start,\n end: node.position.end\n }\n }));\n }\n\n function mergeChildren(ast, shouldMerge, mergeNode) {\n return mapAst$1(ast, node => {\n if (!node.children) {\n return node;\n }\n\n const children = node.children.reduce((current, child) => {\n const lastChild = current[current.length - 1];\n\n if (lastChild && shouldMerge(lastChild, child)) {\n current.splice(-1, 1, mergeNode(lastChild, child));\n } else {\n current.push(child);\n }\n\n return current;\n }, []);\n return Object.assign({}, node, {\n children\n });\n });\n }\n\n function mergeContinuousTexts(ast) {\n return mergeChildren(ast, (prevNode, node) => prevNode.type === \"text\" && node.type === \"text\", (prevNode, node) => ({\n type: \"text\",\n value: prevNode.value + node.value,\n position: {\n start: prevNode.position.start,\n end: node.position.end\n }\n }));\n }\n\n function splitTextIntoSentences(ast, options) {\n return mapAst$1(ast, (node, index, [parentNode]) => {\n if (node.type !== \"text\") {\n return node;\n }\n\n let {\n value\n } = node;\n\n if (parentNode.type === \"paragraph\") {\n if (index === 0) {\n value = value.trimStart();\n }\n\n if (index === parentNode.children.length - 1) {\n value = value.trimEnd();\n }\n }\n\n return {\n type: \"sentence\",\n position: node.position,\n children: splitText$1(value, options)\n };\n });\n }\n\n function transformIndentedCodeblockAndMarkItsParentList(ast, options) {\n return mapAst$1(ast, (node, index, parentStack) => {\n if (node.type === \"code\") {\n // the first char may point to `\\n`, e.g. `\\n\\t\\tbar`, just ignore it\n const isIndented = /^\\n?( {4,}|\\t)/.test(options.originalText.slice(node.position.start.offset, node.position.end.offset));\n node.isIndented = isIndented;\n\n if (isIndented) {\n for (let i = 0; i < parentStack.length; i++) {\n const parent = parentStack[i]; // no need to check checked items\n\n if (parent.hasIndentedCodeblock) {\n break;\n }\n\n if (parent.type === \"list\") {\n parent.hasIndentedCodeblock = true;\n }\n }\n }\n }\n\n return node;\n });\n }\n\n function markAlignedList(ast, options) {\n return mapAst$1(ast, (node, index, parentStack) => {\n if (node.type === \"list\" && node.children.length !== 0) {\n // if one of its parents is not aligned, it's not possible to be aligned in sub-lists\n for (let i = 0; i < parentStack.length; i++) {\n const parent = parentStack[i];\n\n if (parent.type === \"list\" && !parent.isAligned) {\n node.isAligned = false;\n return node;\n }\n }\n\n node.isAligned = isAligned(node);\n }\n\n return node;\n });\n\n function getListItemStart(listItem) {\n return listItem.children.length === 0 ? -1 : listItem.children[0].position.start.column - 1;\n }\n\n function isAligned(list) {\n if (!list.ordered) {\n /**\n * - 123\n * - 123\n */\n return true;\n }\n\n const [firstItem, secondItem] = list.children;\n const firstInfo = getOrderedListItemInfo$1(firstItem, options.originalText);\n\n if (firstInfo.leadingSpaces.length > 1) {\n /**\n * 1. 123\n *\n * 1. 123\n * 1. 123\n */\n return true;\n }\n\n const firstStart = getListItemStart(firstItem);\n\n if (firstStart === -1) {\n /**\n * 1.\n *\n * 1.\n * 1.\n */\n return false;\n }\n\n if (list.children.length === 1) {\n /**\n * aligned:\n *\n * 11. 123\n *\n * not aligned:\n *\n * 1. 123\n */\n return firstStart % options.tabWidth === 0;\n }\n\n const secondStart = getListItemStart(secondItem);\n\n if (firstStart !== secondStart) {\n /**\n * 11. 123\n * 1. 123\n *\n * 1. 123\n * 11. 123\n */\n return false;\n }\n\n if (firstStart % options.tabWidth === 0) {\n /**\n * 11. 123\n * 12. 123\n */\n return true;\n }\n /**\n * aligned:\n *\n * 11. 123\n * 1. 123\n *\n * not aligned:\n *\n * 1. 123\n * 2. 123\n */\n\n\n const secondInfo = getOrderedListItemInfo$1(secondItem, options.originalText);\n return secondInfo.leadingSpaces.length > 1;\n }\n }\n\n var preprocess_1$2 = preprocess$2;\n\n const {\n builders: {\n breakParent: breakParent$4,\n concat: concat$g,\n join: join$b,\n line: line$a,\n literalline: literalline$6,\n markAsRoot: markAsRoot$4,\n hardline: hardline$c,\n softline: softline$7,\n ifBreak: ifBreak$7,\n fill: fill$5,\n align: align$2,\n indent: indent$9,\n group: group$f\n },\n utils: {\n mapDoc: mapDoc$5\n },\n printer: {\n printDocToString: printDocToString$3\n }\n } = document;\n const {\n getFencedCodeBlockValue: getFencedCodeBlockValue$2,\n hasGitDiffFriendlyOrderedList: hasGitDiffFriendlyOrderedList$1,\n splitText: splitText$2,\n punctuationPattern: punctuationPattern$1,\n INLINE_NODE_TYPES: INLINE_NODE_TYPES$1,\n INLINE_NODE_WRAPPER_TYPES: INLINE_NODE_WRAPPER_TYPES$1\n } = utils$6;\n const {\n replaceEndOfLineWith: replaceEndOfLineWith$2\n } = util$1;\n const TRAILING_HARDLINE_NODES = [\"importExport\"];\n const SINGLE_LINE_NODE_TYPES = [\"heading\", \"tableCell\", \"link\"];\n const SIBLING_NODE_TYPES = [\"listItem\", \"definition\", \"footnoteDefinition\"];\n\n function genericPrint$5(path, options, print) {\n const node = path.getValue();\n\n if (shouldRemainTheSameContent(path)) {\n return concat$g(splitText$2(options.originalText.slice(node.position.start.offset, node.position.end.offset), options).map(node => node.type === \"word\" ? node.value : node.value === \"\" ? \"\" : printLine(path, node.value, options)));\n }\n\n switch (node.type) {\n case \"root\":\n if (node.children.length === 0) {\n return \"\";\n }\n\n return concat$g([normalizeDoc(printRoot(path, options, print)), !TRAILING_HARDLINE_NODES.includes(getLastDescendantNode(node).type) ? hardline$c : \"\"]);\n\n case \"paragraph\":\n return printChildren$2(path, options, print, {\n postprocessor: fill$5\n });\n\n case \"sentence\":\n return printChildren$2(path, options, print);\n\n case \"word\":\n return node.value.replace(/[*$]/g, \"\\\\$&\") // escape all `*` and `$` (math)\n .replace(new RegExp([\"(^|\".concat(punctuationPattern$1, \")(_+)\"), \"(_+)(\".concat(punctuationPattern$1, \"|$)\")].join(\"|\"), \"g\"), (_, text1, underscore1, underscore2, text2) => (underscore1 ? \"\".concat(text1).concat(underscore1) : \"\".concat(underscore2).concat(text2)).replace(/_/g, \"\\\\_\"));\n // escape all `_` except concating with non-punctuation, e.g. `1_2_3` is not considered emphasis\n\n case \"whitespace\":\n {\n const parentNode = path.getParentNode();\n const index = parentNode.children.indexOf(node);\n const nextNode = parentNode.children[index + 1];\n const proseWrap = // leading char that may cause different syntax\n nextNode && /^>|^([-+*]|#{1,6}|[0-9]+[.)])$/.test(nextNode.value) ? \"never\" : options.proseWrap;\n return printLine(path, node.value, {\n proseWrap\n });\n }\n\n case \"emphasis\":\n {\n const parentNode = path.getParentNode();\n const index = parentNode.children.indexOf(node);\n const prevNode = parentNode.children[index - 1];\n const nextNode = parentNode.children[index + 1];\n const hasPrevOrNextWord = // `1*2*3` is considered emphasis but `1_2_3` is not\n prevNode && prevNode.type === \"sentence\" && prevNode.children.length > 0 && util$1.getLast(prevNode.children).type === \"word\" && !util$1.getLast(prevNode.children).hasTrailingPunctuation || nextNode && nextNode.type === \"sentence\" && nextNode.children.length > 0 && nextNode.children[0].type === \"word\" && !nextNode.children[0].hasLeadingPunctuation;\n const style = hasPrevOrNextWord || getAncestorNode$2(path, \"emphasis\") ? \"*\" : \"_\";\n return concat$g([style, printChildren$2(path, options, print), style]);\n }\n\n case \"strong\":\n return concat$g([\"**\", printChildren$2(path, options, print), \"**\"]);\n\n case \"delete\":\n return concat$g([\"~~\", printChildren$2(path, options, print), \"~~\"]);\n\n case \"inlineCode\":\n {\n const backtickCount = util$1.getMinNotPresentContinuousCount(node.value, \"`\");\n const style = \"`\".repeat(backtickCount || 1);\n const gap = backtickCount ? \" \" : \"\";\n return concat$g([style, gap, node.value, gap, style]);\n }\n\n case \"link\":\n switch (options.originalText[node.position.start.offset]) {\n case \"<\":\n {\n const mailto = \"mailto:\";\n const url = // is parsed as { url: \"mailto:hello@example.com\" }\n node.url.startsWith(mailto) && options.originalText.slice(node.position.start.offset + 1, node.position.start.offset + 1 + mailto.length) !== mailto ? node.url.slice(mailto.length) : node.url;\n return concat$g([\"<\", url, \">\"]);\n }\n\n case \"[\":\n return concat$g([\"[\", printChildren$2(path, options, print), \"](\", printUrl(node.url, \")\"), printTitle(node.title, options), \")\"]);\n\n default:\n return options.originalText.slice(node.position.start.offset, node.position.end.offset);\n }\n\n case \"image\":\n return concat$g([\"![\", node.alt || \"\", \"](\", printUrl(node.url, \")\"), printTitle(node.title, options), \")\"]);\n\n case \"blockquote\":\n return concat$g([\"> \", align$2(\"> \", printChildren$2(path, options, print))]);\n\n case \"heading\":\n return concat$g([\"#\".repeat(node.depth) + \" \", printChildren$2(path, options, print)]);\n\n case \"code\":\n {\n if (node.isIndented) {\n // indented code block\n const alignment = \" \".repeat(4);\n return align$2(alignment, concat$g([alignment, concat$g(replaceEndOfLineWith$2(node.value, hardline$c))]));\n } // fenced code block\n\n\n const styleUnit = options.__inJsTemplate ? \"~\" : \"`\";\n const style = styleUnit.repeat(Math.max(3, util$1.getMaxContinuousCount(node.value, styleUnit) + 1));\n return concat$g([style, node.lang || \"\", hardline$c, concat$g(replaceEndOfLineWith$2(getFencedCodeBlockValue$2(node, options.originalText), hardline$c)), hardline$c, style]);\n }\n\n case \"yaml\":\n case \"toml\":\n return options.originalText.slice(node.position.start.offset, node.position.end.offset);\n\n case \"html\":\n {\n const parentNode = path.getParentNode();\n const value = parentNode.type === \"root\" && util$1.getLast(parentNode.children) === node ? node.value.trimEnd() : node.value;\n const isHtmlComment = /^$/.test(value);\n return concat$g(replaceEndOfLineWith$2(value, isHtmlComment ? hardline$c : markAsRoot$4(literalline$6)));\n }\n\n case \"list\":\n {\n const nthSiblingIndex = getNthListSiblingIndex(node, path.getParentNode());\n const isGitDiffFriendlyOrderedList = hasGitDiffFriendlyOrderedList$1(node, options);\n return printChildren$2(path, options, print, {\n processor: (childPath, index) => {\n const prefix = getPrefix();\n const childNode = childPath.getValue();\n\n if (childNode.children.length === 2 && childNode.children[1].type === \"html\" && childNode.children[0].position.start.column !== childNode.children[1].position.start.column) {\n return concat$g([prefix, printListItem(childPath, options, print, prefix)]);\n }\n\n return concat$g([prefix, align$2(\" \".repeat(prefix.length), printListItem(childPath, options, print, prefix))]);\n\n function getPrefix() {\n const rawPrefix = node.ordered ? (index === 0 ? node.start : isGitDiffFriendlyOrderedList ? 1 : node.start + index) + (nthSiblingIndex % 2 === 0 ? \". \" : \") \") : nthSiblingIndex % 2 === 0 ? \"- \" : \"* \";\n return node.isAligned ||\n /* workaround for https://github.com/remarkjs/remark/issues/315 */\n node.hasIndentedCodeblock ? alignListPrefix(rawPrefix, options) : rawPrefix;\n }\n }\n });\n }\n\n case \"thematicBreak\":\n {\n const counter = getAncestorCounter$1(path, \"list\");\n\n if (counter === -1) {\n return \"---\";\n }\n\n const nthSiblingIndex = getNthListSiblingIndex(path.getParentNode(counter), path.getParentNode(counter + 1));\n return nthSiblingIndex % 2 === 0 ? \"***\" : \"---\";\n }\n\n case \"linkReference\":\n return concat$g([\"[\", printChildren$2(path, options, print), \"]\", node.referenceType === \"full\" ? concat$g([\"[\", node.identifier, \"]\"]) : node.referenceType === \"collapsed\" ? \"[]\" : \"\"]);\n\n case \"imageReference\":\n switch (node.referenceType) {\n case \"full\":\n return concat$g([\"![\", node.alt || \"\", \"][\", node.identifier, \"]\"]);\n\n default:\n return concat$g([\"![\", node.alt, \"]\", node.referenceType === \"collapsed\" ? \"[]\" : \"\"]);\n }\n\n case \"definition\":\n {\n const lineOrSpace = options.proseWrap === \"always\" ? line$a : \" \";\n return group$f(concat$g([concat$g([\"[\", node.identifier, \"]:\"]), indent$9(concat$g([lineOrSpace, printUrl(node.url), node.title === null ? \"\" : concat$g([lineOrSpace, printTitle(node.title, options, false)])]))]));\n }\n\n case \"footnote\":\n return concat$g([\"[^\", printChildren$2(path, options, print), \"]\"]);\n\n case \"footnoteReference\":\n return concat$g([\"[^\", node.identifier, \"]\"]);\n\n case \"footnoteDefinition\":\n {\n const nextNode = path.getParentNode().children[path.getName() + 1];\n const shouldInlineFootnote = node.children.length === 1 && node.children[0].type === \"paragraph\" && (options.proseWrap === \"never\" || options.proseWrap === \"preserve\" && node.children[0].position.start.line === node.children[0].position.end.line);\n return concat$g([\"[^\", node.identifier, \"]: \", shouldInlineFootnote ? printChildren$2(path, options, print) : group$f(concat$g([align$2(\" \".repeat(options.tabWidth), printChildren$2(path, options, print, {\n processor: (childPath, index) => {\n return index === 0 ? group$f(concat$g([softline$7, childPath.call(print)])) : childPath.call(print);\n }\n })), nextNode && nextNode.type === \"footnoteDefinition\" ? softline$7 : \"\"]))]);\n }\n\n case \"table\":\n return printTable(path, options, print);\n\n case \"tableCell\":\n return printChildren$2(path, options, print);\n\n case \"break\":\n return /\\s/.test(options.originalText[node.position.start.offset]) ? concat$g([\" \", markAsRoot$4(literalline$6)]) : concat$g([\"\\\\\", hardline$c]);\n\n case \"liquidNode\":\n return concat$g(replaceEndOfLineWith$2(node.value, hardline$c));\n // MDX\n\n case \"importExport\":\n case \"jsx\":\n return node.value;\n // fallback to the original text if multiparser failed\n\n case \"math\":\n return concat$g([\"$$\", hardline$c, node.value ? concat$g([concat$g(replaceEndOfLineWith$2(node.value, hardline$c)), hardline$c]) : \"\", \"$$\"]);\n\n case \"inlineMath\":\n {\n // remark-math trims content but we don't want to remove whitespaces\n // since it's very possible that it's recognized as math accidentally\n return options.originalText.slice(options.locStart(node), options.locEnd(node));\n }\n\n case \"tableRow\": // handled in \"table\"\n\n case \"listItem\": // handled in \"list\"\n\n default:\n throw new Error(\"Unknown markdown type \".concat(JSON.stringify(node.type)));\n }\n }\n\n function printListItem(path, options, print, listPrefix) {\n const node = path.getValue();\n const prefix = node.checked === null ? \"\" : node.checked ? \"[x] \" : \"[ ] \";\n return concat$g([prefix, printChildren$2(path, options, print, {\n processor: (childPath, index) => {\n if (index === 0 && childPath.getValue().type !== \"list\") {\n return align$2(\" \".repeat(prefix.length), childPath.call(print));\n }\n\n const alignment = \" \".repeat(clamp(options.tabWidth - listPrefix.length, 0, 3) // 4+ will cause indented code block\n );\n return concat$g([alignment, align$2(alignment, childPath.call(print))]);\n }\n })]);\n }\n\n function alignListPrefix(prefix, options) {\n const additionalSpaces = getAdditionalSpaces();\n return prefix + \" \".repeat(additionalSpaces >= 4 ? 0 : additionalSpaces // 4+ will cause indented code block\n );\n\n function getAdditionalSpaces() {\n const restSpaces = prefix.length % options.tabWidth;\n return restSpaces === 0 ? 0 : options.tabWidth - restSpaces;\n }\n }\n\n function getNthListSiblingIndex(node, parentNode) {\n return getNthSiblingIndex(node, parentNode, siblingNode => siblingNode.ordered === node.ordered);\n }\n\n function getNthSiblingIndex(node, parentNode, condition) {\n condition = condition || (() => true);\n\n let index = -1;\n\n for (const childNode of parentNode.children) {\n if (childNode.type === node.type && condition(childNode)) {\n index++;\n } else {\n index = -1;\n }\n\n if (childNode === node) {\n return index;\n }\n }\n }\n\n function getAncestorCounter$1(path, typeOrTypes) {\n const types = [].concat(typeOrTypes);\n let counter = -1;\n let ancestorNode;\n\n while (ancestorNode = path.getParentNode(++counter)) {\n if (types.includes(ancestorNode.type)) {\n return counter;\n }\n }\n\n return -1;\n }\n\n function getAncestorNode$2(path, typeOrTypes) {\n const counter = getAncestorCounter$1(path, typeOrTypes);\n return counter === -1 ? null : path.getParentNode(counter);\n }\n\n function printLine(path, value, options) {\n if (options.proseWrap === \"preserve\" && value === \"\\n\") {\n return hardline$c;\n }\n\n const isBreakable = options.proseWrap === \"always\" && !getAncestorNode$2(path, SINGLE_LINE_NODE_TYPES);\n return value !== \"\" ? isBreakable ? line$a : \" \" : isBreakable ? softline$7 : \"\";\n }\n\n function printTable(path, options, print) {\n const hardlineWithoutBreakParent = hardline$c.parts[0];\n const node = path.getValue();\n const contents = []; // { [rowIndex: number]: { [columnIndex: number]: string } }\n\n path.map(rowPath => {\n const rowContents = [];\n rowPath.map(cellPath => {\n rowContents.push(printDocToString$3(cellPath.call(print), options).formatted);\n }, \"children\");\n contents.push(rowContents);\n }, \"children\"); // Get the width of each column\n\n const columnMaxWidths = contents.reduce((currentWidths, rowContents) => currentWidths.map((width, columnIndex) => Math.max(width, util$1.getStringWidth(rowContents[columnIndex]))), contents[0].map(() => 3) // minimum width = 3 (---, :--, :-:, --:)\n );\n const alignedTable = join$b(hardlineWithoutBreakParent, [printRow(contents[0]), printSeparator(), join$b(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents)))]);\n\n if (options.proseWrap !== \"never\") {\n return concat$g([breakParent$4, alignedTable]);\n } // Only if the --prose-wrap never is set and it exceeds the print width.\n\n\n const compactTable = join$b(hardlineWithoutBreakParent, [printRow(contents[0],\n /* isCompact */\n true), printSeparator(\n /* isCompact */\n true), join$b(hardlineWithoutBreakParent, contents.slice(1).map(rowContents => printRow(rowContents,\n /* isCompact */\n true)))]);\n return concat$g([breakParent$4, group$f(ifBreak$7(compactTable, alignedTable))]);\n\n function printSeparator(isCompact) {\n return concat$g([\"| \", join$b(\" | \", columnMaxWidths.map((width, index) => {\n const spaces = isCompact ? 3 : width;\n\n switch (node.align[index]) {\n case \"left\":\n return \":\" + \"-\".repeat(spaces - 1);\n\n case \"right\":\n return \"-\".repeat(spaces - 1) + \":\";\n\n case \"center\":\n return \":\" + \"-\".repeat(spaces - 2) + \":\";\n\n default:\n return \"-\".repeat(spaces);\n }\n })), \" |\"]);\n }\n\n function printRow(rowContents, isCompact) {\n return concat$g([\"| \", join$b(\" | \", isCompact ? rowContents : rowContents.map((rowContent, columnIndex) => {\n switch (node.align[columnIndex]) {\n case \"right\":\n return alignRight(rowContent, columnMaxWidths[columnIndex]);\n\n case \"center\":\n return alignCenter(rowContent, columnMaxWidths[columnIndex]);\n\n default:\n return alignLeft(rowContent, columnMaxWidths[columnIndex]);\n }\n })), \" |\"]);\n }\n\n function alignLeft(text, width) {\n const spaces = width - util$1.getStringWidth(text);\n return concat$g([text, \" \".repeat(spaces)]);\n }\n\n function alignRight(text, width) {\n const spaces = width - util$1.getStringWidth(text);\n return concat$g([\" \".repeat(spaces), text]);\n }\n\n function alignCenter(text, width) {\n const spaces = width - util$1.getStringWidth(text);\n const left = Math.floor(spaces / 2);\n const right = spaces - left;\n return concat$g([\" \".repeat(left), text, \" \".repeat(right)]);\n }\n }\n\n function printRoot(path, options, print) {\n /** @typedef {{ index: number, offset: number }} IgnorePosition */\n\n /** @type {Array<{start: IgnorePosition, end: IgnorePosition}>} */\n const ignoreRanges = [];\n /** @type {IgnorePosition | null} */\n\n let ignoreStart = null;\n const {\n children\n } = path.getValue();\n children.forEach((childNode, index) => {\n switch (isPrettierIgnore$1(childNode)) {\n case \"start\":\n if (ignoreStart === null) {\n ignoreStart = {\n index,\n offset: childNode.position.end.offset\n };\n }\n\n break;\n\n case \"end\":\n if (ignoreStart !== null) {\n ignoreRanges.push({\n start: ignoreStart,\n end: {\n index,\n offset: childNode.position.start.offset\n }\n });\n ignoreStart = null;\n }\n\n break;\n }\n });\n return printChildren$2(path, options, print, {\n processor: (childPath, index) => {\n if (ignoreRanges.length !== 0) {\n const ignoreRange = ignoreRanges[0];\n\n if (index === ignoreRange.start.index) {\n return concat$g([children[ignoreRange.start.index].value, options.originalText.slice(ignoreRange.start.offset, ignoreRange.end.offset), children[ignoreRange.end.index].value]);\n }\n\n if (ignoreRange.start.index < index && index < ignoreRange.end.index) {\n return false;\n }\n\n if (index === ignoreRange.end.index) {\n ignoreRanges.shift();\n return false;\n }\n }\n\n return childPath.call(print);\n }\n });\n }\n\n function printChildren$2(path, options, print, events) {\n events = events || {};\n const postprocessor = events.postprocessor || concat$g;\n\n const processor = events.processor || (childPath => childPath.call(print));\n\n const node = path.getValue();\n const parts = [];\n let lastChildNode;\n path.map((childPath, index) => {\n const childNode = childPath.getValue();\n const result = processor(childPath, index);\n\n if (result !== false) {\n const data = {\n parts,\n prevNode: lastChildNode,\n parentNode: node,\n options\n };\n\n if (!shouldNotPrePrintHardline(childNode, data)) {\n parts.push(hardline$c);\n\n if (lastChildNode && TRAILING_HARDLINE_NODES.includes(lastChildNode.type)) {\n if (shouldPrePrintTripleHardline(childNode, data)) {\n parts.push(hardline$c);\n }\n } else {\n if (shouldPrePrintDoubleHardline(childNode, data) || shouldPrePrintTripleHardline(childNode, data)) {\n parts.push(hardline$c);\n }\n\n if (shouldPrePrintTripleHardline(childNode, data)) {\n parts.push(hardline$c);\n }\n }\n }\n\n parts.push(result);\n lastChildNode = childNode;\n }\n }, \"children\");\n return postprocessor(parts);\n }\n\n function getLastDescendantNode(node) {\n let current = node;\n\n while (current.children && current.children.length !== 0) {\n current = current.children[current.children.length - 1];\n }\n\n return current;\n }\n /** @return {false | 'next' | 'start' | 'end'} */\n\n\n function isPrettierIgnore$1(node) {\n if (node.type !== \"html\") {\n return false;\n }\n\n const match = node.value.match(/^$/);\n return match === null ? false : match[1] ? match[1] : \"next\";\n }\n\n function shouldNotPrePrintHardline(node, data) {\n const isFirstNode = data.parts.length === 0;\n const isInlineNode = INLINE_NODE_TYPES$1.includes(node.type);\n const isInlineHTML = node.type === \"html\" && INLINE_NODE_WRAPPER_TYPES$1.includes(data.parentNode.type);\n return isFirstNode || isInlineNode || isInlineHTML;\n }\n\n function shouldPrePrintDoubleHardline(node, data) {\n const isSequence = (data.prevNode && data.prevNode.type) === node.type;\n const isSiblingNode = isSequence && SIBLING_NODE_TYPES.includes(node.type);\n const isInTightListItem = data.parentNode.type === \"listItem\" && !data.parentNode.loose;\n const isPrevNodeLooseListItem = data.prevNode && data.prevNode.type === \"listItem\" && data.prevNode.loose;\n const isPrevNodePrettierIgnore = isPrettierIgnore$1(data.prevNode) === \"next\";\n const isBlockHtmlWithoutBlankLineBetweenPrevHtml = node.type === \"html\" && data.prevNode && data.prevNode.type === \"html\" && data.prevNode.position.end.line + 1 === node.position.start.line;\n const isHtmlDirectAfterListItem = node.type === \"html\" && data.parentNode.type === \"listItem\" && data.prevNode && data.prevNode.type === \"paragraph\" && data.prevNode.position.end.line + 1 === node.position.start.line;\n return isPrevNodeLooseListItem || !(isSiblingNode || isInTightListItem || isPrevNodePrettierIgnore || isBlockHtmlWithoutBlankLineBetweenPrevHtml || isHtmlDirectAfterListItem);\n }\n\n function shouldPrePrintTripleHardline(node, data) {\n const isPrevNodeList = data.prevNode && data.prevNode.type === \"list\";\n const isIndentedCode = node.type === \"code\" && node.isIndented;\n return isPrevNodeList && isIndentedCode;\n }\n\n function shouldRemainTheSameContent(path) {\n const ancestorNode = getAncestorNode$2(path, [\"linkReference\", \"imageReference\"]);\n return ancestorNode && (ancestorNode.type !== \"linkReference\" || ancestorNode.referenceType !== \"full\");\n }\n\n function normalizeDoc(doc) {\n return mapDoc$5(doc, currentDoc => {\n if (!currentDoc.parts) {\n return currentDoc;\n }\n\n if (currentDoc.type === \"concat\" && currentDoc.parts.length === 1) {\n return currentDoc.parts[0];\n }\n\n const parts = currentDoc.parts.reduce((parts, part) => {\n if (part.type === \"concat\") {\n parts.push(...part.parts);\n } else if (part !== \"\") {\n parts.push(part);\n }\n\n return parts;\n }, []);\n return Object.assign({}, currentDoc, {\n parts: normalizeParts$2(parts)\n });\n });\n }\n\n function printUrl(url, dangerousCharOrChars) {\n const dangerousChars = [\" \"].concat(dangerousCharOrChars || []);\n return new RegExp(dangerousChars.map(x => \"\\\\\".concat(x)).join(\"|\")).test(url) ? \"<\".concat(url, \">\") : url;\n }\n\n function printTitle(title, options, printSpace) {\n if (printSpace == null) {\n printSpace = true;\n }\n\n if (!title) {\n return \"\";\n }\n\n if (printSpace) {\n return \" \" + printTitle(title, options, false);\n }\n\n if (title.includes('\"') && title.includes(\"'\") && !title.includes(\")\")) {\n return \"(\".concat(title, \")\"); // avoid escaped quotes\n } // faster than using RegExps: https://jsperf.com/performance-of-match-vs-split\n\n\n const singleCount = title.split(\"'\").length - 1;\n const doubleCount = title.split('\"').length - 1;\n const quote = singleCount > doubleCount ? '\"' : doubleCount > singleCount ? \"'\" : options.singleQuote ? \"'\" : '\"';\n title = title.replace(new RegExp(\"(\".concat(quote, \")\"), \"g\"), \"\\\\$1\");\n return \"\".concat(quote).concat(title).concat(quote);\n }\n\n function normalizeParts$2(parts) {\n return parts.reduce((current, part) => {\n const lastPart = util$1.getLast(current);\n\n if (typeof lastPart === \"string\" && typeof part === \"string\") {\n current.splice(-1, 1, lastPart + part);\n } else {\n current.push(part);\n }\n\n return current;\n }, []);\n }\n\n function clamp(value, min, max) {\n return value < min ? min : value > max ? max : value;\n }\n\n function clean$6(ast, newObj, parent) {\n delete newObj.position;\n delete newObj.raw; // front-matter\n // for codeblock\n\n if (ast.type === \"code\" || ast.type === \"yaml\" || ast.type === \"import\" || ast.type === \"export\" || ast.type === \"jsx\") {\n delete newObj.value;\n }\n\n if (ast.type === \"list\") {\n delete newObj.isAligned;\n } // texts can be splitted or merged\n\n\n if (ast.type === \"text\") {\n return null;\n }\n\n if (ast.type === \"inlineCode\") {\n newObj.value = ast.value.replace(/[ \\t\\n]+/g, \" \");\n } // for insert pragma\n\n\n if (parent && parent.type === \"root\" && parent.children.length > 0 && (parent.children[0] === ast || (parent.children[0].type === \"yaml\" || parent.children[0].type === \"toml\") && parent.children[1] === ast) && ast.type === \"html\" && pragma$4.startWithPragma(ast.value)) {\n return null;\n }\n }\n\n function hasPrettierIgnore$6(path) {\n const index = +path.getName();\n\n if (index === 0) {\n return false;\n }\n\n const prevNode = path.getParentNode().children[index - 1];\n return isPrettierIgnore$1(prevNode) === \"next\";\n }\n\n var printerMarkdown = {\n preprocess: preprocess_1$2,\n print: genericPrint$5,\n embed: embed_1$2,\n massageAstNode: clean$6,\n hasPrettierIgnore: hasPrettierIgnore$6,\n insertPragma: pragma$4.insertPragma\n };\n\n var options$6 = {\n proseWrap: commonOptions.proseWrap,\n singleQuote: commonOptions.singleQuote\n };\n\n var name$g = \"Markdown\";\n var type$f = \"prose\";\n var aliases$5 = [\n \t\"pandoc\"\n ];\n var aceMode$f = \"markdown\";\n var codemirrorMode$b = \"gfm\";\n var codemirrorMimeType$b = \"text/x-gfm\";\n var wrap = true;\n var extensions$f = [\n \t\".md\",\n \t\".markdown\",\n \t\".mdown\",\n \t\".mdwn\",\n \t\".mdx\",\n \t\".mkd\",\n \t\".mkdn\",\n \t\".mkdown\",\n \t\".ronn\",\n \t\".workbook\"\n ];\n var filenames$3 = [\n \t\"contents.lr\"\n ];\n var tmScope$f = \"source.gfm\";\n var languageId$f = 222;\n var Markdown = {\n \tname: name$g,\n \ttype: type$f,\n \taliases: aliases$5,\n \taceMode: aceMode$f,\n \tcodemirrorMode: codemirrorMode$b,\n \tcodemirrorMimeType: codemirrorMimeType$b,\n \twrap: wrap,\n \textensions: extensions$f,\n \tfilenames: filenames$3,\n \ttmScope: tmScope$f,\n \tlanguageId: languageId$f\n };\n\n var Markdown$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$g,\n type: type$f,\n aliases: aliases$5,\n aceMode: aceMode$f,\n codemirrorMode: codemirrorMode$b,\n codemirrorMimeType: codemirrorMimeType$b,\n wrap: wrap,\n extensions: extensions$f,\n filenames: filenames$3,\n tmScope: tmScope$f,\n languageId: languageId$f,\n 'default': Markdown\n });\n\n var require$$0$7 = getCjsExportFromNamespace(Markdown$1);\n\n const languages$5 = [createLanguage(require$$0$7, data => ({\n since: \"1.8.0\",\n parsers: [\"markdown\"],\n vscodeLanguageIds: [\"markdown\"],\n filenames: data.filenames.concat([\"README\"]),\n extensions: data.extensions.filter(extension => extension !== \".mdx\")\n })), createLanguage(require$$0$7, () => ({\n name: \"MDX\",\n since: \"1.15.0\",\n parsers: [\"mdx\"],\n vscodeLanguageIds: [\"mdx\"],\n filenames: [],\n extensions: [\".mdx\"]\n }))];\n const printers$5 = {\n mdast: printerMarkdown\n };\n var languageMarkdown = {\n languages: languages$5,\n options: options$6,\n printers: printers$5\n };\n\n function isPragma(text) {\n return /^\\s*@(prettier|format)\\s*$/.test(text);\n }\n\n function hasPragma$4(text) {\n return /^\\s*#[^\\n\\S]*@(prettier|format)\\s*?(\\n|$)/.test(text);\n }\n\n function insertPragma$8(text) {\n return \"# @format\\n\\n\".concat(text);\n }\n\n var pragma$5 = {\n isPragma,\n hasPragma: hasPragma$4,\n insertPragma: insertPragma$8\n };\n\n const {\n getLast: getLast$5\n } = util$1;\n\n function getAncestorCount(path, filter) {\n let counter = 0;\n const pathStackLength = path.stack.length - 1;\n\n for (let i = 0; i < pathStackLength; i++) {\n const value = path.stack[i];\n\n if (isNode(value) && filter(value)) {\n counter++;\n }\n }\n\n return counter;\n }\n /**\n * @param {any} value\n * @param {string[]=} types\n */\n\n\n function isNode(value, types) {\n return value && typeof value.type === \"string\" && (!types || types.includes(value.type));\n }\n\n function mapNode(node, callback, parent) {\n return callback(\"children\" in node ? Object.assign({}, node, {\n children: node.children.map(childNode => mapNode(childNode, callback, node))\n }) : node, parent);\n }\n\n function defineShortcut(x, key, getter) {\n Object.defineProperty(x, key, {\n get: getter,\n enumerable: false\n });\n }\n\n function isNextLineEmpty$5(node, text) {\n let newlineCount = 0;\n const textLength = text.length;\n\n for (let i = node.position.end.offset - 1; i < textLength; i++) {\n const char = text[i];\n\n if (char === \"\\n\") {\n newlineCount++;\n }\n\n if (newlineCount === 1 && /\\S/.test(char)) {\n return false;\n }\n\n if (newlineCount === 2) {\n return true;\n }\n }\n\n return false;\n }\n\n function isLastDescendantNode(path) {\n const node = path.getValue();\n\n switch (node.type) {\n case \"tag\":\n case \"anchor\":\n case \"comment\":\n return false;\n }\n\n const pathStackLength = path.stack.length;\n\n for (let i = 1; i < pathStackLength; i++) {\n const item = path.stack[i];\n const parentItem = path.stack[i - 1];\n\n if (Array.isArray(parentItem) && typeof item === \"number\" && item !== parentItem.length - 1) {\n return false;\n }\n }\n\n return true;\n }\n\n function getLastDescendantNode$1(node) {\n return \"children\" in node && node.children.length !== 0 ? getLastDescendantNode$1(getLast$5(node.children)) : node;\n }\n\n function isPrettierIgnore$2(comment) {\n return comment.value.trim() === \"prettier-ignore\";\n }\n\n function hasPrettierIgnore$7(path) {\n const node = path.getValue();\n\n if (node.type === \"documentBody\") {\n const document = path.getParentNode();\n return hasEndComments(document.head) && isPrettierIgnore$2(getLast$5(document.head.endComments));\n }\n\n return hasLeadingComments(node) && isPrettierIgnore$2(getLast$5(node.leadingComments));\n }\n\n function isEmptyNode(node) {\n return (!node.children || node.children.length === 0) && !hasComments(node);\n }\n\n function hasComments(node) {\n return hasLeadingComments(node) || hasMiddleComments(node) || hasIndicatorComment(node) || hasTrailingComment$2(node) || hasEndComments(node);\n }\n\n function hasLeadingComments(node) {\n return node && node.leadingComments && node.leadingComments.length !== 0;\n }\n\n function hasMiddleComments(node) {\n return node && node.middleComments && node.middleComments.length !== 0;\n }\n\n function hasIndicatorComment(node) {\n return node && node.indicatorComment;\n }\n\n function hasTrailingComment$2(node) {\n return node && node.trailingComment;\n }\n\n function hasEndComments(node) {\n return node && node.endComments && node.endComments.length !== 0;\n }\n /**\n * \" a b c d e f \" -> [\" a b\", \"c d\", \"e f \"]\n */\n\n\n function splitWithSingleSpace(text) {\n const parts = [];\n let lastPart = undefined;\n\n for (const part of text.split(/( +)/g)) {\n if (part !== \" \") {\n if (lastPart === \" \") {\n parts.push(part);\n } else {\n parts.push((parts.pop() || \"\") + part);\n }\n } else if (lastPart === undefined) {\n parts.unshift(\"\");\n }\n\n lastPart = part;\n }\n\n if (lastPart === \" \") {\n parts.push((parts.pop() || \"\") + \" \");\n }\n\n if (parts[0] === \"\") {\n parts.shift();\n parts.unshift(\" \" + (parts.shift() || \"\"));\n }\n\n return parts;\n }\n\n function getFlowScalarLineContents(nodeType, content, options) {\n const rawLineContents = content.split(\"\\n\").map((lineContent, index, lineContents) => index === 0 && index === lineContents.length - 1 ? lineContent : index !== 0 && index !== lineContents.length - 1 ? lineContent.trim() : index === 0 ? lineContent.trimEnd() : lineContent.trimStart());\n\n if (options.proseWrap === \"preserve\") {\n return rawLineContents.map(lineContent => lineContent.length === 0 ? [] : [lineContent]);\n }\n\n return rawLineContents.map(lineContent => lineContent.length === 0 ? [] : splitWithSingleSpace(lineContent)).reduce((reduced, lineContentWords, index) => index !== 0 && rawLineContents[index - 1].length !== 0 && lineContentWords.length !== 0 && !( // trailing backslash in quoteDouble should be preserved\n nodeType === \"quoteDouble\" && getLast$5(getLast$5(reduced)).endsWith(\"\\\\\")) ? reduced.concat([reduced.pop().concat(lineContentWords)]) : reduced.concat([lineContentWords]), []).map(lineContentWords => options.proseWrap === \"never\" ? [lineContentWords.join(\" \")] : lineContentWords);\n }\n\n function getBlockValueLineContents(node, {\n parentIndent,\n isLastDescendant,\n options\n }) {\n const content = node.position.start.line === node.position.end.line ? \"\" : options.originalText.slice(node.position.start.offset, node.position.end.offset) // exclude open line `>` or `|`\n .match(/^[^\\n]*?\\n([\\s\\S]*)$/)[1];\n const leadingSpaceCount = node.indent === null ? (match => match ? match[1].length : Infinity)(content.match(/^( *)\\S/m)) : node.indent - 1 + parentIndent;\n const rawLineContents = content.split(\"\\n\").map(lineContent => lineContent.slice(leadingSpaceCount));\n\n if (options.proseWrap === \"preserve\" || node.type === \"blockLiteral\") {\n return removeUnnecessaryTrailingNewlines(rawLineContents.map(lineContent => lineContent.length === 0 ? [] : [lineContent]));\n }\n\n return removeUnnecessaryTrailingNewlines(rawLineContents.map(lineContent => lineContent.length === 0 ? [] : splitWithSingleSpace(lineContent)).reduce((reduced, lineContentWords, index) => index !== 0 && rawLineContents[index - 1].length !== 0 && lineContentWords.length !== 0 && !/^\\s/.test(lineContentWords[0]) && !/^\\s|\\s$/.test(getLast$5(reduced)) ? reduced.concat([reduced.pop().concat(lineContentWords)]) : reduced.concat([lineContentWords]), []).map(lineContentWords => lineContentWords.reduce((reduced, word) => // disallow trailing spaces\n reduced.length !== 0 && /\\s$/.test(getLast$5(reduced)) ? reduced.concat(reduced.pop() + \" \" + word) : reduced.concat(word), [])).map(lineContentWords => options.proseWrap === \"never\" ? [lineContentWords.join(\" \")] : lineContentWords));\n\n function removeUnnecessaryTrailingNewlines(lineContents) {\n if (node.chomping === \"keep\") {\n return getLast$5(lineContents).length === 0 ? lineContents.slice(0, -1) : lineContents;\n }\n\n let trailingNewlineCount = 0;\n\n for (let i = lineContents.length - 1; i >= 0; i--) {\n if (lineContents[i].length === 0) {\n trailingNewlineCount++;\n } else {\n break;\n }\n }\n\n return trailingNewlineCount === 0 ? lineContents : trailingNewlineCount >= 2 && !isLastDescendant ? // next empty line\n lineContents.slice(0, -(trailingNewlineCount - 1)) : lineContents.slice(0, -trailingNewlineCount);\n }\n }\n\n var utils$7 = {\n getLast: getLast$5,\n getAncestorCount,\n isNode,\n isEmptyNode,\n mapNode,\n defineShortcut,\n isNextLineEmpty: isNextLineEmpty$5,\n isLastDescendantNode,\n getBlockValueLineContents,\n getFlowScalarLineContents,\n getLastDescendantNode: getLastDescendantNode$1,\n hasPrettierIgnore: hasPrettierIgnore$7,\n hasLeadingComments,\n hasMiddleComments,\n hasIndicatorComment,\n hasTrailingComment: hasTrailingComment$2,\n hasEndComments\n };\n\n const {\n insertPragma: insertPragma$9,\n isPragma: isPragma$1\n } = pragma$5;\n const {\n getAncestorCount: getAncestorCount$1,\n getBlockValueLineContents: getBlockValueLineContents$1,\n getFlowScalarLineContents: getFlowScalarLineContents$1,\n getLast: getLast$6,\n getLastDescendantNode: getLastDescendantNode$2,\n hasLeadingComments: hasLeadingComments$1,\n hasMiddleComments: hasMiddleComments$1,\n hasIndicatorComment: hasIndicatorComment$1,\n hasTrailingComment: hasTrailingComment$3,\n hasEndComments: hasEndComments$1,\n hasPrettierIgnore: hasPrettierIgnore$8,\n isLastDescendantNode: isLastDescendantNode$1,\n isNextLineEmpty: isNextLineEmpty$6,\n isNode: isNode$1,\n isEmptyNode: isEmptyNode$1,\n defineShortcut: defineShortcut$1,\n mapNode: mapNode$1\n } = utils$7;\n const docBuilders$2 = document.builders;\n const {\n conditionalGroup: conditionalGroup$2,\n breakParent: breakParent$5,\n concat: concat$h,\n dedent: dedent$3,\n dedentToRoot: dedentToRoot$3,\n fill: fill$6,\n group: group$g,\n hardline: hardline$d,\n ifBreak: ifBreak$8,\n join: join$c,\n line: line$b,\n lineSuffix: lineSuffix$2,\n literalline: literalline$7,\n markAsRoot: markAsRoot$5,\n softline: softline$8\n } = docBuilders$2;\n const {\n replaceEndOfLineWith: replaceEndOfLineWith$3\n } = util$1;\n\n function preprocess$3(ast) {\n return mapNode$1(ast, defineShortcuts);\n }\n\n function defineShortcuts(node) {\n switch (node.type) {\n case \"document\":\n defineShortcut$1(node, \"head\", () => node.children[0]);\n defineShortcut$1(node, \"body\", () => node.children[1]);\n break;\n\n case \"documentBody\":\n case \"sequenceItem\":\n case \"flowSequenceItem\":\n case \"mappingKey\":\n case \"mappingValue\":\n defineShortcut$1(node, \"content\", () => node.children[0]);\n break;\n\n case \"mappingItem\":\n case \"flowMappingItem\":\n defineShortcut$1(node, \"key\", () => node.children[0]);\n defineShortcut$1(node, \"value\", () => node.children[1]);\n break;\n }\n\n return node;\n }\n\n function genericPrint$6(path, options, print) {\n const node = path.getValue();\n const parentNode = path.getParentNode();\n const tag = !node.tag ? \"\" : path.call(print, \"tag\");\n const anchor = !node.anchor ? \"\" : path.call(print, \"anchor\");\n const nextEmptyLine = isNode$1(node, [\"mapping\", \"sequence\", \"comment\", \"directive\", \"mappingItem\", \"sequenceItem\"]) && !isLastDescendantNode$1(path) ? printNextEmptyLine(path, options.originalText) : \"\";\n return concat$h([node.type !== \"mappingValue\" && hasLeadingComments$1(node) ? concat$h([join$c(hardline$d, path.map(print, \"leadingComments\")), hardline$d]) : \"\", tag, tag && anchor ? \" \" : \"\", anchor, tag || anchor ? isNode$1(node, [\"sequence\", \"mapping\"]) && !hasMiddleComments$1(node) ? hardline$d : \" \" : \"\", hasMiddleComments$1(node) ? concat$h([node.middleComments.length === 1 ? \"\" : hardline$d, join$c(hardline$d, path.map(print, \"middleComments\")), hardline$d]) : \"\", hasPrettierIgnore$8(path) ? concat$h(replaceEndOfLineWith$3(options.originalText.slice(node.position.start.offset, node.position.end.offset), literalline$7)) : group$g(_print(node, parentNode, path, options, print)), hasTrailingComment$3(node) && !isNode$1(node, [\"document\", \"documentHead\"]) ? lineSuffix$2(concat$h([node.type === \"mappingValue\" && !node.content ? \"\" : \" \", parentNode.type === \"mappingKey\" && path.getParentNode(2).type === \"mapping\" && isInlineNode(node) ? \"\" : breakParent$5, path.call(print, \"trailingComment\")])) : \"\", nextEmptyLine, hasEndComments$1(node) && !isNode$1(node, [\"documentHead\", \"documentBody\"]) ? align$3(node.type === \"sequenceItem\" ? 2 : 0, concat$h([hardline$d, join$c(hardline$d, path.map(print, \"endComments\"))])) : \"\"]);\n }\n\n function _print(node, parentNode, path, options, print) {\n switch (node.type) {\n case \"root\":\n return concat$h([join$c(hardline$d, path.map((childPath, index) => {\n const document = node.children[index];\n const nextDocument = node.children[index + 1];\n return concat$h([print(childPath), shouldPrintDocumentEndMarker(document, nextDocument) ? concat$h([hardline$d, \"...\", hasTrailingComment$3(document) ? concat$h([\" \", path.call(print, \"trailingComment\")]) : \"\"]) : !nextDocument || hasTrailingComment$3(nextDocument.head) ? \"\" : concat$h([hardline$d, \"---\"])]);\n }, \"children\")), node.children.length === 0 || (lastDescendantNode => isNode$1(lastDescendantNode, [\"blockLiteral\", \"blockFolded\"]) && lastDescendantNode.chomping === \"keep\")(getLastDescendantNode$2(node)) ? \"\" : hardline$d]);\n\n case \"document\":\n {\n const nextDocument = parentNode.children[path.getName() + 1];\n return join$c(hardline$d, [shouldPrintDocumentHeadEndMarker(node, nextDocument, parentNode, options) === \"head\" ? join$c(hardline$d, [node.head.children.length === 0 && node.head.endComments.length === 0 ? \"\" : path.call(print, \"head\"), concat$h([\"---\", hasTrailingComment$3(node.head) ? concat$h([\" \", path.call(print, \"head\", \"trailingComment\")]) : \"\"])].filter(Boolean)) : \"\", shouldPrintDocumentBody(node) ? path.call(print, \"body\") : \"\"].filter(Boolean));\n }\n\n case \"documentHead\":\n return join$c(hardline$d, [].concat(path.map(print, \"children\"), path.map(print, \"endComments\")));\n\n case \"documentBody\":\n {\n const children = join$c(hardline$d, path.map(print, \"children\")).parts;\n const endComments = join$c(hardline$d, path.map(print, \"endComments\")).parts;\n const separator = children.length === 0 || endComments.length === 0 ? \"\" : (lastDescendantNode => isNode$1(lastDescendantNode, [\"blockFolded\", \"blockLiteral\"]) ? lastDescendantNode.chomping === \"keep\" ? // there's already a newline printed at the end of blockValue (chomping=keep, lastDescendant=true)\n \"\" : // an extra newline for better readability\n concat$h([hardline$d, hardline$d]) : hardline$d)(getLastDescendantNode$2(node));\n return concat$h([].concat(children, separator, endComments));\n }\n\n case \"directive\":\n return concat$h([\"%\", join$c(\" \", [node.name].concat(node.parameters))]);\n\n case \"comment\":\n return concat$h([\"#\", node.value]);\n\n case \"alias\":\n return concat$h([\"*\", node.value]);\n\n case \"tag\":\n return options.originalText.slice(node.position.start.offset, node.position.end.offset);\n\n case \"anchor\":\n return concat$h([\"&\", node.value]);\n\n case \"plain\":\n return printFlowScalarContent(node.type, options.originalText.slice(node.position.start.offset, node.position.end.offset), options);\n\n case \"quoteDouble\":\n case \"quoteSingle\":\n {\n const singleQuote = \"'\";\n const doubleQuote = '\"';\n const raw = options.originalText.slice(node.position.start.offset + 1, node.position.end.offset - 1);\n\n if (node.type === \"quoteSingle\" && raw.includes(\"\\\\\") || node.type === \"quoteDouble\" && /\\\\[^\"]/.test(raw)) {\n // only quoteDouble can use escape chars\n // and quoteSingle do not need to escape backslashes\n const originalQuote = node.type === \"quoteDouble\" ? doubleQuote : singleQuote;\n return concat$h([originalQuote, printFlowScalarContent(node.type, raw, options), originalQuote]);\n } else if (raw.includes(doubleQuote)) {\n return concat$h([singleQuote, printFlowScalarContent(node.type, node.type === \"quoteDouble\" ? raw // double quote needs to be escaped by backslash in quoteDouble\n .replace(/\\\\\"/g, doubleQuote).replace(/'/g, singleQuote.repeat(2)) : raw, options), singleQuote]);\n }\n\n if (raw.includes(singleQuote)) {\n return concat$h([doubleQuote, printFlowScalarContent(node.type, node.type === \"quoteSingle\" ? // single quote needs to be escaped by 2 single quotes in quoteSingle\n raw.replace(/''/g, singleQuote) : raw, options), doubleQuote]);\n }\n\n const quote = options.singleQuote ? singleQuote : doubleQuote;\n return concat$h([quote, printFlowScalarContent(node.type, raw, options), quote]);\n }\n\n case \"blockFolded\":\n case \"blockLiteral\":\n {\n const parentIndent = getAncestorCount$1(path, ancestorNode => isNode$1(ancestorNode, [\"sequence\", \"mapping\"]));\n const isLastDescendant = isLastDescendantNode$1(path);\n return concat$h([node.type === \"blockFolded\" ? \">\" : \"|\", node.indent === null ? \"\" : node.indent.toString(), node.chomping === \"clip\" ? \"\" : node.chomping === \"keep\" ? \"+\" : \"-\", hasIndicatorComment$1(node) ? concat$h([\" \", path.call(print, \"indicatorComment\")]) : \"\", (node.indent === null ? dedent$3 : dedentToRoot$3)(align$3(node.indent === null ? options.tabWidth : node.indent - 1 + parentIndent, concat$h(getBlockValueLineContents$1(node, {\n parentIndent,\n isLastDescendant,\n options\n }).reduce((reduced, lineWords, index, lineContents) => reduced.concat(index === 0 ? hardline$d : \"\", fill$6(join$c(line$b, lineWords).parts), index !== lineContents.length - 1 ? lineWords.length === 0 ? hardline$d : markAsRoot$5(literalline$7) : node.chomping === \"keep\" && isLastDescendant ? lineWords.length === 0 ? dedentToRoot$3(hardline$d) : dedentToRoot$3(literalline$7) : \"\"), []))))]);\n }\n\n case \"sequence\":\n return join$c(hardline$d, path.map(print, \"children\"));\n\n case \"sequenceItem\":\n return concat$h([\"- \", align$3(2, !node.content ? \"\" : path.call(print, \"content\"))]);\n\n case \"mappingKey\":\n return !node.content ? \"\" : path.call(print, \"content\");\n\n case \"mappingValue\":\n return !node.content ? \"\" : path.call(print, \"content\");\n\n case \"mapping\":\n return join$c(hardline$d, path.map(print, \"children\"));\n\n case \"mappingItem\":\n case \"flowMappingItem\":\n {\n const isEmptyMappingKey = isEmptyNode$1(node.key);\n const isEmptyMappingValue = isEmptyNode$1(node.value);\n\n if (isEmptyMappingKey && isEmptyMappingValue) {\n return concat$h([\": \"]);\n }\n\n const key = path.call(print, \"key\");\n const value = path.call(print, \"value\");\n\n if (isEmptyMappingValue) {\n return node.type === \"flowMappingItem\" && parentNode.type === \"flowMapping\" ? key : node.type === \"mappingItem\" && isAbsolutelyPrintedAsSingleLineNode(node.key.content, options) && !hasTrailingComment$3(node.key.content) && (!parentNode.tag || parentNode.tag.value !== \"tag:yaml.org,2002:set\") ? concat$h([key, needsSpaceInFrontOfMappingValue(node) ? \" \" : \"\", \":\"]) : concat$h([\"? \", align$3(2, key)]);\n }\n\n if (isEmptyMappingKey) {\n return concat$h([\": \", align$3(2, value)]);\n }\n\n const groupId = Symbol(\"mappingKey\");\n const forceExplicitKey = hasLeadingComments$1(node.value) || !isInlineNode(node.key.content);\n return forceExplicitKey ? concat$h([\"? \", align$3(2, key), hardline$d, join$c(\"\", path.map(print, \"value\", \"leadingComments\").map(comment => concat$h([comment, hardline$d]))), \": \", align$3(2, value)]) : // force singleline\n isSingleLineNode(node.key.content) && !hasLeadingComments$1(node.key.content) && !hasMiddleComments$1(node.key.content) && !hasTrailingComment$3(node.key.content) && !hasEndComments$1(node.key) && !hasLeadingComments$1(node.value.content) && !hasMiddleComments$1(node.value.content) && !hasEndComments$1(node.value) && isAbsolutelyPrintedAsSingleLineNode(node.value.content, options) ? concat$h([key, needsSpaceInFrontOfMappingValue(node) ? \" \" : \"\", \": \", value]) : conditionalGroup$2([concat$h([group$g(concat$h([ifBreak$8(\"? \"), group$g(align$3(2, key), {\n id: groupId\n })])), ifBreak$8(concat$h([hardline$d, \": \", align$3(2, value)]), indent(concat$h([needsSpaceInFrontOfMappingValue(node) ? \" \" : \"\", \":\", hasLeadingComments$1(node.value.content) || hasEndComments$1(node.value) && node.value.content && !isNode$1(node.value.content, [\"mapping\", \"sequence\"]) || parentNode.type === \"mapping\" && hasTrailingComment$3(node.key.content) && isInlineNode(node.value.content) || isNode$1(node.value.content, [\"mapping\", \"sequence\"]) && node.value.content.tag === null && node.value.content.anchor === null ? hardline$d : !node.value.content ? \"\" : line$b, value])), {\n groupId\n })])]);\n }\n\n case \"flowMapping\":\n case \"flowSequence\":\n {\n const openMarker = node.type === \"flowMapping\" ? \"{\" : \"[\";\n const closeMarker = node.type === \"flowMapping\" ? \"}\" : \"]\";\n const bracketSpacing = node.type === \"flowMapping\" && node.children.length !== 0 && options.bracketSpacing ? line$b : softline$8;\n\n const isLastItemEmptyMappingItem = node.children.length !== 0 && (lastItem => lastItem.type === \"flowMappingItem\" && isEmptyNode$1(lastItem.key) && isEmptyNode$1(lastItem.value))(getLast$6(node.children));\n\n return concat$h([openMarker, indent(concat$h([bracketSpacing, concat$h(path.map((childPath, index) => concat$h([print(childPath), index === node.children.length - 1 ? \"\" : concat$h([\",\", line$b, node.children[index].position.start.line !== node.children[index + 1].position.start.line ? printNextEmptyLine(childPath, options.originalText) : \"\"])]), \"children\")), ifBreak$8(\",\", \"\")])), isLastItemEmptyMappingItem ? \"\" : bracketSpacing, closeMarker]);\n }\n\n case \"flowSequenceItem\":\n return path.call(print, \"content\");\n // istanbul ignore next\n\n default:\n throw new Error(\"Unexpected node type \".concat(node.type));\n }\n\n function indent(doc) {\n return docBuilders$2.align(\" \".repeat(options.tabWidth), doc);\n }\n }\n\n function align$3(n, doc) {\n return typeof n === \"number\" && n > 0 ? docBuilders$2.align(\" \".repeat(n), doc) : docBuilders$2.align(n, doc);\n }\n\n function isInlineNode(node) {\n if (!node) {\n return true;\n }\n\n switch (node.type) {\n case \"plain\":\n case \"quoteDouble\":\n case \"quoteSingle\":\n case \"alias\":\n case \"flowMapping\":\n case \"flowSequence\":\n return true;\n\n default:\n return false;\n }\n }\n\n function isSingleLineNode(node) {\n if (!node) {\n return true;\n }\n\n switch (node.type) {\n case \"plain\":\n case \"quoteDouble\":\n case \"quoteSingle\":\n return node.position.start.line === node.position.end.line;\n\n case \"alias\":\n return true;\n\n default:\n return false;\n }\n }\n\n function shouldPrintDocumentBody(document) {\n return document.body.children.length !== 0 || hasEndComments$1(document.body);\n }\n\n function shouldPrintDocumentEndMarker(document, nextDocument) {\n return (\n /**\n *... # trailingComment\n */\n hasTrailingComment$3(document) || nextDocument && (\n /**\n * ...\n * %DIRECTIVE\n * ---\n */\n nextDocument.head.children.length !== 0 ||\n /**\n * ...\n * # endComment\n * ---\n */\n hasEndComments$1(nextDocument.head))\n );\n }\n\n function shouldPrintDocumentHeadEndMarker(document, nextDocument, root, options) {\n if (\n /**\n * ---\n * preserve the first document head end marker\n */\n root.children[0] === document && /---(\\s|$)/.test(options.originalText.slice(options.locStart(document), options.locStart(document) + 4)) ||\n /**\n * %DIRECTIVE\n * ---\n */\n document.head.children.length !== 0 ||\n /**\n * # end comment\n * ---\n */\n hasEndComments$1(document.head) ||\n /**\n * --- # trailing comment\n */\n hasTrailingComment$3(document.head)) {\n return \"head\";\n }\n\n if (shouldPrintDocumentEndMarker(document, nextDocument)) {\n return false;\n }\n\n return nextDocument ? \"root\" : false;\n }\n\n function isAbsolutelyPrintedAsSingleLineNode(node, options) {\n if (!node) {\n return true;\n }\n\n switch (node.type) {\n case \"plain\":\n case \"quoteSingle\":\n case \"quoteDouble\":\n break;\n\n case \"alias\":\n return true;\n\n default:\n return false;\n }\n\n if (options.proseWrap === \"preserve\") {\n return node.position.start.line === node.position.end.line;\n }\n\n if ( // backslash-newline\n /\\\\$/m.test(options.originalText.slice(node.position.start.offset, node.position.end.offset))) {\n return false;\n }\n\n switch (options.proseWrap) {\n case \"never\":\n return !node.value.includes(\"\\n\");\n\n case \"always\":\n return !/[\\n ]/.test(node.value);\n // istanbul ignore next\n\n default:\n return false;\n }\n }\n\n function needsSpaceInFrontOfMappingValue(node) {\n return node.key.content && node.key.content.type === \"alias\";\n }\n\n function printNextEmptyLine(path, originalText) {\n const node = path.getValue();\n const root = path.stack[0];\n root.isNextEmptyLinePrintedChecklist = root.isNextEmptyLinePrintedChecklist || [];\n\n if (!root.isNextEmptyLinePrintedChecklist[node.position.end.line]) {\n if (isNextLineEmpty$6(node, originalText)) {\n root.isNextEmptyLinePrintedChecklist[node.position.end.line] = true;\n return softline$8;\n }\n }\n\n return \"\";\n }\n\n function printFlowScalarContent(nodeType, content, options) {\n const lineContents = getFlowScalarLineContents$1(nodeType, content, options);\n return join$c(hardline$d, lineContents.map(lineContentWords => fill$6(join$c(line$b, lineContentWords).parts)));\n }\n\n function clean$7(node, newNode\n /*, parent */\n ) {\n if (isNode$1(newNode)) {\n delete newNode.position;\n\n switch (newNode.type) {\n case \"comment\":\n // insert pragma\n if (isPragma$1(newNode.value)) {\n return null;\n }\n\n break;\n\n case \"quoteDouble\":\n case \"quoteSingle\":\n newNode.type = \"quote\";\n break;\n }\n }\n }\n\n var printerYaml = {\n preprocess: preprocess$3,\n print: genericPrint$6,\n massageAstNode: clean$7,\n insertPragma: insertPragma$9\n };\n\n var options$7 = {\n bracketSpacing: commonOptions.bracketSpacing,\n singleQuote: commonOptions.singleQuote,\n proseWrap: commonOptions.proseWrap\n };\n\n var name$h = \"YAML\";\n var type$g = \"data\";\n var tmScope$g = \"source.yaml\";\n var aliases$6 = [\n \t\"yml\"\n ];\n var extensions$g = [\n \t\".yml\",\n \t\".mir\",\n \t\".reek\",\n \t\".rviz\",\n \t\".sublime-syntax\",\n \t\".syntax\",\n \t\".yaml\",\n \t\".yaml-tmlanguage\",\n \t\".yaml.sed\",\n \t\".yml.mysql\"\n ];\n var filenames$4 = [\n \t\".clang-format\",\n \t\".clang-tidy\",\n \t\".gemrc\",\n \t\"glide.lock\",\n \t\"yarn.lock\"\n ];\n var aceMode$g = \"yaml\";\n var codemirrorMode$c = \"yaml\";\n var codemirrorMimeType$c = \"text/x-yaml\";\n var languageId$g = 407;\n var YAML = {\n \tname: name$h,\n \ttype: type$g,\n \ttmScope: tmScope$g,\n \taliases: aliases$6,\n \textensions: extensions$g,\n \tfilenames: filenames$4,\n \taceMode: aceMode$g,\n \tcodemirrorMode: codemirrorMode$c,\n \tcodemirrorMimeType: codemirrorMimeType$c,\n \tlanguageId: languageId$g\n };\n\n var YAML$1 = /*#__PURE__*/Object.freeze({\n __proto__: null,\n name: name$h,\n type: type$g,\n tmScope: tmScope$g,\n aliases: aliases$6,\n extensions: extensions$g,\n filenames: filenames$4,\n aceMode: aceMode$g,\n codemirrorMode: codemirrorMode$c,\n codemirrorMimeType: codemirrorMimeType$c,\n languageId: languageId$g,\n 'default': YAML\n });\n\n var require$$0$8 = getCjsExportFromNamespace(YAML$1);\n\n const languages$6 = [createLanguage(require$$0$8, data => ({\n since: \"1.14.0\",\n parsers: [\"yaml\"],\n vscodeLanguageIds: [\"yaml\"],\n // yarn.lock is not YAML: https://github.com/yarnpkg/yarn/issues/5629\n filenames: data.filenames.filter(filename => filename !== \"yarn.lock\")\n }))];\n var languageYaml = {\n languages: languages$6,\n printers: {\n yaml: printerYaml\n },\n options: options$7\n };\n\n const {\n version: version$2\n } = require$$0;\n const {\n getSupportInfo: getSupportInfo$2\n } = support;\n const internalPlugins = [languageCss, languageGraphql, languageHandlebars, languageHtml, languageJs, languageMarkdown, languageYaml];\n\n function withPlugins(fn, optsArgIdx = 1 // Usually `opts` is the 2nd argument\n ) {\n return (...args) => {\n const opts = args[optsArgIdx] || {};\n const plugins = opts.plugins || [];\n args[optsArgIdx] = Object.assign({}, opts, {\n plugins: [...internalPlugins, ...(Array.isArray(plugins) ? plugins : Object.values(plugins))]\n });\n return fn(...args);\n };\n }\n\n const formatWithCursor = withPlugins(core.formatWithCursor);\n var standalone = {\n formatWithCursor,\n\n format(text, opts) {\n return formatWithCursor(text, opts).formatted;\n },\n\n check(text, opts) {\n const {\n formatted\n } = formatWithCursor(text, opts);\n return formatted === text;\n },\n\n doc: document,\n getSupportInfo: withPlugins(getSupportInfo$2, 0),\n version: version$2,\n util: utilShared,\n __debug: {\n parse: withPlugins(core.parse),\n formatAST: withPlugins(core.formatAST),\n formatDoc: withPlugins(core.formatDoc),\n printToDoc: withPlugins(core.printToDoc),\n printDocToString: withPlugins(core.printDocToString)\n }\n };\n\n var standalone$1 = standalone;\n\n return standalone$1;\n\n})));\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\n\n/**\n * Module dependencies.\n */\nvar cheerio = require('cheerio');\nvar utils = require('./utils');\n\nvar cheerioLoad = function(html, options, encodeEntities) {\n options = utils.extend({decodeEntities: false}, options || {});\n html = encodeEntities(html);\n return cheerio.load(html,options);\n};\n\nvar createEntityConverters = function () {\n var codeBlockLookup = [];\n\n var encodeCodeBlocks = function(html) {\n var blocks = module.exports.codeBlocks;\n Object.keys(blocks).forEach(function(key) {\n var re = new RegExp(blocks[key].start + '([\\\\S\\\\s]*?)' + blocks[key].end, 'g');\n html = html.replace(re, function(match, subMatch) {\n codeBlockLookup.push(match);\n return 'JUICE_CODE_BLOCK_' + (codeBlockLookup.length - 1) + '_';\n });\n });\n return html;\n };\n\n var decodeCodeBlocks = function(html) {\n for(var index = 0; index < codeBlockLookup.length; index++) {\n var re = new RegExp('JUICE_CODE_BLOCK_' + index + '_(=\"\")?', 'gi');\n html = html.replace(re, function() {\n return codeBlockLookup[index];\n });\n }\n return html;\n };\n\n return {\n encodeEntities: encodeCodeBlocks,\n decodeEntities: decodeCodeBlocks,\n };\n};\n\n/**\n * Parses the input, calls the callback on the parsed DOM, and generates the output\n *\n * @param {String} html input html to be processed\n * @param {Object} options for the parser\n * @param {Function} callback to be invoked on the DOM\n * @param {Array} callbackExtraArguments to be passed to the callback\n * @return {String} resulting html\n */\nmodule.exports = function(html, options, callback, callbackExtraArguments) {\n var entityConverters = createEntityConverters();\n\n var $ = cheerioLoad(html, options, entityConverters.encodeEntities);\n var args = [ $ ];\n args.push.apply(args, callbackExtraArguments);\n var doc = callback.apply(undefined, args) || $;\n\n if (options && options.xmlMode) {\n return entityConverters.decodeEntities(doc.xml());\n }\n return entityConverters.decodeEntities(doc.html());\n};\n\nmodule.exports.codeBlocks = {\n EJS: { start: '<%', end: '%>' },\n HBS: { start: '{{', end: '}}' }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\nfunction map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, baseIteratee(iteratee, 3));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = map;\n","var ElementType = require(\"domelementtype\");\n\nvar re_whitespace = /\\s+/g;\nvar NodePrototype = require(\"./lib/node\");\nvar ElementPrototype = require(\"./lib/element\");\n\nfunction DomHandler(callback, options, elementCB){\n\tif(typeof callback === \"object\"){\n\t\telementCB = options;\n\t\toptions = callback;\n\t\tcallback = null;\n\t} else if(typeof options === \"function\"){\n\t\telementCB = options;\n\t\toptions = defaultOpts;\n\t}\n\tthis._callback = callback;\n\tthis._options = options || defaultOpts;\n\tthis._elementCB = elementCB;\n\tthis.dom = [];\n\tthis._done = false;\n\tthis._tagStack = [];\n\tthis._parser = this._parser || null;\n}\n\n//default options\nvar defaultOpts = {\n\tnormalizeWhitespace: false, //Replace all whitespace with single spaces\n\twithStartIndices: false, //Add startIndex properties to nodes\n\twithEndIndices: false, //Add endIndex properties to nodes\n};\n\nDomHandler.prototype.onparserinit = function(parser){\n\tthis._parser = parser;\n};\n\n//Resets the handler back to starting state\nDomHandler.prototype.onreset = function(){\n\tDomHandler.call(this, this._callback, this._options, this._elementCB);\n};\n\n//Signals the handler that parsing is done\nDomHandler.prototype.onend = function(){\n\tif(this._done) return;\n\tthis._done = true;\n\tthis._parser = null;\n\tthis._handleCallback(null);\n};\n\nDomHandler.prototype._handleCallback =\nDomHandler.prototype.onerror = function(error){\n\tif(typeof this._callback === \"function\"){\n\t\tthis._callback(error, this.dom);\n\t} else {\n\t\tif(error) throw error;\n\t}\n};\n\nDomHandler.prototype.onclosetag = function(){\n\t//if(this._tagStack.pop().name !== name) this._handleCallback(Error(\"Tagname didn't match!\"));\n\t\n\tvar elem = this._tagStack.pop();\n\n\tif(this._options.withEndIndices && elem){\n\t\telem.endIndex = this._parser.endIndex;\n\t}\n\n\tif(this._elementCB) this._elementCB(elem);\n};\n\nDomHandler.prototype._createDomElement = function(properties){\n\tif (!this._options.withDomLvl1) return properties;\n\n\tvar element;\n\tif (properties.type === \"tag\") {\n\t\telement = Object.create(ElementPrototype);\n\t} else {\n\t\telement = Object.create(NodePrototype);\n\t}\n\n\tfor (var key in properties) {\n\t\tif (properties.hasOwnProperty(key)) {\n\t\t\telement[key] = properties[key];\n\t\t}\n\t}\n\n\treturn element;\n};\n\nDomHandler.prototype._addDomElement = function(element){\n\tvar parent = this._tagStack[this._tagStack.length - 1];\n\tvar siblings = parent ? parent.children : this.dom;\n\tvar previousSibling = siblings[siblings.length - 1];\n\n\telement.next = null;\n\n\tif(this._options.withStartIndices){\n\t\telement.startIndex = this._parser.startIndex;\n\t}\n\tif(this._options.withEndIndices){\n\t\telement.endIndex = this._parser.endIndex;\n\t}\n\n\tif(previousSibling){\n\t\telement.prev = previousSibling;\n\t\tpreviousSibling.next = element;\n\t} else {\n\t\telement.prev = null;\n\t}\n\n\tsiblings.push(element);\n\telement.parent = parent || null;\n};\n\nDomHandler.prototype.onopentag = function(name, attribs){\n\tvar properties = {\n\t\ttype: name === \"script\" ? ElementType.Script : name === \"style\" ? ElementType.Style : ElementType.Tag,\n\t\tname: name,\n\t\tattribs: attribs,\n\t\tchildren: []\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.ontext = function(data){\n\t//the ignoreWhitespace is officially dropped, but for now,\n\t//it's an alias for normalizeWhitespace\n\tvar normalize = this._options.normalizeWhitespace || this._options.ignoreWhitespace;\n\n\tvar lastTag;\n\n\tif(!this._tagStack.length && this.dom.length && (lastTag = this.dom[this.dom.length-1]).type === ElementType.Text){\n\t\tif(normalize){\n\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t} else {\n\t\t\tlastTag.data += data;\n\t\t}\n\t} else {\n\t\tif(\n\t\t\tthis._tagStack.length &&\n\t\t\t(lastTag = this._tagStack[this._tagStack.length - 1]) &&\n\t\t\t(lastTag = lastTag.children[lastTag.children.length - 1]) &&\n\t\t\tlastTag.type === ElementType.Text\n\t\t){\n\t\t\tif(normalize){\n\t\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t\t} else {\n\t\t\t\tlastTag.data += data;\n\t\t\t}\n\t\t} else {\n\t\t\tif(normalize){\n\t\t\t\tdata = data.replace(re_whitespace, \" \");\n\t\t\t}\n\n\t\t\tvar element = this._createDomElement({\n\t\t\t\tdata: data,\n\t\t\t\ttype: ElementType.Text\n\t\t\t});\n\n\t\t\tthis._addDomElement(element);\n\t\t}\n\t}\n};\n\nDomHandler.prototype.oncomment = function(data){\n\tvar lastTag = this._tagStack[this._tagStack.length - 1];\n\n\tif(lastTag && lastTag.type === ElementType.Comment){\n\t\tlastTag.data += data;\n\t\treturn;\n\t}\n\n\tvar properties = {\n\t\tdata: data,\n\t\ttype: ElementType.Comment\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncdatastart = function(){\n\tvar properties = {\n\t\tchildren: [{\n\t\t\tdata: \"\",\n\t\t\ttype: ElementType.Text\n\t\t}],\n\t\ttype: ElementType.CDATA\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncommentend = DomHandler.prototype.oncdataend = function(){\n\tthis._tagStack.pop();\n};\n\nDomHandler.prototype.onprocessinginstruction = function(name, data){\n\tvar element = this._createDomElement({\n\t\tname: name,\n\t\tdata: data,\n\t\ttype: ElementType.Directive\n\t});\n\n\tthis._addDomElement(element);\n};\n\nmodule.exports = DomHandler;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.github.io/ecma262/#sec-object.defineproperties\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };","module.exports = {};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nexports.__esModule = true;\nexports.removeResizeListener = exports.addResizeListener = undefined;\n\nvar _resizeObserverPolyfill = require('resize-observer-polyfill');\n\nvar _resizeObserverPolyfill2 = _interopRequireDefault(_resizeObserverPolyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar isServer = typeof window === 'undefined';\n\n/* istanbul ignore next */\nvar resizeHandler = function resizeHandler(entries) {\n for (var _iterator = entries, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) {\n var _ref;\n\n if (_isArray) {\n if (_i >= _iterator.length) break;\n _ref = _iterator[_i++];\n } else {\n _i = _iterator.next();\n if (_i.done) break;\n _ref = _i.value;\n }\n\n var entry = _ref;\n\n var listeners = entry.target.__resizeListeners__ || [];\n if (listeners.length) {\n listeners.forEach(function (fn) {\n fn();\n });\n }\n }\n};\n\n/* istanbul ignore next */\nvar addResizeListener = exports.addResizeListener = function addResizeListener(element, fn) {\n if (isServer) return;\n if (!element.__resizeListeners__) {\n element.__resizeListeners__ = [];\n element.__ro__ = new _resizeObserverPolyfill2.default(resizeHandler);\n element.__ro__.observe(element);\n }\n element.__resizeListeners__.push(fn);\n};\n\n/* istanbul ignore next */\nvar removeResizeListener = exports.removeResizeListener = function removeResizeListener(element, fn) {\n if (!element || !element.__resizeListeners__) return;\n element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);\n if (!element.__resizeListeners__.length) {\n element.__ro__.disconnect();\n }\n};","'use strict';\nvar $ = require('../internals/export');\nvar forEach = require('../internals/array-for-each');\n\n// `Array.prototype.forEach` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.foreach\n$({ target: 'Array', proto: true, forced: [].forEach != forEach }, {\n forEach: forEach\n});\n","'use strict';\n\nexports.__esModule = true;\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _dom = require('element-ui/lib/utils/dom');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar nodeList = [];\nvar ctx = '@@clickoutsideContext';\n\nvar startClick = void 0;\nvar seed = 0;\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mousedown', function (e) {\n return startClick = e;\n});\n\n!_vue2.default.prototype.$isServer && (0, _dom.on)(document, 'mouseup', function (e) {\n nodeList.forEach(function (node) {\n return node[ctx].documentHandler(e, startClick);\n });\n});\n\nfunction createDocumentHandler(el, binding, vnode) {\n return function () {\n var mouseup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var mousedown = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!vnode || !vnode.context || !mouseup.target || !mousedown.target || el.contains(mouseup.target) || el.contains(mousedown.target) || el === mouseup.target || vnode.context.popperElm && (vnode.context.popperElm.contains(mouseup.target) || vnode.context.popperElm.contains(mousedown.target))) return;\n\n if (binding.expression && el[ctx].methodName && vnode.context[el[ctx].methodName]) {\n vnode.context[el[ctx].methodName]();\n } else {\n el[ctx].bindingFn && el[ctx].bindingFn();\n }\n };\n}\n\n/**\n * v-clickoutside\n * @desc 点击元素外面才会触发的事件\n * @example\n * ```vue\n *
    \n * ```\n */\nexports.default = {\n bind: function bind(el, binding, vnode) {\n nodeList.push(el);\n var id = seed++;\n el[ctx] = {\n id: id,\n documentHandler: createDocumentHandler(el, binding, vnode),\n methodName: binding.expression,\n bindingFn: binding.value\n };\n },\n update: function update(el, binding, vnode) {\n el[ctx].documentHandler = createDocumentHandler(el, binding, vnode);\n el[ctx].methodName = binding.expression;\n el[ctx].bindingFn = binding.value;\n },\n unbind: function unbind(el) {\n var len = nodeList.length;\n\n for (var i = 0; i < len; i++) {\n if (nodeList[i][ctx].id === el[ctx].id) {\n nodeList.splice(i, 1);\n break;\n }\n }\n delete el[ctx];\n }\n};","\"use strict\";\n\nexports.__esModule = true;\n\nvar _assign = require(\"../core-js/object/assign\");\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _assign2.default || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexports.isVNode = isVNode;\n\nvar _util = require('element-ui/lib/utils/util');\n\nfunction isVNode(node) {\n return node !== null && (typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object' && (0, _util.hasOwn)(node, 'componentOptions');\n};","var global = require('../internals/global');\n\nmodule.exports = global;\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var parse = require(\"./parse.js\"),\n compile = require(\"./compile.js\");\n\nmodule.exports = function nthCheck(formula){\n\treturn compile(parse(formula));\n};\n\nmodule.exports.parse = parse;\nmodule.exports.compile = compile;","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","'use strict';\n\n/**\n * Module dependencies.\n */\n\nvar mensch = require('mensch');\nvar own = {}.hasOwnProperty;\nvar Selector = require('./selector');\nvar Property = require('./property');\n\nexports.Selector = Selector;\nexports.Property = Property;\n\n/**\n * Returns an array of the selectors.\n *\n * @license Sizzle CSS Selector Engine - MIT\n * @param {String} selectorText from mensch\n * @api public\n */\n\nexports.extract = function extract(selectorText) {\n var attr = 0;\n var sels = [];\n var sel = '';\n\n for (var i = 0, l = selectorText.length; i < l; i++) {\n var c = selectorText.charAt(i);\n\n if (attr) {\n if (']' === c || ')' === c) { attr--; }\n sel += c;\n } else {\n if (',' === c) {\n sels.push(sel);\n sel = '';\n } else {\n if ('[' === c || '(' === c) { attr++; }\n if (sel.length || (c !== ',' && c !== '\\n' && c !== ' ')) { sel += c; }\n }\n }\n }\n\n if (sel.length) {\n sels.push(sel);\n }\n\n return sels;\n};\n\n/**\n * Returns a parse tree for a CSS source.\n * If it encounters multiple selectors separated by a comma, it splits the\n * tree.\n *\n * @param {String} css source\n * @api public\n */\n\nexports.parseCSS = function(css) {\n var parsed = mensch.parse(css, {position: true, comments: true});\n var rules = typeof parsed.stylesheet != 'undefined' && parsed.stylesheet.rules ? parsed.stylesheet.rules : [];\n var ret = [];\n\n for (var i = 0, l = rules.length; i < l; i++) {\n if (rules[i].type == 'rule') {\n var rule = rules[i];\n var selectors = rule.selectors;\n\n for (var ii = 0, ll = selectors.length; ii < ll; ii++) {\n ret.push([selectors[ii], rule.declarations]);\n }\n }\n }\n\n return ret;\n};\n\n/**\n * Returns preserved text for a CSS source.\n *\n * @param {String} css source\n * @param {Object} options\n * @api public\n */\n\nexports.getPreservedText = function(css, options, ignoredPseudos) {\n var parsed = mensch.parse(css, {position: true, comments: true});\n var rules = typeof parsed.stylesheet != 'undefined' && parsed.stylesheet.rules ? parsed.stylesheet.rules : [];\n var preserved = [];\n var lastStart = null;\n\n for (var i = rules.length - 1; i >= 0; i--) {\n if ((options.fontFaces && rules[i].type === 'font-face') ||\n (options.mediaQueries && rules[i].type === 'media') ||\n (options.keyFrames && rules[i].type === 'keyframes') ||\n (options.pseudos && rules[i].selectors && this.matchesPseudo(rules[i].selectors[0], ignoredPseudos))) {\n preserved.unshift(\n mensch.stringify(\n { stylesheet: { rules: [ rules[i] ] }},\n { comments: false, indentation: ' ' }\n )\n );\n }\n lastStart = rules[i].position.start;\n }\n\n if (preserved.length === 0) {\n return false;\n }\n return '\\n' + preserved.join('\\n') + '\\n';\n};\n\nexports.normalizeLineEndings = function(text) {\n return text.replace(/\\r\\n/g, '\\n').replace(/\\n/g, '\\r\\n');\n};\n\nexports.matchesPseudo = function(needle, haystack) {\n return haystack.find(function (element) {\n return needle.indexOf(element) > -1;\n })\n}\n\n/**\n * Compares two specificity vectors, returning the winning one.\n *\n * @param {Array} vector a\n * @param {Array} vector b\n * @return {Array}\n * @api public\n */\n\nexports.compareFunc = function(a, b) {\n var min = Math.min(a.length, b.length);\n for (var i = 0; i < min; i++) {\n if (a[i] === b[i]) { continue; }\n if (a[i] > b[i]) { return 1; }\n return -1;\n }\n\n return a.length - b.length;\n};\n\nexports.compare = function(a, b) {\n return exports.compareFunc(a, b) == 1 ? a : b;\n};\n\nexports.extend = function(obj, src) {\n for (var key in src) {\n if (own.call(src, key)) {\n obj[key] = src[key];\n }\n }\n return obj;\n};\n\nexports.getDefaultOptions = function(options) {\n var result = exports.extend({\n extraCss: '',\n insertPreservedExtraCss: true,\n applyStyleTags: true,\n removeStyleTags: true,\n preserveMediaQueries: true,\n preserveFontFaces: true,\n preserveKeyFrames: true,\n preservePseudos: true,\n applyWidthAttributes: true,\n applyHeightAttributes: true,\n applyAttributesTableElements: true,\n url: ''\n }, options);\n\n result.webResources = result.webResources || {};\n\n return result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","'use strict';\n\nvar cheerio = require('./lib/cheerio');\nvar makeJuiceClient = require('./lib/inline');\n\n/**\n * Note that makeJuiceClient will take a base object (in this case a function) and enhance it\n * with a lot of useful properties and functions.\n *\n * This client adopts cheerio as a DOM parser and adds an \"inlineContent\" function that let\n * users to specify the CSS to be inlined instead of extracting it from the html.\n * \n * The weird \"makeJuiceClient\" behaviour is there in order to keep backward API compatibility.\n */\nvar juiceClient = makeJuiceClient(function(html,options) {\n return cheerio(html, { xmlMode: options && options.xmlMode}, juiceDocument, [options]);\n});\n\nvar juiceDocument = function(html, options) {\n return juiceClient.juiceDocument(html, options);\n}\n\njuiceClient.inlineContent = function(html, css, options) {\n return cheerio(html, { xmlMode: options && options.xmlMode}, juiceClient.inlineDocument, [css, options]);\n};\n\nmodule.exports = juiceClient;\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/dist/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 59);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ 0:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return normalizeComponent; });\n/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nfunction normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n\n\n/***/ }),\n\n/***/ 14:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/scrollbar\");\n\n/***/ }),\n\n/***/ 18:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/checkbox\");\n\n/***/ }),\n\n/***/ 21:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/shared\");\n\n/***/ }),\n\n/***/ 26:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"babel-helper-vue-jsx-merge-props\");\n\n/***/ }),\n\n/***/ 3:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/util\");\n\n/***/ }),\n\n/***/ 31:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/scroll-into-view\");\n\n/***/ }),\n\n/***/ 32:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/aria-utils\");\n\n/***/ }),\n\n/***/ 51:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/radio\");\n\n/***/ }),\n\n/***/ 59:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n\n// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\nvar cascader_panelvue_type_template_id_34932346_render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n {\n class: [\"el-cascader-panel\", _vm.border && \"is-bordered\"],\n on: { keydown: _vm.handleKeyDown }\n },\n _vm._l(_vm.menus, function(menu, index) {\n return _c(\"cascader-menu\", {\n key: index,\n ref: \"menu\",\n refInFor: true,\n attrs: { index: index, nodes: menu }\n })\n }),\n 1\n )\n}\nvar staticRenderFns = []\ncascader_panelvue_type_template_id_34932346_render._withStripped = true\n\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=template&id=34932346&\n\n// EXTERNAL MODULE: external \"babel-helper-vue-jsx-merge-props\"\nvar external_babel_helper_vue_jsx_merge_props_ = __webpack_require__(26);\nvar external_babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(external_babel_helper_vue_jsx_merge_props_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/scrollbar\"\nvar scrollbar_ = __webpack_require__(14);\nvar scrollbar_default = /*#__PURE__*/__webpack_require__.n(scrollbar_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/checkbox\"\nvar checkbox_ = __webpack_require__(18);\nvar checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/radio\"\nvar radio_ = __webpack_require__(51);\nvar radio_default = /*#__PURE__*/__webpack_require__.n(radio_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/util\"\nvar util_ = __webpack_require__(3);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n\n\n\n\n\n\nvar stopPropagation = function stopPropagation(e) {\n return e.stopPropagation();\n};\n\n/* harmony default export */ var cascader_nodevue_type_script_lang_js_ = ({\n inject: ['panel'],\n\n components: {\n ElCheckbox: checkbox_default.a,\n ElRadio: radio_default.a\n },\n\n props: {\n node: {\n required: true\n },\n nodeId: String\n },\n\n computed: {\n config: function config() {\n return this.panel.config;\n },\n isLeaf: function isLeaf() {\n return this.node.isLeaf;\n },\n isDisabled: function isDisabled() {\n return this.node.isDisabled;\n },\n checkedValue: function checkedValue() {\n return this.panel.checkedValue;\n },\n isChecked: function isChecked() {\n return this.node.isSameNode(this.checkedValue);\n },\n inActivePath: function inActivePath() {\n return this.isInPath(this.panel.activePath);\n },\n inCheckedPath: function inCheckedPath() {\n var _this = this;\n\n if (!this.config.checkStrictly) return false;\n\n return this.panel.checkedNodePaths.some(function (checkedPath) {\n return _this.isInPath(checkedPath);\n });\n },\n value: function value() {\n return this.node.getValueByOption();\n }\n },\n\n methods: {\n handleExpand: function handleExpand() {\n var _this2 = this;\n\n var panel = this.panel,\n node = this.node,\n isDisabled = this.isDisabled,\n config = this.config;\n var multiple = config.multiple,\n checkStrictly = config.checkStrictly;\n\n\n if (!checkStrictly && isDisabled || node.loading) return;\n\n if (config.lazy && !node.loaded) {\n panel.lazyLoad(node, function () {\n // do not use cached leaf value here, invoke this.isLeaf to get new value.\n var isLeaf = _this2.isLeaf;\n\n\n if (!isLeaf) _this2.handleExpand();\n if (multiple) {\n // if leaf sync checked state, else clear checked state\n var checked = isLeaf ? node.checked : false;\n _this2.handleMultiCheckChange(checked);\n }\n });\n } else {\n panel.handleExpand(node);\n }\n },\n handleCheckChange: function handleCheckChange() {\n var panel = this.panel,\n value = this.value,\n node = this.node;\n\n panel.handleCheckChange(value);\n panel.handleExpand(node);\n },\n handleMultiCheckChange: function handleMultiCheckChange(checked) {\n this.node.doCheck(checked);\n this.panel.calculateMultiCheckedValue();\n },\n isInPath: function isInPath(pathNodes) {\n var node = this.node;\n\n var selectedPathNode = pathNodes[node.level - 1] || {};\n return selectedPathNode.uid === node.uid;\n },\n renderPrefix: function renderPrefix(h) {\n var isLeaf = this.isLeaf,\n isChecked = this.isChecked,\n config = this.config;\n var checkStrictly = config.checkStrictly,\n multiple = config.multiple;\n\n\n if (multiple) {\n return this.renderCheckbox(h);\n } else if (checkStrictly) {\n return this.renderRadio(h);\n } else if (isLeaf && isChecked) {\n return this.renderCheckIcon(h);\n }\n\n return null;\n },\n renderPostfix: function renderPostfix(h) {\n var node = this.node,\n isLeaf = this.isLeaf;\n\n\n if (node.loading) {\n return this.renderLoadingIcon(h);\n } else if (!isLeaf) {\n return this.renderExpandIcon(h);\n }\n\n return null;\n },\n renderCheckbox: function renderCheckbox(h) {\n var node = this.node,\n config = this.config,\n isDisabled = this.isDisabled;\n\n var events = {\n on: { change: this.handleMultiCheckChange },\n nativeOn: {}\n };\n\n if (config.checkStrictly) {\n // when every node is selectable, click event should not trigger expand event.\n events.nativeOn.click = stopPropagation;\n }\n\n return h('el-checkbox', external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n value: node.checked,\n indeterminate: node.indeterminate,\n disabled: isDisabled\n }\n }, events]));\n },\n renderRadio: function renderRadio(h) {\n var checkedValue = this.checkedValue,\n value = this.value,\n isDisabled = this.isDisabled;\n\n // to keep same reference if value cause radio's checked state is calculated by reference comparision;\n\n if (Object(util_[\"isEqual\"])(value, checkedValue)) {\n value = checkedValue;\n }\n\n return h(\n 'el-radio',\n {\n attrs: {\n value: checkedValue,\n label: value,\n disabled: isDisabled\n },\n on: {\n 'change': this.handleCheckChange\n },\n nativeOn: {\n 'click': stopPropagation\n }\n },\n [h('span')]\n );\n },\n renderCheckIcon: function renderCheckIcon(h) {\n return h('i', { 'class': 'el-icon-check el-cascader-node__prefix' });\n },\n renderLoadingIcon: function renderLoadingIcon(h) {\n return h('i', { 'class': 'el-icon-loading el-cascader-node__postfix' });\n },\n renderExpandIcon: function renderExpandIcon(h) {\n return h('i', { 'class': 'el-icon-arrow-right el-cascader-node__postfix' });\n },\n renderContent: function renderContent(h) {\n var panel = this.panel,\n node = this.node;\n\n var render = panel.renderLabelFn;\n var vnode = render ? render({ node: node, data: node.data }) : null;\n\n return h(\n 'span',\n { 'class': 'el-cascader-node__label' },\n [vnode || node.label]\n );\n }\n },\n\n render: function render(h) {\n var _this3 = this;\n\n var inActivePath = this.inActivePath,\n inCheckedPath = this.inCheckedPath,\n isChecked = this.isChecked,\n isLeaf = this.isLeaf,\n isDisabled = this.isDisabled,\n config = this.config,\n nodeId = this.nodeId;\n var expandTrigger = config.expandTrigger,\n checkStrictly = config.checkStrictly,\n multiple = config.multiple;\n\n var disabled = !checkStrictly && isDisabled;\n var events = { on: {} };\n\n if (expandTrigger === 'click') {\n events.on.click = this.handleExpand;\n } else {\n events.on.mouseenter = function (e) {\n _this3.handleExpand();\n _this3.$emit('expand', e);\n };\n events.on.focus = function (e) {\n _this3.handleExpand();\n _this3.$emit('expand', e);\n };\n }\n if (isLeaf && !isDisabled && !checkStrictly && !multiple) {\n events.on.click = this.handleCheckChange;\n }\n\n return h(\n 'li',\n external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n role: 'menuitem',\n id: nodeId,\n 'aria-expanded': inActivePath,\n tabindex: disabled ? null : -1\n },\n 'class': {\n 'el-cascader-node': true,\n 'is-selectable': checkStrictly,\n 'in-active-path': inActivePath,\n 'in-checked-path': inCheckedPath,\n 'is-active': isChecked,\n 'is-disabled': disabled\n }\n }, events]),\n [this.renderPrefix(h), this.renderContent(h), this.renderPostfix(h)]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_nodevue_type_script_lang_js_ = (cascader_nodevue_type_script_lang_js_); \n// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js\nvar componentNormalizer = __webpack_require__(0);\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-node.vue\nvar cascader_node_render, cascader_node_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_nodevue_type_script_lang_js_,\n cascader_node_render,\n cascader_node_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var api; }\ncomponent.options.__file = \"packages/cascader-panel/src/cascader-node.vue\"\n/* harmony default export */ var cascader_node = (component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/mixins/locale\"\nvar locale_ = __webpack_require__(6);\nvar locale_default = /*#__PURE__*/__webpack_require__.n(locale_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n\n\n\n\n\n\n\n/* harmony default export */ var cascader_menuvue_type_script_lang_js_ = ({\n name: 'ElCascaderMenu',\n\n mixins: [locale_default.a],\n\n inject: ['panel'],\n\n components: {\n ElScrollbar: scrollbar_default.a,\n CascaderNode: cascader_node\n },\n\n props: {\n nodes: {\n type: Array,\n required: true\n },\n index: Number\n },\n\n data: function data() {\n return {\n activeNode: null,\n hoverTimer: null,\n id: Object(util_[\"generateId\"])()\n };\n },\n\n\n computed: {\n isEmpty: function isEmpty() {\n return !this.nodes.length;\n },\n menuId: function menuId() {\n return 'cascader-menu-' + this.id + '-' + this.index;\n }\n },\n\n methods: {\n handleExpand: function handleExpand(e) {\n this.activeNode = e.target;\n },\n handleMouseMove: function handleMouseMove(e) {\n var activeNode = this.activeNode,\n hoverTimer = this.hoverTimer;\n var hoverZone = this.$refs.hoverZone;\n\n\n if (!activeNode || !hoverZone) return;\n\n if (activeNode.contains(e.target)) {\n clearTimeout(hoverTimer);\n\n var _$el$getBoundingClien = this.$el.getBoundingClientRect(),\n left = _$el$getBoundingClien.left;\n\n var startX = e.clientX - left;\n var _$el = this.$el,\n offsetWidth = _$el.offsetWidth,\n offsetHeight = _$el.offsetHeight;\n\n var top = activeNode.offsetTop;\n var bottom = top + activeNode.offsetHeight;\n\n hoverZone.innerHTML = '\\n \\n \\n ';\n } else if (!hoverTimer) {\n this.hoverTimer = setTimeout(this.clearHoverZone, this.panel.config.hoverThreshold);\n }\n },\n clearHoverZone: function clearHoverZone() {\n var hoverZone = this.$refs.hoverZone;\n\n if (!hoverZone) return;\n hoverZone.innerHTML = '';\n },\n renderEmptyText: function renderEmptyText(h) {\n return h(\n 'div',\n { 'class': 'el-cascader-menu__empty-text' },\n [this.t('el.cascader.noData')]\n );\n },\n renderNodeList: function renderNodeList(h) {\n var menuId = this.menuId;\n var isHoverMenu = this.panel.isHoverMenu;\n\n var events = { on: {} };\n\n if (isHoverMenu) {\n events.on.expand = this.handleExpand;\n }\n\n var nodes = this.nodes.map(function (node, index) {\n var hasChildren = node.hasChildren;\n\n return h('cascader-node', external_babel_helper_vue_jsx_merge_props_default()([{\n key: node.uid,\n attrs: { node: node,\n 'node-id': menuId + '-' + index,\n 'aria-haspopup': hasChildren,\n 'aria-owns': hasChildren ? menuId : null\n }\n }, events]));\n });\n\n return [].concat(nodes, [isHoverMenu ? h('svg', { ref: 'hoverZone', 'class': 'el-cascader-menu__hover-zone' }) : null]);\n }\n },\n\n render: function render(h) {\n var isEmpty = this.isEmpty,\n menuId = this.menuId;\n\n var events = { nativeOn: {} };\n\n // optimize hover to expand experience (#8010)\n if (this.panel.isHoverMenu) {\n events.nativeOn.mousemove = this.handleMouseMove;\n // events.nativeOn.mouseleave = this.clearHoverZone;\n }\n\n return h(\n 'el-scrollbar',\n external_babel_helper_vue_jsx_merge_props_default()([{\n attrs: {\n tag: 'ul',\n role: 'menu',\n id: menuId,\n\n 'wrap-class': 'el-cascader-menu__wrap',\n 'view-class': {\n 'el-cascader-menu__list': true,\n 'is-empty': isEmpty\n }\n },\n 'class': 'el-cascader-menu' }, events]),\n [isEmpty ? this.renderEmptyText(h) : this.renderNodeList(h)]\n );\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_menuvue_type_script_lang_js_ = (cascader_menuvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-menu.vue\nvar cascader_menu_render, cascader_menu_staticRenderFns\n\n\n\n\n/* normalize component */\n\nvar cascader_menu_component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_menuvue_type_script_lang_js_,\n cascader_menu_render,\n cascader_menu_staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var cascader_menu_api; }\ncascader_menu_component.options.__file = \"packages/cascader-panel/src/cascader-menu.vue\"\n/* harmony default export */ var cascader_menu = (cascader_menu_component.exports);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/shared\"\nvar shared_ = __webpack_require__(21);\n\n// CONCATENATED MODULE: ./packages/cascader-panel/src/node.js\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar uid = 0;\n\nvar node_Node = function () {\n function Node(data, config, parentNode) {\n _classCallCheck(this, Node);\n\n this.data = data;\n this.config = config;\n this.parent = parentNode || null;\n this.level = !this.parent ? 1 : this.parent.level + 1;\n this.uid = uid++;\n\n this.initState();\n this.initChildren();\n }\n\n Node.prototype.initState = function initState() {\n var _config = this.config,\n valueKey = _config.value,\n labelKey = _config.label;\n\n\n this.value = this.data[valueKey];\n this.label = this.data[labelKey];\n this.pathNodes = this.calculatePathNodes();\n this.path = this.pathNodes.map(function (node) {\n return node.value;\n });\n this.pathLabels = this.pathNodes.map(function (node) {\n return node.label;\n });\n\n // lazy load\n this.loading = false;\n this.loaded = false;\n };\n\n Node.prototype.initChildren = function initChildren() {\n var _this = this;\n\n var config = this.config;\n\n var childrenKey = config.children;\n var childrenData = this.data[childrenKey];\n this.hasChildren = Array.isArray(childrenData);\n this.children = (childrenData || []).map(function (child) {\n return new Node(child, config, _this);\n });\n };\n\n Node.prototype.calculatePathNodes = function calculatePathNodes() {\n var nodes = [this];\n var parent = this.parent;\n\n while (parent) {\n nodes.unshift(parent);\n parent = parent.parent;\n }\n\n return nodes;\n };\n\n Node.prototype.getPath = function getPath() {\n return this.path;\n };\n\n Node.prototype.getValue = function getValue() {\n return this.value;\n };\n\n Node.prototype.getValueByOption = function getValueByOption() {\n return this.config.emitPath ? this.getPath() : this.getValue();\n };\n\n Node.prototype.getText = function getText(allLevels, separator) {\n return allLevels ? this.pathLabels.join(separator) : this.label;\n };\n\n Node.prototype.isSameNode = function isSameNode(checkedValue) {\n var value = this.getValueByOption();\n return this.config.multiple && Array.isArray(checkedValue) ? checkedValue.some(function (val) {\n return Object(util_[\"isEqual\"])(val, value);\n }) : Object(util_[\"isEqual\"])(checkedValue, value);\n };\n\n Node.prototype.broadcast = function broadcast(event) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var handlerName = 'onParent' + Object(util_[\"capitalize\"])(event);\n\n this.children.forEach(function (child) {\n if (child) {\n // bottom up\n child.broadcast.apply(child, [event].concat(args));\n child[handlerName] && child[handlerName].apply(child, args);\n }\n });\n };\n\n Node.prototype.emit = function emit(event) {\n var parent = this.parent;\n\n var handlerName = 'onChild' + Object(util_[\"capitalize\"])(event);\n if (parent) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n parent[handlerName] && parent[handlerName].apply(parent, args);\n parent.emit.apply(parent, [event].concat(args));\n }\n };\n\n Node.prototype.onParentCheck = function onParentCheck(checked) {\n if (!this.isDisabled) {\n this.setCheckState(checked);\n }\n };\n\n Node.prototype.onChildCheck = function onChildCheck() {\n var children = this.children;\n\n var validChildren = children.filter(function (child) {\n return !child.isDisabled;\n });\n var checked = validChildren.length ? validChildren.every(function (child) {\n return child.checked;\n }) : false;\n\n this.setCheckState(checked);\n };\n\n Node.prototype.setCheckState = function setCheckState(checked) {\n var totalNum = this.children.length;\n var checkedNum = this.children.reduce(function (c, p) {\n var num = p.checked ? 1 : p.indeterminate ? 0.5 : 0;\n return c + num;\n }, 0);\n\n this.checked = checked;\n this.indeterminate = checkedNum !== totalNum && checkedNum > 0;\n };\n\n Node.prototype.syncCheckState = function syncCheckState(checkedValue) {\n var value = this.getValueByOption();\n var checked = this.isSameNode(checkedValue, value);\n\n this.doCheck(checked);\n };\n\n Node.prototype.doCheck = function doCheck(checked) {\n if (this.checked !== checked) {\n if (this.config.checkStrictly) {\n this.checked = checked;\n } else {\n // bottom up to unify the calculation of the indeterminate state\n this.broadcast('check', checked);\n this.setCheckState(checked);\n this.emit('check');\n }\n }\n };\n\n _createClass(Node, [{\n key: 'isDisabled',\n get: function get() {\n var data = this.data,\n parent = this.parent,\n config = this.config;\n\n var disabledKey = config.disabled;\n var checkStrictly = config.checkStrictly;\n\n return data[disabledKey] || !checkStrictly && parent && parent.isDisabled;\n }\n }, {\n key: 'isLeaf',\n get: function get() {\n var data = this.data,\n loaded = this.loaded,\n hasChildren = this.hasChildren,\n children = this.children;\n var _config2 = this.config,\n lazy = _config2.lazy,\n leafKey = _config2.leaf;\n\n if (lazy) {\n var isLeaf = Object(shared_[\"isDef\"])(data[leafKey]) ? data[leafKey] : loaded ? !children.length : false;\n this.hasChildren = !isLeaf;\n return isLeaf;\n }\n return !hasChildren;\n }\n }]);\n\n return Node;\n}();\n\n/* harmony default export */ var src_node = (node_Node);\n// CONCATENATED MODULE: ./packages/cascader-panel/src/store.js\nfunction store_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n\n\n\nvar flatNodes = function flatNodes(data, leafOnly) {\n return data.reduce(function (res, node) {\n if (node.isLeaf) {\n res.push(node);\n } else {\n !leafOnly && res.push(node);\n res = res.concat(flatNodes(node.children, leafOnly));\n }\n return res;\n }, []);\n};\n\nvar store_Store = function () {\n function Store(data, config) {\n store_classCallCheck(this, Store);\n\n this.config = config;\n this.initNodes(data);\n }\n\n Store.prototype.initNodes = function initNodes(data) {\n var _this = this;\n\n data = Object(util_[\"coerceTruthyValueToArray\"])(data);\n this.nodes = data.map(function (nodeData) {\n return new src_node(nodeData, _this.config);\n });\n this.flattedNodes = this.getFlattedNodes(false, false);\n this.leafNodes = this.getFlattedNodes(true, false);\n };\n\n Store.prototype.appendNode = function appendNode(nodeData, parentNode) {\n var node = new src_node(nodeData, this.config, parentNode);\n var children = parentNode ? parentNode.children : this.nodes;\n\n children.push(node);\n };\n\n Store.prototype.appendNodes = function appendNodes(nodeDataList, parentNode) {\n var _this2 = this;\n\n nodeDataList = Object(util_[\"coerceTruthyValueToArray\"])(nodeDataList);\n nodeDataList.forEach(function (nodeData) {\n return _this2.appendNode(nodeData, parentNode);\n });\n };\n\n Store.prototype.getNodes = function getNodes() {\n return this.nodes;\n };\n\n Store.prototype.getFlattedNodes = function getFlattedNodes(leafOnly) {\n var cached = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var cachedNodes = leafOnly ? this.leafNodes : this.flattedNodes;\n return cached ? cachedNodes : flatNodes(this.nodes, leafOnly);\n };\n\n Store.prototype.getNodeByValue = function getNodeByValue(value) {\n if (value) {\n var nodes = this.getFlattedNodes(false, !this.config.lazy).filter(function (node) {\n return Object(util_[\"valueEquals\"])(node.path, value) || node.value === value;\n });\n return nodes && nodes.length ? nodes[0] : null;\n }\n return null;\n };\n\n return Store;\n}();\n\n/* harmony default export */ var src_store = (store_Store);\n// EXTERNAL MODULE: external \"element-ui/lib/utils/merge\"\nvar merge_ = __webpack_require__(9);\nvar merge_default = /*#__PURE__*/__webpack_require__.n(merge_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/aria-utils\"\nvar aria_utils_ = __webpack_require__(32);\nvar aria_utils_default = /*#__PURE__*/__webpack_require__.n(aria_utils_);\n\n// EXTERNAL MODULE: external \"element-ui/lib/utils/scroll-into-view\"\nvar scroll_into_view_ = __webpack_require__(31);\nvar scroll_into_view_default = /*#__PURE__*/__webpack_require__.n(scroll_into_view_);\n\n// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\n\n\n\n\n\nvar KeyCode = aria_utils_default.a.keys;\n\nvar DefaultProps = {\n expandTrigger: 'click', // or hover\n multiple: false,\n checkStrictly: false, // whether all nodes can be selected\n emitPath: true, // wether to emit an array of all levels value in which node is located\n lazy: false,\n lazyLoad: util_[\"noop\"],\n value: 'value',\n label: 'label',\n children: 'children',\n leaf: 'leaf',\n disabled: 'disabled',\n hoverThreshold: 500\n};\n\nvar cascader_panelvue_type_script_lang_js_isLeaf = function isLeaf(el) {\n return !el.getAttribute('aria-owns');\n};\n\nvar getSibling = function getSibling(el, distance) {\n var parentNode = el.parentNode;\n\n if (parentNode) {\n var siblings = parentNode.querySelectorAll('.el-cascader-node[tabindex=\"-1\"]');\n var index = Array.prototype.indexOf.call(siblings, el);\n return siblings[index + distance] || null;\n }\n return null;\n};\n\nvar getMenuIndex = function getMenuIndex(el, distance) {\n if (!el) return;\n var pieces = el.id.split('-');\n return Number(pieces[pieces.length - 2]);\n};\n\nvar focusNode = function focusNode(el) {\n if (!el) return;\n el.focus();\n !cascader_panelvue_type_script_lang_js_isLeaf(el) && el.click();\n};\n\nvar checkNode = function checkNode(el) {\n if (!el) return;\n\n var input = el.querySelector('input');\n if (input) {\n input.click();\n } else if (cascader_panelvue_type_script_lang_js_isLeaf(el)) {\n el.click();\n }\n};\n\n/* harmony default export */ var cascader_panelvue_type_script_lang_js_ = ({\n name: 'ElCascaderPanel',\n\n components: {\n CascaderMenu: cascader_menu\n },\n\n props: {\n value: {},\n options: Array,\n props: Object,\n border: {\n type: Boolean,\n default: true\n },\n renderLabel: Function\n },\n\n provide: function provide() {\n return {\n panel: this\n };\n },\n data: function data() {\n return {\n checkedValue: null,\n checkedNodePaths: [],\n store: [],\n menus: [],\n activePath: [],\n loadCount: 0\n };\n },\n\n\n computed: {\n config: function config() {\n return merge_default()(_extends({}, DefaultProps), this.props || {});\n },\n multiple: function multiple() {\n return this.config.multiple;\n },\n checkStrictly: function checkStrictly() {\n return this.config.checkStrictly;\n },\n leafOnly: function leafOnly() {\n return !this.checkStrictly;\n },\n isHoverMenu: function isHoverMenu() {\n return this.config.expandTrigger === 'hover';\n },\n renderLabelFn: function renderLabelFn() {\n return this.renderLabel || this.$scopedSlots.default;\n }\n },\n\n watch: {\n options: {\n handler: function handler() {\n this.initStore();\n },\n immediate: true,\n deep: true\n },\n value: function value() {\n this.syncCheckedValue();\n this.checkStrictly && this.calculateCheckedNodePaths();\n },\n checkedValue: function checkedValue(val) {\n if (!Object(util_[\"isEqual\"])(val, this.value)) {\n this.checkStrictly && this.calculateCheckedNodePaths();\n this.$emit('input', val);\n this.$emit('change', val);\n }\n }\n },\n\n mounted: function mounted() {\n if (!Object(util_[\"isEmpty\"])(this.value)) {\n this.syncCheckedValue();\n }\n },\n\n\n methods: {\n initStore: function initStore() {\n var config = this.config,\n options = this.options;\n\n if (config.lazy && Object(util_[\"isEmpty\"])(options)) {\n this.lazyLoad();\n } else {\n this.store = new src_store(options, config);\n this.menus = [this.store.getNodes()];\n this.syncMenuState();\n }\n },\n syncCheckedValue: function syncCheckedValue() {\n var value = this.value,\n checkedValue = this.checkedValue;\n\n if (!Object(util_[\"isEqual\"])(value, checkedValue)) {\n this.checkedValue = value;\n this.syncMenuState();\n }\n },\n syncMenuState: function syncMenuState() {\n var multiple = this.multiple,\n checkStrictly = this.checkStrictly;\n\n this.syncActivePath();\n multiple && this.syncMultiCheckState();\n checkStrictly && this.calculateCheckedNodePaths();\n this.$nextTick(this.scrollIntoView);\n },\n syncMultiCheckState: function syncMultiCheckState() {\n var _this = this;\n\n var nodes = this.getFlattedNodes(this.leafOnly);\n\n nodes.forEach(function (node) {\n node.syncCheckState(_this.checkedValue);\n });\n },\n syncActivePath: function syncActivePath() {\n var _this2 = this;\n\n var store = this.store,\n multiple = this.multiple,\n activePath = this.activePath,\n checkedValue = this.checkedValue;\n\n\n if (!Object(util_[\"isEmpty\"])(activePath)) {\n var nodes = activePath.map(function (node) {\n return _this2.getNodeByValue(node.getValue());\n });\n this.expandNodes(nodes);\n } else if (!Object(util_[\"isEmpty\"])(checkedValue)) {\n var value = multiple ? checkedValue[0] : checkedValue;\n var checkedNode = this.getNodeByValue(value) || {};\n var _nodes = (checkedNode.pathNodes || []).slice(0, -1);\n this.expandNodes(_nodes);\n } else {\n this.activePath = [];\n this.menus = [store.getNodes()];\n }\n },\n expandNodes: function expandNodes(nodes) {\n var _this3 = this;\n\n nodes.forEach(function (node) {\n return _this3.handleExpand(node, true /* silent */);\n });\n },\n calculateCheckedNodePaths: function calculateCheckedNodePaths() {\n var _this4 = this;\n\n var checkedValue = this.checkedValue,\n multiple = this.multiple;\n\n var checkedValues = multiple ? Object(util_[\"coerceTruthyValueToArray\"])(checkedValue) : [checkedValue];\n this.checkedNodePaths = checkedValues.map(function (v) {\n var checkedNode = _this4.getNodeByValue(v);\n return checkedNode ? checkedNode.pathNodes : [];\n });\n },\n handleKeyDown: function handleKeyDown(e) {\n var target = e.target,\n keyCode = e.keyCode;\n\n\n switch (keyCode) {\n case KeyCode.up:\n var prev = getSibling(target, -1);\n focusNode(prev);\n break;\n case KeyCode.down:\n var next = getSibling(target, 1);\n focusNode(next);\n break;\n case KeyCode.left:\n var preMenu = this.$refs.menu[getMenuIndex(target) - 1];\n if (preMenu) {\n var expandedNode = preMenu.$el.querySelector('.el-cascader-node[aria-expanded=\"true\"]');\n focusNode(expandedNode);\n }\n break;\n case KeyCode.right:\n var nextMenu = this.$refs.menu[getMenuIndex(target) + 1];\n if (nextMenu) {\n var firstNode = nextMenu.$el.querySelector('.el-cascader-node[tabindex=\"-1\"]');\n focusNode(firstNode);\n }\n break;\n case KeyCode.enter:\n checkNode(target);\n break;\n case KeyCode.esc:\n case KeyCode.tab:\n this.$emit('close');\n break;\n default:\n return;\n }\n },\n handleExpand: function handleExpand(node, silent) {\n var activePath = this.activePath;\n var level = node.level;\n\n var path = activePath.slice(0, level - 1);\n var menus = this.menus.slice(0, level);\n\n if (!node.isLeaf) {\n path.push(node);\n menus.push(node.children);\n }\n\n this.activePath = path;\n this.menus = menus;\n\n if (!silent) {\n var pathValues = path.map(function (node) {\n return node.getValue();\n });\n var activePathValues = activePath.map(function (node) {\n return node.getValue();\n });\n if (!Object(util_[\"valueEquals\"])(pathValues, activePathValues)) {\n this.$emit('active-item-change', pathValues); // Deprecated\n this.$emit('expand-change', pathValues);\n }\n }\n },\n handleCheckChange: function handleCheckChange(value) {\n this.checkedValue = value;\n },\n lazyLoad: function lazyLoad(node, onFullfiled) {\n var _this5 = this;\n\n var config = this.config;\n\n if (!node) {\n node = node || { root: true, level: 0 };\n this.store = new src_store([], config);\n this.menus = [this.store.getNodes()];\n }\n node.loading = true;\n var resolve = function resolve(dataList) {\n var parent = node.root ? null : node;\n dataList && dataList.length && _this5.store.appendNodes(dataList, parent);\n node.loading = false;\n node.loaded = true;\n\n // dispose default value on lazy load mode\n if (Array.isArray(_this5.checkedValue)) {\n var nodeValue = _this5.checkedValue[_this5.loadCount++];\n var valueKey = _this5.config.value;\n var leafKey = _this5.config.leaf;\n\n if (Array.isArray(dataList) && dataList.filter(function (item) {\n return item[valueKey] === nodeValue;\n }).length > 0) {\n var checkedNode = _this5.store.getNodeByValue(nodeValue);\n\n if (!checkedNode.data[leafKey]) {\n _this5.lazyLoad(checkedNode, function () {\n _this5.handleExpand(checkedNode);\n });\n }\n\n if (_this5.loadCount === _this5.checkedValue.length) {\n _this5.$parent.computePresentText();\n }\n }\n }\n\n onFullfiled && onFullfiled(dataList);\n };\n config.lazyLoad(node, resolve);\n },\n\n\n /**\n * public methods\n */\n calculateMultiCheckedValue: function calculateMultiCheckedValue() {\n this.checkedValue = this.getCheckedNodes(this.leafOnly).map(function (node) {\n return node.getValueByOption();\n });\n },\n scrollIntoView: function scrollIntoView() {\n if (this.$isServer) return;\n\n var menus = this.$refs.menu || [];\n menus.forEach(function (menu) {\n var menuElement = menu.$el;\n if (menuElement) {\n var container = menuElement.querySelector('.el-scrollbar__wrap');\n var activeNode = menuElement.querySelector('.el-cascader-node.is-active') || menuElement.querySelector('.el-cascader-node.in-active-path');\n scroll_into_view_default()(container, activeNode);\n }\n });\n },\n getNodeByValue: function getNodeByValue(val) {\n return this.store.getNodeByValue(val);\n },\n getFlattedNodes: function getFlattedNodes(leafOnly) {\n var cached = !this.config.lazy;\n return this.store.getFlattedNodes(leafOnly, cached);\n },\n getCheckedNodes: function getCheckedNodes(leafOnly) {\n var checkedValue = this.checkedValue,\n multiple = this.multiple;\n\n if (multiple) {\n var nodes = this.getFlattedNodes(leafOnly);\n return nodes.filter(function (node) {\n return node.checked;\n });\n } else {\n return Object(util_[\"isEmpty\"])(checkedValue) ? [] : [this.getNodeByValue(checkedValue)];\n }\n },\n clearCheckedNodes: function clearCheckedNodes() {\n var config = this.config,\n leafOnly = this.leafOnly;\n var multiple = config.multiple,\n emitPath = config.emitPath;\n\n if (multiple) {\n this.getCheckedNodes(leafOnly).filter(function (node) {\n return !node.isDisabled;\n }).forEach(function (node) {\n return node.doCheck(false);\n });\n this.calculateMultiCheckedValue();\n } else {\n this.checkedValue = emitPath ? [] : null;\n }\n }\n }\n});\n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue?vue&type=script&lang=js&\n /* harmony default export */ var src_cascader_panelvue_type_script_lang_js_ = (cascader_panelvue_type_script_lang_js_); \n// CONCATENATED MODULE: ./packages/cascader-panel/src/cascader-panel.vue\n\n\n\n\n\n/* normalize component */\n\nvar cascader_panel_component = Object(componentNormalizer[\"a\" /* default */])(\n src_cascader_panelvue_type_script_lang_js_,\n cascader_panelvue_type_template_id_34932346_render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n/* hot reload */\nif (false) { var cascader_panel_api; }\ncascader_panel_component.options.__file = \"packages/cascader-panel/src/cascader-panel.vue\"\n/* harmony default export */ var cascader_panel = (cascader_panel_component.exports);\n// CONCATENATED MODULE: ./packages/cascader-panel/index.js\n\n\n/* istanbul ignore next */\ncascader_panel.install = function (Vue) {\n Vue.component(cascader_panel.name, cascader_panel);\n};\n\n/* harmony default export */ var packages_cascader_panel = __webpack_exports__[\"default\"] = (cascader_panel);\n\n/***/ }),\n\n/***/ 6:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/mixins/locale\");\n\n/***/ }),\n\n/***/ 9:\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"element-ui/lib/utils/merge\");\n\n/***/ })\n\n/******/ });","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.github.io/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array ? array.length : 0;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = reduce;\n","'use strict';\n\nexports.__esModule = true;\nexports.i18n = exports.use = exports.t = undefined;\n\nvar _zhCN = require('element-ui/lib/locale/lang/zh-CN');\n\nvar _zhCN2 = _interopRequireDefault(_zhCN);\n\nvar _vue = require('vue');\n\nvar _vue2 = _interopRequireDefault(_vue);\n\nvar _deepmerge = require('deepmerge');\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _format = require('./format');\n\nvar _format2 = _interopRequireDefault(_format);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar format = (0, _format2.default)(_vue2.default);\nvar lang = _zhCN2.default;\nvar merged = false;\nvar i18nHandler = function i18nHandler() {\n var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t;\n if (typeof vuei18n === 'function' && !!_vue2.default.locale) {\n if (!merged) {\n merged = true;\n _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { clone: true }));\n }\n return vuei18n.apply(this, arguments);\n }\n};\n\nvar t = exports.t = function t(path, options) {\n var value = i18nHandler.apply(this, arguments);\n if (value !== null && value !== undefined) return value;\n\n var array = path.split('.');\n var current = lang;\n\n for (var i = 0, j = array.length; i < j; i++) {\n var property = array[i];\n value = current[property];\n if (i === j - 1) return format(value, options);\n if (!value) return '';\n current = value;\n }\n return '';\n};\n\nvar use = exports.use = function use(l) {\n lang = l || lang;\n};\n\nvar i18n = exports.i18n = function i18n(fn) {\n i18nHandler = fn || i18nHandler;\n};\n\nexports.default = { use: use, t: t, i18n: i18n };","'use strict';\n\nvar utils = require('./utils');\n\nmodule.exports = function makeJuiceClient(juiceClient) {\n\njuiceClient.ignoredPseudos = ['hover', 'active', 'focus', 'visited', 'link'];\njuiceClient.widthElements = ['TABLE', 'TD', 'TH', 'IMG'];\njuiceClient.heightElements = ['TABLE', 'TD', 'TH', 'IMG'];\njuiceClient.tableElements = ['TABLE', 'TH', 'TR', 'TD', 'CAPTION', 'COLGROUP', 'COL', 'THEAD', 'TBODY', 'TFOOT'];\njuiceClient.nonVisualElements = [ 'HEAD', 'TITLE', 'BASE', 'LINK', 'STYLE', 'META', 'SCRIPT', 'NOSCRIPT' ];\njuiceClient.styleToAttribute = {\n 'background-color': 'bgcolor',\n 'background-image': 'background',\n 'text-align': 'align',\n 'vertical-align': 'valign'\n};\njuiceClient.excludedProperties = [];\n\njuiceClient.juiceDocument = juiceDocument;\njuiceClient.inlineDocument = inlineDocument;\n\nfunction inlineDocument($, css, options) {\n\n options = options || {};\n var rules = utils.parseCSS(css);\n var editedElements = [];\n var styleAttributeName = 'style';\n\n if (options.styleAttributeName) {\n styleAttributeName = options.styleAttributeName;\n }\n\n rules.forEach(handleRule);\n editedElements.forEach(setStyleAttrs);\n\n if (options.inlinePseudoElements) {\n editedElements.forEach(inlinePseudoElements);\n }\n\n if (options.applyWidthAttributes) {\n editedElements.forEach(function(el) {\n setDimensionAttrs(el, 'width');\n });\n }\n\n if (options.applyHeightAttributes) {\n editedElements.forEach(function(el) {\n setDimensionAttrs(el, 'height');\n });\n }\n\n if (options.applyAttributesTableElements) {\n editedElements.forEach(setAttributesOnTableElements);\n }\n\n if (options.insertPreservedExtraCss && options.extraCss) {\n var preservedText = utils.getPreservedText(options.extraCss, {\n mediaQueries: options.preserveMediaQueries,\n fontFaces: options.preserveFontFaces,\n keyFrames: options.preserveKeyFrames\n });\n if (preservedText) {\n var $appendTo = null;\n if (options.insertPreservedExtraCss !== true) {\n $appendTo = $(options.insertPreservedExtraCss);\n } else {\n $appendTo = $('head');\n if (!$appendTo.length) { $appendTo = $('body'); }\n if (!$appendTo.length) { $appendTo = $.root(); }\n }\n\n $appendTo.first().append('');\n }\n }\n\n function handleRule(rule) {\n var sel = rule[0];\n var style = rule[1];\n var selector = new utils.Selector(sel);\n var parsedSelector = selector.parsed();\n var pseudoElementType = getPseudoElementType(parsedSelector);\n\n // skip rule if the selector has any pseudos which are ignored\n for (var i = 0; i < parsedSelector.length; ++i) {\n var subSel = parsedSelector[i];\n if (subSel.pseudos) {\n for (var j = 0; j < subSel.pseudos.length; ++j) {\n var subSelPseudo = subSel.pseudos[j];\n if (juiceClient.ignoredPseudos.indexOf(subSelPseudo.name) >= 0) {\n return;\n }\n }\n }\n }\n\n if (pseudoElementType) {\n var last = parsedSelector[parsedSelector.length - 1];\n var pseudos = last.pseudos;\n last.pseudos = filterElementPseudos(last.pseudos);\n sel = parsedSelector.toString();\n last.pseudos = pseudos;\n }\n\n var els;\n try {\n els = $(sel);\n } catch (err) {\n // skip invalid selector\n return;\n }\n\n els.each(function() {\n var el = this;\n\n if (el.name && juiceClient.nonVisualElements.indexOf(el.name.toUpperCase()) >= 0) {\n return;\n }\n\n if (pseudoElementType) {\n var pseudoElPropName = 'pseudo' + pseudoElementType;\n var pseudoEl = el[pseudoElPropName];\n if (!pseudoEl) {\n pseudoEl = el[pseudoElPropName] = $('').get(0);\n pseudoEl.pseudoElementType = pseudoElementType;\n pseudoEl.pseudoElementParent = el;\n el[pseudoElPropName] = pseudoEl;\n }\n el = pseudoEl;\n }\n\n if (!el.styleProps) {\n el.styleProps = {};\n\n // if the element has inline styles, fake selector with topmost specificity\n if ($(el).attr(styleAttributeName)) {\n var cssText = '* { ' + $(el).attr(styleAttributeName) + ' } ';\n addProps(utils.parseCSS(cssText)[0][1], new utils.Selector('